| [4899] | 1 | /* $Id: dcdata.h,v 1.3 2001-01-09 18:14:44 sandervl Exp $ */
 | 
|---|
| [2653] | 2 | /*
 | 
|---|
 | 3 |  * GDI32: public dc data definitions
 | 
|---|
 | 4 |  *
 | 
|---|
 | 5 |  *
 | 
|---|
 | 6 |  * Copyright 1999      Daniela Engert (dani@ngrt.de)
 | 
|---|
 | 7 |  *
 | 
|---|
 | 8 |  *
 | 
|---|
 | 9 |  * Project Odin Software License can be found in LICENSE.TXT
 | 
|---|
 | 10 |  *
 | 
|---|
 | 11 |  */
 | 
|---|
 | 12 | #ifndef __DCDATA_H__
 | 
|---|
 | 13 | #define __DCDATA_H__
 | 
|---|
 | 14 | 
 | 
|---|
 | 15 | enum PS_Type { MICRO_CACHED, MICRO, NORMAL };
 | 
|---|
 | 16 | enum HDC_Type{ TYPE_0, TYPE_1, TYPE_2, TYPE_3, TYPE_4 };
 | 
|---|
 | 17 | 
 | 
|---|
 | 18 | typedef struct _tagXFORM
 | 
|---|
 | 19 | {
 | 
|---|
 | 20 |     FLOAT eM11;
 | 
|---|
 | 21 |     FLOAT eM12;
 | 
|---|
 | 22 |     FLOAT eM21;
 | 
|---|
 | 23 |     FLOAT eM22;
 | 
|---|
 | 24 |     FLOAT eDx;
 | 
|---|
 | 25 |     FLOAT eDy;
 | 
|---|
 | 26 | } XFORM_W, *PXFORM_W, *LPXFORM_W;
 | 
|---|
 | 27 | 
 | 
|---|
| [4899] | 28 | #ifndef USING_OPEN32
 | 
|---|
| [4553] | 29 | #ifndef GPI_INCLUDED
 | 
|---|
 | 30 |    typedef struct _SIZEF
 | 
|---|
 | 31 |    {
 | 
|---|
 | 32 |       FIXED cx;
 | 
|---|
 | 33 |       FIXED cy;
 | 
|---|
 | 34 |    } SIZEF;
 | 
|---|
 | 35 |    typedef SIZEF *PSIZEF;
 | 
|---|
 | 36 | 
 | 
|---|
 | 37 |    typedef struct _MATRIXLF
 | 
|---|
 | 38 |    {
 | 
|---|
 | 39 |       FIXED fxM11;
 | 
|---|
 | 40 |       FIXED fxM12;
 | 
|---|
 | 41 |       LONG  lM13;
 | 
|---|
 | 42 |       FIXED fxM21;
 | 
|---|
 | 43 |       FIXED fxM22;
 | 
|---|
 | 44 |       LONG  lM23;
 | 
|---|
 | 45 |       LONG  lM31;
 | 
|---|
 | 46 |       LONG  lM32;
 | 
|---|
 | 47 |       LONG  lM33;
 | 
|---|
 | 48 |    } MATRIXLF;
 | 
|---|
 | 49 |    typedef MATRIXLF *PMATRIXLF;
 | 
|---|
 | 50 | 
 | 
|---|
 | 51 |    typedef ULONG   HPS;
 | 
|---|
 | 52 | 
 | 
|---|
 | 53 |    typedef struct _CHARBUNDLE
 | 
|---|
 | 54 |    {
 | 
|---|
 | 55 |       LONG      lColor;
 | 
|---|
 | 56 |       LONG      lBackColor;
 | 
|---|
 | 57 |       USHORT    usMixMode;
 | 
|---|
 | 58 |       USHORT    usBackMixMode;
 | 
|---|
 | 59 |       USHORT    usSet;
 | 
|---|
 | 60 |       USHORT    usPrecision;
 | 
|---|
 | 61 |       SIZEF     sizfxCell;
 | 
|---|
 | 62 |       POINTL    ptlAngle;
 | 
|---|
 | 63 |       POINTL    ptlShear;
 | 
|---|
 | 64 |       USHORT    usDirection;
 | 
|---|
 | 65 |       USHORT    usTextAlign;
 | 
|---|
 | 66 |       FIXED     fxExtra;
 | 
|---|
 | 67 |       FIXED     fxBreakExtra;
 | 
|---|
 | 68 |    } CHARBUNDLE;
 | 
