source: trunk/include/dcdata.h@ 5120

Last change on this file since 5120 was 4899, checked in by sandervl, 25 years ago

WGSS50 update

File size: 6.9 KB
RevLine 
[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
15enum PS_Type { MICRO_CACHED, MICRO, NORMAL };
16enum HDC_Type{ TYPE_0, TYPE_1, TYPE_2, TYPE_3, TYPE_4 };
17
18typedef 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]74typedef 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
216typedef 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__
Note: See TracBrowser for help on using the repository browser.