]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dc.h
fixes to my previous errors in stack/vector (patch 439378)
[wxWidgets.git] / include / wx / dc.h
index 7ca8eb3b769ceb1562ab9d601439c45421e66b62..b856ef7f8327506cece2cd7907dc41378af6c6d6 100644 (file)
@@ -721,7 +721,7 @@ protected:
     wxPalette         m_palette;
 
 private:
-    DECLARE_NO_COPY_CLASS(wxDCBase);
+    DECLARE_NO_COPY_CLASS(wxDCBase)
     DECLARE_ABSTRACT_CLASS(wxDCBase)
 };
 
@@ -776,5 +776,24 @@ private:
     wxColour m_colFgOld;
 };
 
+// ----------------------------------------------------------------------------
+// another small helper class: sets the clipping region in its ctor and
+// destroys it in the dtor
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxDCClipper
+{
+public:
+    wxDCClipper(wxDC& dc, const wxRect& r) : m_dc(dc)
+        { dc.SetClippingRegion(r.x, r.y, r.width, r.height); }
+    wxDCClipper(wxDC& dc, wxCoord x, wxCoord y, wxCoord w, wxCoord h) : m_dc(dc)
+        { dc.SetClippingRegion(x, y, w, h); }
+
+    ~wxDCClipper() { m_dc.DestroyClippingRegion(); }
+
+private:
+    wxDC& m_dc;
+};
+
 #endif
     // _WX_DC_H_BASE_