]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dcmemory.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / dcmemory.h
index 1becbf0cda5bb93c62ad6ca9ac2450125a9d2bd9..33691620ea3aa11bcbb058610ce1c0b3a32d1405 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        dcmemory.h
 // Purpose:     interface of wxMemoryDC
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -50,16 +49,28 @@ public:
     /**
         Constructs a new memory device context.
 
-        Use the wxDC::Ok() member to test whether the constructor was
+        Use the wxDC::IsOk() member to test whether the constructor was
         successful in creating a usable device context. Don't forget to select
         a bitmap into the DC before drawing on it.
     */
     wxMemoryDC();
+
+    /**
+        Constructs a new memory device context having the same characteristics
+        as the given existing device context.
+
+        This constructor creates a memory device context @e compatible with @a
+        dc in wxMSW, the argument is ignored in the other ports. If @a dc is
+        @NULL, a device context compatible with the screen is created, just as
+        with the default constructor.
+     */
+    wxMemoryDC(wxDC *dc);
+
     /**
         Constructs a new memory device context and calls SelectObject() with
         the given bitmap.
 
-        Use the wxDC::Ok() member to test whether the constructor was
+        Use the wxDC::IsOk() member to test whether the constructor was
         successful in creating a usable device context.
     */
     wxMemoryDC(wxBitmap& bitmap);
@@ -69,13 +80,17 @@ public:
         should use when you select a bitmap because you want to modify it, e.g.
         drawing on this DC.
 
-        Using SelectObjectAsSource() when modifying the bitmap may incurr some
+        Using SelectObjectAsSource() when modifying the bitmap may incur some
         problems related to wxBitmap being a reference counted object (see
         @ref overview_refcount).
 
-        Also, before using the updated bitmap data, make sure to select it out
-        of context first (for example by selecting wxNullBitmap into the device
-        context).
+        Before using the updated bitmap data, make sure to select it out of
+        context first either by selecting ::wxNullBitmap into the device
+        context or destroying the device context entirely.
+
+        If the bitmap is already selected in this device context, nothing is
+        done. If it is selected in another context, the function asserts and
+        drawing on the bitmap won't work correctly.
 
         @see wxDC::DrawBitmap()
     */
@@ -88,7 +103,7 @@ public:
         the bitmap to a window. For this purpose, you may find wxDC::DrawIcon()
         easier to use instead.
 
-        If the argument is wxNullBitmap (or some other uninitialised wxBitmap)
+        If the argument is ::wxNullBitmap (or some other uninitialised wxBitmap)
         the current bitmap is selected out of the device context, and the
         original bitmap restored, allowing the current bitmap to be destroyed
         safely.