|---|
 | 69 |    typedef CHARBUNDLE *PCHARBUNDLE;
 | 
|---|
 | 70 | 
 | 
|---|
 | 71 | #endif
 | 
|---|
 | 72 | 
 | 
|---|
 | 73 | #pragma pack(4)
 | 
|---|
| [2653] | 74 | typedef struct _DCData
 | 
|---|
 | 75 | {
 | 
|---|
 | 76 |    HDC         hdc;
 | 
|---|
 | 77 |    HWND        hwnd;
 | 
|---|
 | 78 |    HPS         hps;
 | 
|---|
 | 79 | 
 | 
|---|
| [4553] | 80 |    UINT        lastBrushKey;
 | 
|---|
| [2653] | 81 |    PVOID       lastBrushObject;
 | 
|---|
| [4553] | 82 |    UINT        lastPenKey;
 | 
|---|
 | 83 |    struct _penobject *lastPenObject;
 | 
|---|
 | 84 |    UINT        lastFontKey;
 | 
|---|
 | 85 |    PVOID       lastFontObject;
 | 
|---|
 | 86 |    UINT        lastBitmapKey;
 | 
|---|
 | 87 |    PVOID       lastBitmapObject;
 | 
|---|
 | 88 |    UINT        lastPaletteKey;
 | 
|---|
 | 89 |    PVOID       lastPaletteObject;
 | 
|---|
 | 90 | 
 | 
|---|
 | 91 |    UINT        nullBitmapHandle;
 | 
|---|
 | 92 | 
 | 
|---|
 | 93 |    COLORREF    BkColor;
 | 
|---|
 | 94 |    COLORREF    TextColor;
 | 
|---|
 | 95 |    ULONG       BkColor_PM;  
 | 
|---|
 | 96 |    ULONG       TextColor_PM;
 | 
|---|
 | 97 | 
 | 
|---|
 | 98 |    int         BkMode;
 | 
|---|
 | 99 |    ULONG       BkMode_PM;
 | 
|---|
 | 100 | 
 | 
|---|
 | 101 |    int         ROP2Mode;
 | 
|---|
 | 102 |    int         ROP2Mode_PM;
 | 
|---|
 | 103 | 
 | 
|---|
 | 104 |    unsigned    isMemoryPS:1;
 | 
|---|
 | 105 |    unsigned    isMetaPS:1;
 | 
|---|
 | 106 |    unsigned    isPrinter:1;
 | 
|---|
 | 107 |    unsigned    isFrameWindow:1;
 | 
|---|
 | 108 |    unsigned    isOD_QUEUED:1;
 | 
|---|
 | 109 |    unsigned    isOD_INFO:1;
 | 
|---|
 | 110 |    unsigned    isClient:1;
 | 
|---|
 | 111 |    unsigned    isClientArea:1;
 | 
|---|
 | 112 |    unsigned    isLeftLeft:1;
 | 
|---|
 | 113 |    unsigned    isTopTop:1;
 | 
|---|
 | 114 |    unsigned    isWideLine:1;
 | 
|---|
 | 115 |    unsigned    alignUpdateCP:1;
 | 
|---|
 | 116 |    unsigned    isCacheable:1;
 | 
|---|
 | 117 |    unsigned    penIsExtPen:1;
 | 
|---|
 | 118 |    unsigned    isValid:1;
 | 
|---|
 | 119 |    unsigned    inPath:1;
 | 
|---|
 | 120 |    unsigned    isStartDoc:1;
 | 
|---|
 | 121 |    unsigned    resetStockFonts:1;
 | 
|---|
 | 122 | #ifdef CUSTOM_CURPOS
 | 
|---|
 | 123 |    unsigned    curPosSet:1;
 | 
|---|
 | 124 | #endif
 | 
|---|
 | 125 |    unsigned    bAttrSet:1;
 | 
|---|
 | 126 |    unsigned    bFirstSet:1;
 | 
|---|
 | 127 |    unsigned    unused:11;
 | 
|---|
 | 128 | 
 | 
|---|
 | 129 |    ULONG       MapMode;
 | 
|---|
 | 130 |    HBITMAP     bitmapHandle;
 | 
|---|
 | 131 |    ULONG       bitmapHeight;
 | 
|---|
 | 132 |    ULONG       bitmapWidth;
 | 
|---|
 | 133 |    HMETAFILE   hMeta;
 | 
|---|
 | 134 |    PVOID       pMetaFileObject;
 | 
|---|
 | 135 |    int         polyFillMode;
 | 
|---|
 | 136 |    int         arcDirection;
 | 
|---|
 | 137 |    int         stretchBltMode;
 | 
|---|
 | 138 |    int         graphicsMode;
 | 
|---|
 | 139 |    HRGN        hrgnHDC;
 | 
|---|
 | 140 | 
 | 
|---|
 | 141 |    PS_Type     psType;
 | 
|---|
 | 142 | 
 | 
|---|
 | 143 |    HDC_Type    hdcType;
 | 
|---|
 | 144 |    USHORT      usUnused;
 | 
|---|
 | 145 |    POINTL      viewportOrg;
 | 
|---|
 | 146 |    double      viewportXExt;
 | 
|---|
 | 147 |    double      viewportYExt;
 | 
|---|
 | 148 |    POINTL      windowOrg;
 | 
|---|
 | 149 |    SIZEL       windowExt;
 | 
|---|
 | 150 |    HRGN        hrgnVis;
 | 
|---|
 | 151 | 
 | 
|---|
 | 152 |    POINTL      ptlOrigin;
 | 
|---|
 | 153 | 
 | 
|---|
 | 154 |    ULONG       printPageHeight;
 | 
|---|
 | 155 |    PVOID       printerObject;
 | 
|---|
 | 156 | 
 | 
|---|
 | 157 |    LONG        taMode;
 | 
|---|
 | 158 |    XFORM_W     xform;
 | 
|---|
 | 159 |    INT         worldYDeltaFor1Pixel;
 | 
|---|
 | 160 |    INT         worldXDeltaFor1Pixel;
 | 
|---|
 | 161 |    ULONG       colorMode;
 | 
|---|
 | 162 |    PULONG      pLogColorTable;
 | 
|---|
 | 163 | 
 | 
|---|
 | 164 |    ULONG       lcidBitfield;
 | 
|---|
 | 165 |    HWND        hwndRealize;
 | 
|---|
 | 166 |    ULONG       cpeMap;
 | 
|---|
 | 167 |    LONG        lTechnology;
 | 
|---|
 | 168 |    LONG        lWndXExtSave, lWndYExtSave,
 | 
|---|
 | 169 |                lVwpXExtSave, lVwpYExtSave;
 | 
|---|
 | 170 |    int         height;
 | 
|---|
 | 171 |    POINTL      brushOrgPoint;
 | 
|---|
 | 172 |    PVOID       pEnhMetaPalette;
 | 
|---|
 | 173 |    ABORTPROC   lpAbortProc;
 | 
|---|
 | 174 |    ULONG       HPStoHDCInversionHeight;
 | 
|---|
 | 175 |    int         saveLevel;
 | 
|---|
 | 176 |    CHARBUNDLE  CBundle;
 | 
|---|
 | 177 |    CHARBUNDLE  CSetBundle;
 | 
|---|
 | 178 |    ULONG       ulCharMask;
 | 
|---|
 | 179 |    ULONG       ulDefCharMask;
 | 
|---|
 | 180 | #ifdef CUSTOM_CURPOS
 | 
|---|
 | 181 |    POINTL      curPos;
 | 
|---|
 | 182 | #endif
 | 
|---|
 | 183 |    MATRIXLF    defView;
 | 
|---|
 | 184 |    int         yInvert;
 | 
|---|
 | 185 |    int         yInvert4Enable;
 | 
|---|
 | 186 |    struct      _DCData *nextHPS_HDC;
 | 
|---|
 | 187 | } tDCData, *pDCData;
 | 
