There is a distinction between logical units and device units. Device units are the units native to the particular device—for a screen, a device unit is a pixel. For a printer, the device unit is defined by the resolution of the printer, which can be queried using GetSize (for a page size in device units) or GetSizeMM (for a page size in millimeters).
The mapping mode of the device context defines the unit of measurement used to convert logical units to device units. Note that some device contexts, in particular wxPostScriptDC, do not support mapping modes other than wxMM_TEXT. Table 5-1 lists the available mapping modes.
Table 5-1. Mapping Modes
wxMM_TWIPS
Each logical unit is 1/20 of a point, or 1/1440 of an inch.
wxMM_POINTS
Each logical unit is a point, or 1/72 of an inch.
wxMM_METRIC
Each logical unit is 1 millimeter.
wxMM_LOMETRIC
Each logical unit is 1/10 of a millimeter.
wxMM_TEXT
Each logical unit is 1 pixel. This is the default mode.
You can impose a further scale on your logical units by calling SetUser Scale, which multiplies with the scale implied by the mapping mode. For example, in wxMM_TEXT mode, a user scale value of (1.0, 1.0) makes logical and device units identical. By default, the mapping mode is wxMM_TEXT, and the scale is (1.0, 1.0).