X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/dcmemory.h?ds=sidebyside diff --git a/interface/wx/dcmemory.h b/interface/wx/dcmemory.h index e1e6a998eb..33691620ea 100644 --- a/interface/wx/dcmemory.h +++ b/interface/wx/dcmemory.h @@ -2,13 +2,11 @@ // Name: dcmemory.h // Purpose: interface of wxMemoryDC // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxMemoryDC - @wxheader{dcmemory.h} A memory device context provides a means to draw graphics onto a bitmap. When drawing in to a mono-bitmap, using @c wxWHITE, @c wxWHITE_PEN and @@ -51,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); @@ -70,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() */ @@ -89,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.