|---|
 | 188 | #pragma pack()
 | 
|---|
 | 189 | #else
 | 
|---|
 | 190 | 
 | 
|---|
 | 191 | #ifndef GPI_INCLUDED
 | 
|---|
 | 192 |    typedef struct _SIZEF
 | 
|---|
 | 193 |    {
 | 
|---|
 | 194 |       FIXED cx;
 | 
|---|
 | 195 |       FIXED cy;
 | 
|---|
 | 196 |    } SIZEF;
 | 
|---|
 | 197 |    typedef SIZEF *PSIZEF;
 | 
|---|
 | 198 | 
 | 
|---|
 | 199 |    typedef struct _MATRIXLF
 | 
|---|
 | 200 |    {
 | 
|---|
 | 201 |       FIXED fxM11;
 | 
|---|
 | 202 |       FIXED fxM12;
 | 
|---|
 | 203 |       LONG  lM13;
 | 
|---|
 | 204 |       FIXED fxM21;
 | 
|---|
 | 205 |       FIXED fxM22;
 | 
|---|
 | 206 |       LONG  lM23;
 | 
|---|
 | 207 |       LONG  lM31;
 | 
|---|
 | 208 |       LONG  lM32;
 | 
|---|
 | 209 |       LONG  lM33;
 | 
|---|
 | 210 |    } MATRIXLF;
 | 
