X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/dcmemory.h?ds=sidebyside diff --git a/interface/wx/dcmemory.h b/interface/wx/dcmemory.h index 1becbf0cda..33691620ea 100644 --- a/interface/wx/dcmemory.h +++ b/interface/wx/dcmemory.h @@ -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.