// Name: dcmemory.h
// Purpose: interface of wxMemoryDC
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
/**
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);
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()
*/
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.