|---|
 | 211 |    typedef MATRIXLF *PMATRIXLF;
 | 
|---|
 | 212 | 
 | 
|---|
 | 213 |    typedef ULONG   HPS;
 | 
|---|
 | 214 | #endif
 | 
|---|
 | 215 | 
 | 
|---|
 | 216 | typedef struct _DCData
 | 
|---|
 | 217 | {
 | 
|---|
 | 218 |    HDC         hdc;
 | 
|---|
 | 219 |    HWND        hwnd;
 | 
|---|
 | 220 |    HPS         hps;
 | 
|---|
 | 221 | 
 | 
|---|
 | 222 |    UINT        lastBrushKey;
 | 
|---|
 | 223 |    PVOID       lastBrushObject;
 | 
|---|
| [2653] | 224 |    UINT        lastPenHandle;
 | 
|---|
 | 225 |    struct _penobject *lastPenObject;
 | 
|---|
 | 226 |    UINT        lastFontHandle;
 | 
|---|
 | 227 |    PVOID       lastFontObject;
 | 
|---|
 | 228 |    UINT        lastBitmapHandle;
 | 
|---|
 | 229 |    PVOID       lastBitmapObject;
 | 
|---|
 | 230 |    UINT        lastPaletteHandle;
 | 
|---|
 | 231 |    PVOID       lastPaletteObject;
 | 
|---|
 | 232 | 
 | 
|---|
 | 233 |    UINT        nullBitmapHandle;
 | 
|---|
 | 234 | 
 | 
|---|
 | 235 |    ULONG       BkColor;
 | 
|---|
 | 236 |    ULONG       TextColor;
 | 
|---|
 | 237 |    ULONG       BkColor_PM;
 | 
|---|
 | 238 |    ULONG       TextColor_PM;
 | 
|---|
 | 239 | 
 | 
|---|
 | 240 |    int         BkMode;
 | 
|---|
 | 241 |    ULONG       BkMode_PM;
 | 
|---|
 | 242 | 
 | 
|---|
 | 243 |    int         ROP2Mode;
 | 
|---|
 | 244 |    int         ROP2Mode_PM;
 | 
|---|
 | 245 | 
 | 
|---|
 | 246 |    unsigned    isMemoryPS:1;
 | 
|---|
 | 247 |    unsigned    isMetaPS:1;
 | 
|---|
 | 248 |    unsigned    isPrinter:1;
 | 
|---|
 | 249 |    unsigned    isFrameWindow:1;
 | 
|---|
 | 250 |    unsigned    isOD_QUEUED:1;
 | 
|---|
 | 251 |    unsigned    isOD_INFO:1;
 | 
|---|
 | 252 |    unsigned    isClient:1;
 | 
|---|
 | 253 |    unsigned    isClientArea:1;
 | 
|---|
 | 254 |    unsigned    isLeftLeft:1;
 | 
|---|
 | 255 |    unsigned    isTopTop:1;
 | 
|---|
 | 256 |    unsigned    isWideLine:1;
 | 
|---|
 | 257 |    unsigned    alignUpdateCP:1;
 | 
|---|
 | 258 |    unsigned    isCacheable:1;
 | 
|---|
 | 259 |    unsigned    penIsExtPen:1;
 | 
|---|
 | 260 |    unsigned    isValid:1;
 | 
|---|
 | 261 |    unsigned    inPath:1;
 | 
|---|
 | 262 |    unsigned    isStartDoc:1;
 | 
|---|
 | 263 |    unsigned    resetStockFonts:1;
 | 
|---|
 | 264 |    unsigned    unused:14;
 | 
|---|
 | 265 | 
 | 
|---|
 | 266 |    ULONG       MapMode;
 | 
|---|
 | 267 |    HBITMAP     bitmapHandle;
 | 
|---|
 | 268 |    ULONG       bitmapHeight;
 | 
|---|
 | 269 |    ULONG       bitmapWidth;
 | 
|---|
 | 270 |    ULONG       hMeta;
 | 
|---|
 | 271 |    PVOID       pMetaFileObject;
 | 
|---|
 | 272 |    int         polyFillMode;
 | 
|---|
 | 273 |    int         arcDirection;
 | 
|---|
 | 274 |    int         stretchBltMode;
 | 
|---|
 | 275 |    int         graphicsMode;
 | 
|---|
 | 276 |    HRGN        hrgnHDC;
 | 
|---|
 | 277 | 
 | 
|---|
 | 278 |    PS_Type     psType;
 | 
|---|
 | 279 | 
 | 
|---|
 | 280 |    HDC_Type    hdcType;
 | 
|---|
 | 281 |    USHORT      usFiller;
 | 
|---|
 | 282 |    POINTL      viewportOrg;
 | 
|---|
 | 283 |    double      viewportXExt;
 | 
|---|
 | 284 |    double      viewportYExt;
 | 
|---|
 | 285 |    POINTL      windowOrg;
 | 
|---|
 | 286 |    SIZEL       windowExt;
 | 
|---|
 | 287 |    HRGN        hrgnVis;
 | 
|---|
 | 288 |    POINTL      ptlOrigin;
 | 
|---|
 | 289 |    ULONG       printPageHeight;
 | 
|---|
 | 290 |    PVOID       printerObject;
 | 
|---|
 | 291 | 
 | 
|---|
 | 292 |    LONG        taMode;
 | 
|---|
 | 293 |    XFORM_W     xform;
 | 
|---|
 | 294 | 
 | 
|---|
 | 295 |    INT         worldYDeltaFor1Pixel;
 | 
|---|
 | 296 |    INT         worldXDeltaFor1Pixel;
 | 
|---|
 | 297 |    ULONG       colorMode;
 | 
|---|
 | 298 |    PULONG      pLogColorTable;
 | 
|---|
 | 299 | 
 | 
|---|
 | 300 |    ULONG       lcidBitfield;
 | 
|---|
 | 301 | 
 | 
|---|
 | 302 |    HWND        hwndRealize;
 | 
|---|
 | 303 |    ULONG       cpeMap;
 | 
|---|
 | 304 | 
 | 
|---|
 | 305 |    LONG        lTechnology;
 | 
|---|
 | 306 | 
 | 
|---|
 | 307 |    LONG        lWndXExtSave, lWndYExtSave,
 | 
|---|
 | 308 |                lVwpXExtSave, lVwpYExtSave;
 | 
|---|
 | 309 | 
 | 
|---|
 | 310 |    int         height;
 | 
|---|
 | 311 | 
 | 
|---|
 | 312 |    POINTL      brushOrgPoint;
 | 
|---|
 | 313 | 
 | 
|---|
 | 314 |    PVOID       pEnhMetaPalette;
 | 
|---|
 | 315 |    PVOID       lpAbortProc;
 | 
|---|
 | 316 |    ULONG       HPStoHDCInversionHeight;
 | 
|---|
 | 317 | 
 | 
|---|
 | 318 |    int         saveLevel;
 | 
|---|
 | 319 | 
 | 
|---|
 | 320 |    struct      _DCData *nextDCData;
 | 
|---|
 | 321 | } tDCData, *pDCData;
 | 
|---|
| [4553] | 322 | #endif
 | 
|---|
| [2653] | 323 | 
 | 
|---|
 | 324 | #endif //__DCDATA_H__
 | 
|---|