+#if wxUSE_GRAPHICS_CONTEXT
+class WXDLLIMPEXP_FWD_CORE wxGraphicsContext;
+#endif
+
+// Logical ops
+enum wxRasterOperationMode
+{
+ wxCLEAR, // 0
+ wxXOR, // src XOR dst
+ wxINVERT, // NOT dst
+ wxOR_REVERSE, // src OR (NOT dst)
+ wxAND_REVERSE, // src AND (NOT dst)
+ wxCOPY, // src
+ wxAND, // src AND dst
+ wxAND_INVERT, // (NOT src) AND dst
+ wxNO_OP, // dst
+ wxNOR, // (NOT src) AND (NOT dst)
+ wxEQUIV, // (NOT src) XOR dst
+ wxSRC_INVERT, // (NOT src)
+ wxOR_INVERT, // (NOT src) OR dst
+ wxNAND, // (NOT src) OR (NOT dst)
+ wxOR, // src OR dst
+ wxSET // 1
+#if WXWIN_COMPATIBILITY_2_8
+ ,wxROP_BLACK = wxCLEAR,
+ wxBLIT_BLACKNESS = wxCLEAR,
+ wxROP_XORPEN = wxXOR,
+ wxBLIT_SRCINVERT = wxXOR,
+ wxROP_NOT = wxINVERT,
+ wxBLIT_DSTINVERT = wxINVERT,
+ wxROP_MERGEPENNOT = wxOR_REVERSE,
+ wxBLIT_00DD0228 = wxOR_REVERSE,
+ wxROP_MASKPENNOT = wxAND_REVERSE,
+ wxBLIT_SRCERASE = wxAND_REVERSE,
+ wxROP_COPYPEN = wxCOPY,
+ wxBLIT_SRCCOPY = wxCOPY,
+ wxROP_MASKPEN = wxAND,
+ wxBLIT_SRCAND = wxAND,
+ wxROP_MASKNOTPEN = wxAND_INVERT,
+ wxBLIT_00220326 = wxAND_INVERT,
+ wxROP_NOP = wxNO_OP,
+ wxBLIT_00AA0029 = wxNO_OP,
+ wxROP_NOTMERGEPEN = wxNOR,
+ wxBLIT_NOTSRCERASE = wxNOR,
+ wxROP_NOTXORPEN = wxEQUIV,
+ wxBLIT_00990066 = wxEQUIV,
+ wxROP_NOTCOPYPEN = wxSRC_INVERT,
+ wxBLIT_NOTSCRCOPY = wxSRC_INVERT,
+ wxROP_MERGENOTPEN = wxOR_INVERT,
+ wxBLIT_MERGEPAINT = wxOR_INVERT,
+ wxROP_NOTMASKPEN = wxNAND,
+ wxBLIT_007700E6 = wxNAND,
+ wxROP_MERGEPEN = wxOR,
+ wxBLIT_SRCPAINT = wxOR,
+ wxROP_WHITE = wxSET,
+ wxBLIT_WHITENESS = wxSET
+#endif //WXWIN_COMPATIBILITY_2_8
+};
+
+// Flood styles
+enum wxFloodFillStyle
+{
+ wxFLOOD_SURFACE = 1,
+ wxFLOOD_BORDER
+};
+
+// Mapping modes
+enum wxMappingMode
+{
+ wxMM_TEXT = 1,
+ wxMM_METRIC,
+ wxMM_LOMETRIC,
+ wxMM_TWIPS,
+ wxMM_POINTS
+};
+
+// Description of text characteristics.
+struct wxFontMetrics
+{
+ wxFontMetrics()
+ {
+ height =
+ ascent =
+ descent =
+ internalLeading =
+ externalLeading =
+ averageWidth = 0;
+ }
+
+ int height, // Total character height.
+ ascent, // Part of the height above the baseline.
+ descent, // Part of the height below the baseline.
+ internalLeading, // Intra-line spacing.
+ externalLeading, // Inter-line spacing.
+ averageWidth; // Average font width, a.k.a. "x-width".
+};
+
+#if WXWIN_COMPATIBILITY_2_8
+