1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _WINGDI_ 25 #define _WINGDI_ 26 27 typedef struct tagPOINT 28 { 29 LONG x; 30 LONG y; 31 } POINT, *PPOINT, *LPPOINT; 32 33 34 typedef unsigned long DWORD; 35 typedef unsigned short WORD; 36 typedef struct 37 { 38 WORD fract; 39 SHORT value; 40 } W32FIXED; 41 42 typedef struct tagPOINTFX 43 { 44 W32FIXED x; 45 W32FIXED y; 46 } POINTFX, *LPPOINTFX; 47 48 typedef struct tagTTPOLYCURVE 49 { 50 WORD wType; 51 WORD cpfx; 52 POINTFX apfx[1]; 53 } TTPOLYCURVE, *LPTTPOLYCURVE; 54 55 typedef struct tagTTPOLYGONHEADER 56 { 57 DWORD cb; 58 DWORD dwType; 59 POINTFX pfxStart; 60 } TTPOLYGONHEADER, *LPTTPOLYGONHEADER; 61 62 typedef struct 63 { 64 UINT gmBlackBoxX; 65 UINT gmBlackBoxY; 66 POINT gmptGlyphOrigin; 67 SHORT gmCellIncX; 68 SHORT gmCellIncY; 69 } GLYPHMETRICS, *LPGLYPHMETRICS; 70 71 #define GGO_METRICS 0 72 #define GGO_BITMAP 1 73 #define GGO_NATIVE 2 74 #define GGO_BEZIER 3 75 #define GGO_GRAY2_BITMAP 4 76 #define GGO_GRAY4_BITMAP 5 77 #define GGO_GRAY8_BITMAP 6 78 #define GGO_GLYPH_INDEX 0x80 79 80 #define TT_PRIM_LINE 1 81 #define TT_PRIM_QSPLINE 2 82 #define TT_PRIM_CSPLINE 3 83 #define TT_POLYGON_TYPE 24 84 85 typedef struct 86 { 87 W32FIXED eM11; 88 W32FIXED eM12; 89 W32FIXED eM21; 90 W32FIXED eM22; 91 } MAT2, *LPMAT2; 92 93 #endif // _WINGDI_ 94