1 #ifndef _WINGDI_ 2 #define _WINGDI_ 3 4 typedef struct tagPOINT 5 { 6 LONG x; 7 LONG y; 8 } POINT, *PPOINT, *LPPOINT; 9 10 11 typedef unsigned long DWORD; 12 typedef unsigned short WORD; 13 typedef struct 14 { 15 WORD fract; 16 SHORT value; 17 } W32FIXED; 18 19 typedef struct tagPOINTFX 20 { 21 W32FIXED x; 22 W32FIXED y; 23 } POINTFX, *LPPOINTFX; 24 25 typedef struct tagTTPOLYCURVE 26 { 27 WORD wType; 28 WORD cpfx; 29 POINTFX apfx[1]; 30 } TTPOLYCURVE, *LPTTPOLYCURVE; 31 32 typedef struct tagTTPOLYGONHEADER 33 { 34 DWORD cb; 35 DWORD dwType; 36 POINTFX pfxStart; 37 } TTPOLYGONHEADER, *LPTTPOLYGONHEADER; 38 39 typedef struct 40 { 41 UINT gmBlackBoxX; 42 UINT gmBlackBoxY; 43 POINT gmptGlyphOrigin; 44 SHORT gmCellIncX; 45 SHORT gmCellIncY; 46 } GLYPHMETRICS, *LPGLYPHMETRICS; 47 48 #define GGO_METRICS 0 49 #define GGO_BITMAP 1 50 #define GGO_NATIVE 2 51 #define GGO_BEZIER 3 52 #define GGO_GRAY2_BITMAP 4 53 #define GGO_GRAY4_BITMAP 5 54 #define GGO_GRAY8_BITMAP 6 55 #define GGO_GLYPH_INDEX 0x80 56 57 #define TT_PRIM_LINE 1 58 #define TT_PRIM_QSPLINE 2 59 #define TT_PRIM_CSPLINE 3 60 #define TT_POLYGON_TYPE 24 61 62 typedef struct 63 { 64 W32FIXED eM11; 65 W32FIXED eM12; 66 W32FIXED eM21; 67 W32FIXED eM22; 68 } MAT2, *LPMAT2; 69 70 #endif // _WINGDI_ 71