Classes: wxDC, wxPostScriptDC, wxMetaFileDC, wxMemoryDC, wxPrinterDC, wxScreenDC.
A wxDC is a device context onto which graphics and text can be drawn. It is intended to represent a number of output devices in a generic way, so a canvas has a device context and a printer also has a device context. In this way, the same piece of code may write to a number of different devices, if the device context is used as a parameter.
To determine whether a device context is colour or monochrome, test the Colour Bool member variable. To override wxWindows monochrome graphics drawing behaviour, set this member to TRUE.
wxDC is abstract and cannot be used to create device context objects. Instead, use a derived class. wxCanvasDC is a context that cannot be created by the user but can be retrieved from a wxCanvas by using wxCanvas::GetDC.
When writing code to draw into a device context, use wxDC as a parameter whenever possible, to allow the most general use of your drawing code. You can then pass a device context object of any derived type. See the demo in samples/hello for code which uses this device-independent method of drawing.