ReactOS
0.4.16-dev-38-g96c65e9
ntgdihdl.h
Go to the documentation of this file.
1
/*
2
* COPYRIGHT: See COPYING in the top level directory
3
* PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K)
4
* FILE: win32ss/include/ntgdihdl.h
5
* PURPOSE: Win32 Shared GDI Handle/Object Types
6
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7
*/
8
9
/* INCLUDES ******************************************************************/
10
11
#ifndef _NTGDIHDL_
12
#define _NTGDIHDL_
13
14
#include <
winddi.h
>
15
16
/* DEFINES *******************************************************************/
17
18
/* GDI handle table can hold 0x10000 handles */
19
#define GDI_HANDLE_COUNT 0x10000
20
#define GDI_CFONT_MAX 16
21
22
/* Handle Masks and shifts */
23
#define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
24
#define GDI_HANDLE_TYPE_MASK 0x007f0000
25
#define GDI_HANDLE_BASETYPE_MASK 0x001f0000
26
#define GDI_HANDLE_EXTYPE_MASK 0x00600000
27
#define GDI_HANDLE_STOCK_MASK 0x00800000
28
#define GDI_HANDLE_REUSE_MASK 0xff000000
29
#define GDI_HANDLE_UPPER_MASK (GDI_HANDLE_TYPE_MASK|GDI_HANDLE_STOCK_MASK|GDI_HANDLE_REUSE_MASK)
30
#define GDI_HANDLE_REUSECNT_SHIFT 24
31
#define GDI_HANDLE_BASETYPE_SHIFT 16
32
33
#define GDI_ENTRY_STOCK_MASK 0x00000080
34
#define GDI_ENTRY_BASETYPE_MASK 0x001f0000
35
#define GDI_ENTRY_UPPER_SHIFT 16
36
37
/* GDI Entry Flags */
38
#define GDI_ENTRY_UNDELETABLE 1
/* Mark Object as nonremovable */
39
#define GDI_ENTRY_DELETING 2
/* Used when deleting Font Objects */
40
#define GDI_ENTRY_VALIDATE_VIS 4
/* Validating Visible region data */
41
#define GDI_ENTRY_ALLOCATE_LAL 0x80
/* Object Allocated with Look aside List */
42
49
#define GDI_OBJECT_TYPE_DC 0x00010000
50
#define GDI_OBJECT_TYPE_DD_SURFACE 0x00030000
/* Should be moved away from gdi objects */
51
#define GDI_OBJECT_TYPE_REGION 0x00040000
52
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
53
#define GDI_OBJECT_TYPE_CLIOBJ 0x00060000
54
#define GDI_OBJECT_TYPE_PATH 0x00070000
55
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
56
#define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
57
#define GDI_OBJECT_TYPE_FONT 0x000a0000
58
59
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
60
#define GDI_OBJECT_TYPE_DD_VIDEOPORT 0x00120000
/* Should be moved away from gdi objects */
61
#define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00140000
/* Should be moved away from gdi objects */
62
#define GDI_OBJECT_TYPE_ENUMFONT 0x00160000
63
#define GDI_OBJECT_TYPE_DRIVEROBJ 0x001C0000
64
65
/* Confrim on XP value is taken from NtGdiCreateDirectDrawObject */
66
#define GDI_OBJECT_TYPE_DIRECTDRAW 0x00200000
67
68
/* Following object types are derived types from the above base types
69
use 0x001f0000 as mask to get the base type */
70
#define GDI_OBJECT_TYPE_EMF 0x00210000
71
72
#define GDI_OBJECT_TYPE_METAFILE 0x00260000
73
#define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
74
#define GDI_OBJECT_TYPE_PEN 0x00300000
75
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
76
#define GDI_OBJECT_TYPE_METADC 0x00660000
77
/*#define GDI_OBJECT_TYPE_DD_PALETTE 0x00630000 unused at the moment, other value required */
78
/*#define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000 unused at the moment, other value required */
79
80
/* Following object types made up for ROS */
81
#define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
83
#define GDI_OBJECT_TYPE_SILENT 0x80000000
86
/* Handle macros */
87
#define GDI_HANDLE_CREATE(i, t) \
88
((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) & GDI_HANDLE_TYPE_MASK)))
89
90
#define GDI_HANDLE_GET_INDEX(h) \
91
(((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
92
93
#define GDI_HANDLE_GET_TYPE(h) \
94
(((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
95
96
#define GDI_HANDLE_IS_TYPE(h, t) \
97
((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))
98
99
#define GDI_HANDLE_IS_STOCKOBJ(h) \
100
(0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))
101
102
#define GDI_HANDLE_SET_STOCKOBJ(h) \
103
((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))
104
105
#define GDI_HANDLE_GET_UPPER(h) \
106
(((ULONG_PTR)(h)) & GDI_HANDLE_UPPER_MASK)
107
108
#define GDI_HANDLE_GET_REUSECNT(h) \
109
(((ULONG_PTR)(h)) >> GDI_HANDLE_REUSECNT_SHIFT)
110
111
#define GDI_OBJECT_GET_TYPE_INDEX(t) \
112
((t & GDI_HANDLE_BASETYPE_MASK) >> GDI_HANDLE_BASETYPE_SHIFT)
113
114
/* Gdi Object Handle Management Pid lock masking sets. */
115
/* Ref: used with DxEngSetDCOwner */
116
#define GDI_OBJ_HMGR_PUBLIC 0
/* Public owner, Open access? */
117
#define GDI_OBJ_HMGR_POWNED 0x80000002
/* Set to current owner. */
118
#define GDI_OBJ_HMGR_NONE 0x80000012
/* No owner, Open access? */
119
#define GDI_OBJ_HMGR_RESTRICTED 0x80000022
/* Restricted? */
120
121
122
/* DC_ATTR Dirty Flags */
123
#define DIRTY_FILL 0x00000001
124
#define DIRTY_LINE 0x00000002
125
#define DIRTY_TEXT 0x00000004
126
#define DIRTY_BACKGROUND 0x00000008
127
#define DIRTY_CHARSET 0x00000010
128
#define SLOW_WIDTHS 0x00000020
129
#define DC_CACHED_TM_VALID 0x00000040
130
#define DISPLAY_DC 0x00000080
131
#define DIRTY_PTLCURRENT 0x00000100
132
#define DIRTY_PTFXCURRENT 0x00000200
133
#define DIRTY_STYLESTATE 0x00000400
134
#define DC_PLAYMETAFILE 0x00000800
135
#define DC_BRUSH_DIRTY 0x00001000
136
#define DC_PEN_DIRTY 0x00002000
137
#define DC_DIBSECTION 0x00004000
138
#define DC_LAST_CLIPRGN_VALID 0x00008000
139
#define DC_PRIMARY_DISPLAY 0x00010000
140
#define DC_ICM_NOT_CALIBRATED 0x00020000
141
#define DC_ICM_BRUSH_DIRTY 0x00040000
142
#define DC_ICM_PEN_DIRTY 0x00080000
143
#define DC_ICM_NOT_SET 0x00100000
144
#define DC_MODE_DIRTY 0x00200000
145
#define DC_FONTTEXT_DIRTY 0x00400000
146
147
/* DC_ATTR LCD Flags */
148
#define LDC_LDC 0x00000001
/* (init) local DC other than a normal DC */
149
#define LDC_EMFLDC 0x00000002
/* Enhance Meta File local DC */
150
#define LDC_SAPCALLBACK 0x00000020
151
#define LDC_INIT_DOCUMENT 0x00000040
152
#define LDC_INIT_PAGE 0x00000080
153
#define LDC_STARTPAGE 0x00000100
154
#define LDC_NEXTBAND 0x00000200
155
#define LDC_FONTHASH 0x00001000
156
#define LDC_CLOCKWISE 0x00002000
157
#define LDC_NEWFONT 0x00008000
158
#define LDC_KILL_DOCUMENT 0x00010000
159
#define LDC_META_PRINT 0x00020000
160
#define LDC_DIRECT 0x00040000
161
#define LDC_RESET_BANDING 0x00080000
162
#define LDC_DOWNLOADFONTS 0x00100000
163
#define LDC_RESETDC 0x00200000
164
#define LDC_UFIMAP 0x00400000
165
#define LDC_INFODC 0x01000000
/* If CreateIC was passed. */
166
#define LDC_DEVCAPS 0x02000000
167
#define LDC_XPS_PASS 0x08000000
// Guessing, not sure.
168
#define LDC_ATENDPAGE 0x10000000
169
#define LDC_COLORPAGE 0x20000000
170
171
#define UFIHASHTABLESIZE 64
172
173
/* DC_ATTR Xform Flags */
174
#define METAFILE_TO_WORLD_IDENTITY 0x00000001
175
#define WORLD_TO_PAGE_IDENTITY 0x00000002
176
#define DEVICE_TO_PAGE_INVALID 0x00000008
177
#define DEVICE_TO_WORLD_INVALID 0x00000010
178
#define WORLD_TRANSFORM_SET 0x00000020
179
#define POSITIVE_Y_IS_UP 0x00000040
180
#define INVALIDATE_ATTRIBUTES 0x00000080
181
#define PTOD_EFM11_NEGATIVE 0x00000100
182
#define PTOD_EFM22_NEGATIVE 0x00000200
183
#define ISO_OR_ANISO_MAP_MODE 0x00000400
184
#define PAGE_TO_DEVICE_IDENTITY 0x00000800
185
#define PAGE_TO_DEVICE_SCALE_IDENTITY 0x00001000
186
#define PAGE_XLATE_CHANGED 0x00002000
187
#define PAGE_EXTENTS_CHANGED 0x00004000
188
#define WORLD_XFORM_CHANGED 0x00008000
189
190
/* BRUSH/RGN_ATTR Flags */
191
#define ATTR_CACHED 0x00000001
192
#define ATTR_TO_BE_DELETED 0x00000002
193
#define ATTR_NEW_COLOR 0x00000004
194
#define ATTR_CANT_SELECT 0x00000008
195
#define ATTR_RGN_VALID 0x00000010
196
#define ATTR_RGN_DIRTY 0x00000020
197
198
/* Set/Clear Bitmap/Brush Stock Attribute */
199
#define SC_BB_STOCKOBJ 1
200
201
/* TYPES *********************************************************************/
202
203
typedef
struct
_GDI_TABLE_ENTRY
204
{
205
PVOID
KernelData
;
/* Points to the kernel mode structure */
206
DWORD
ProcessId
;
/* process id that created the object, 0 for stock objects */
207
union
{
/* temp union structure. */
208
LONG
Type
;
/* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
209
struct
{
210
USHORT
FullUnique
;
/* unique */
211
UCHAR
ObjectType
;
/* objt */
212
UCHAR
Flags
;
/* Flags */
213
};};
214
PVOID
UserData
;
/* pUser Points to the user mode structure, usually NULL though */
215
}
GDI_TABLE_ENTRY
, *
PGDI_TABLE_ENTRY
;
216
217
typedef
struct
_ENTRY
218
{
219
union
_EINFO
220
{
221
struct
_BASEOBJECT
*
pobj
;
222
HGDIOBJ
hFree
;
223
}
einfo
;
224
225
union
_OBJECTOWNER
226
{
227
struct
_OBJECTOWNER_S
228
{
229
unsigned
Lock
:1;
230
unsigned
Pid_Shifted
:31;
231
}
Share
;
232
ULONG
ulObj
;
233
}
ObjectOwner
;
234
235
USHORT
FullUnique
;
236
UCHAR
Objt
;
237
UCHAR
Flags
;
238
PVOID
pUser
;
239
}
ENTRY
, *
PENTRY
;
240
241
/*
242
* User space only structure!
243
*/
244
typedef
struct
__GDI_SHARED_HANDLE_TABLE
/* Must match win32k/include/gdiobj.h */
245
{
246
GDI_TABLE_ENTRY
Entries
[
GDI_HANDLE_COUNT
];
/* Handle table. */
247
DEVCAPS
DevCaps
;
/* Shared device capabilities. */
248
FLONG
flDeviceUniq
;
/* Device settings uniqueness. */
249
PVOID
pvLangPack
;
/* Lanuage Pack. */
250
CFONT
cfPublic
[
GDI_CFONT_MAX
];
/* Public Fonts. */
251
DWORD
dwCFCount
;
252
}
GDI_SHARED_HANDLE_TABLE
, *
PGDI_SHARED_HANDLE_TABLE
;
253
254
typedef
struct
_RGN_ATTR
255
{
256
ULONG
AttrFlags
;
257
ULONG
iComplexity
;
/* Clipping region's complexity. NULL, SIMPLE & COMPLEXREGION */
258
RECTL
Rect
;
259
}
RGN_ATTR
,*
PRGN_ATTR
;
260
261
/* Local DC structure (_DC_ATTR) PVOID pvLDC; */
262
typedef
struct
_LDC
263
{
264
HDC
hDC
;
265
ULONG
Flags
;
266
INT
iType
;
267
PVOID
pvEmfDC
;
/* Pointer to ENHMETAFILE structure */
268
LPWSTR
pwszPort
;
269
ABORTPROC
pAbortProc
;
/* AbortProc for Printing */
270
DWORD
CallBackTick
;
271
HANDLE
hPrinter
;
/* Local or Remote Printer driver */
272
PDEVMODEW
pdm
;
273
PVOID
pUMPDev
;
/* Ptr to User Mode Printer Device structure */
274
PUMDHPDEV
pUMdhpdev
;
/* Ptr to Combined UMPD and DHPDEV structure */
275
PVOID
UFIHashTable
[3];
276
UNIVERSAL_FONT_ID
ufi
;
277
PVOID
pvEMFSpoolData
;
278
ULONG
cjSize
;
279
LIST_ENTRY
leRecords
;
280
DEVCAPS
DevCaps
;
281
HBRUSH
BrushColor
;
282
HPEN
PenColor
;
283
// wine data
284
DWORD
dwData
[5];
285
}
LDC
, *
PLDC
;
286
287
/*
288
* DC_ATTR structure.
289
* See also: https://reactos.org/wiki/Techwiki:Win32k/DC_ATTR
290
*/
291
typedef
struct
_DC_ATTR
292
{
293
PVOID
pvLDC
;
294
ULONG
ulDirty_
;
295
HANDLE
hbrush
;
296
HANDLE
hpen
;
297
COLORREF
crBackgroundClr
;
298
ULONG
ulBackgroundClr
;
299
COLORREF
crForegroundClr
;
300
ULONG
ulForegroundClr
;
301
COLORREF
crBrushClr
;
302
ULONG
ulBrushClr
;
303
COLORREF
crPenClr
;
304
ULONG
ulPenClr
;
305
DWORD
iCS_CP
;
306
INT
iGraphicsMode
;
307
BYTE
jROP2
;
308
BYTE
jBkMode
;
309
BYTE
jFillMode
;
310
BYTE
jStretchBltMode
;
311
POINTL
ptlCurrent
;
312
POINTL
ptfxCurrent
;
313
LONG
lBkMode
;
314
LONG
lFillMode
;
315
LONG
lStretchBltMode
;
316
FLONG
flFontMapper
;
317
LONG
lIcmMode
;
318
HANDLE
hcmXform
;
319
HCOLORSPACE
hColorSpace
;
320
FLONG
flIcmFlags
;
321
INT
IcmBrushColor
;
322
INT
IcmPenColor
;
323
PVOID
pvLIcm
;
324
FLONG
flTextAlign
;
325
LONG
lTextAlign
;
326
LONG
lTextExtra
;
327
LONG
lRelAbs
;
328
LONG
lBreakExtra
;
329
LONG
cBreak
;
330
HANDLE
hlfntNew
;
331
MATRIX
mxWorldToDevice
;
332
MATRIX
mxDeviceToWorld
;
333
MATRIX
mxWorldToPage
;
334
FLOATOBJ
efM11PtoD
;
335
FLOATOBJ
efM22PtoD
;
336
FLOATOBJ
efDxPtoD
;
337
FLOATOBJ
efDyPtoD
;
338
INT
iMapMode
;
339
DWORD
dwLayout
;
340
LONG
lWindowOrgx
;
341
POINTL
ptlWindowOrg
;
342
SIZEL
szlWindowExt
;
343
POINTL
ptlViewportOrg
;
344
SIZEL
szlViewportExt
;
345
FLONG
flXform
;
346
SIZEL
szlVirtualDevicePixel
;
347
SIZEL
szlVirtualDeviceMm
;
348
SIZEL
szlVirtualDeviceSize
;
349
POINTL
ptlBrushOrigin
;
350
RGN_ATTR
VisRectRegion
;
351
}
DC_ATTR
, *
PDC_ATTR
;
352
353
typedef
struct
_BRUSH_ATTR
/* Used with pen too. */
354
{
355
FLONG
AttrFlags
;
356
COLORREF
lbColor
;
357
}
BRUSH_ATTR
, *
PBRUSH_ATTR
;
358
359
typedef
struct
_FONT_ATTR
360
{
361
BOOL
bSlowWidths
;
362
PCFONT
pCharWidthData
;
363
}
FONT_ATTR
, *
PFONT_ATTR
;
364
365
366
#endif
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
void
Definition:
nsiface.idl:2307
HDC
static HDC
Definition:
imagelist.c:88
FLONG
unsigned long FLONG
Definition:
ntbasedef.h:366
GDI_SHARED_HANDLE_TABLE
struct __GDI_SHARED_HANDLE_TABLE GDI_SHARED_HANDLE_TABLE
LDC
struct _LDC LDC
PGDI_TABLE_ENTRY
struct _GDI_TABLE_ENTRY * PGDI_TABLE_ENTRY
DC_ATTR
struct _DC_ATTR DC_ATTR
ENTRY
struct _ENTRY ENTRY
PENTRY
struct _ENTRY * PENTRY
PGDI_SHARED_HANDLE_TABLE
struct __GDI_SHARED_HANDLE_TABLE * PGDI_SHARED_HANDLE_TABLE
GDI_HANDLE_COUNT
#define GDI_HANDLE_COUNT
Definition:
ntgdihdl.h:19
PRGN_ATTR
struct _RGN_ATTR * PRGN_ATTR
GDI_TABLE_ENTRY
struct _GDI_TABLE_ENTRY GDI_TABLE_ENTRY
GDI_CFONT_MAX
#define GDI_CFONT_MAX
Definition:
ntgdihdl.h:20
PBRUSH_ATTR
struct _BRUSH_ATTR * PBRUSH_ATTR
FONT_ATTR
struct _FONT_ATTR FONT_ATTR
RGN_ATTR
struct _RGN_ATTR RGN_ATTR
BRUSH_ATTR
struct _BRUSH_ATTR BRUSH_ATTR
PLDC
struct _LDC * PLDC
PFONT_ATTR
struct _FONT_ATTR * PFONT_ATTR
PDC_ATTR
struct _DC_ATTR * PDC_ATTR
LONG
long LONG
Definition:
pedump.c:60
USHORT
unsigned short USHORT
Definition:
pedump.c:61
MATRIX
Definition:
matrix.h:44
RECTL
Definition:
polytest.cpp:52
_BASEOBJECT
Definition:
gdiobj.h:39
_BRUSH_ATTR
Definition:
ntgdihdl.h:354
_BRUSH_ATTR::lbColor
COLORREF lbColor
Definition:
ntgdihdl.h:356
_BRUSH_ATTR::AttrFlags
FLONG AttrFlags
Definition:
ntgdihdl.h:355
_CFONT
Definition:
ntgdityp.h:433
_DC_ATTR
Definition:
ntgdihdl.h:292
_DC_ATTR::ptlCurrent
POINTL ptlCurrent
Definition:
ntgdihdl.h:311
_DC_ATTR::hbrush
HANDLE hbrush
Definition:
ntgdihdl.h:295
_DC_ATTR::hpen
HANDLE hpen
Definition:
ntgdihdl.h:296
_DC_ATTR::lStretchBltMode
LONG lStretchBltMode
Definition:
ntgdihdl.h:315
_DC_ATTR::IcmBrushColor
INT IcmBrushColor
Definition:
ntgdihdl.h:321
_DC_ATTR::efDxPtoD
FLOATOBJ efDxPtoD
Definition:
ntgdihdl.h:336
_DC_ATTR::lBreakExtra
LONG lBreakExtra
Definition:
ntgdihdl.h:328
_DC_ATTR::lIcmMode
LONG lIcmMode
Definition:
ntgdihdl.h:317
_DC_ATTR::szlVirtualDevicePixel
SIZEL szlVirtualDevicePixel
Definition:
ntgdihdl.h:346
_DC_ATTR::hcmXform
HANDLE hcmXform
Definition:
ntgdihdl.h:318
_DC_ATTR::iCS_CP
DWORD iCS_CP
Definition:
ntgdihdl.h:305
_DC_ATTR::mxWorldToDevice
MATRIX mxWorldToDevice
Definition:
ntgdihdl.h:331
_DC_ATTR::lFillMode
LONG lFillMode
Definition:
ntgdihdl.h:314
_DC_ATTR::lBkMode
LONG lBkMode
Definition:
ntgdihdl.h:313
_DC_ATTR::ulBrushClr
ULONG ulBrushClr
Definition:
ntgdihdl.h:302
_DC_ATTR::pvLIcm
PVOID pvLIcm
Definition:
ntgdihdl.h:323
_DC_ATTR::szlViewportExt
SIZEL szlViewportExt
Definition:
ntgdihdl.h:344
_DC_ATTR::cBreak
LONG cBreak
Definition:
ntgdihdl.h:329
_DC_ATTR::lWindowOrgx
LONG lWindowOrgx
Definition:
ntgdihdl.h:340
_DC_ATTR::szlVirtualDeviceSize
SIZEL szlVirtualDeviceSize
Definition:
ntgdihdl.h:348
_DC_ATTR::iMapMode
INT iMapMode
Definition:
ntgdihdl.h:338
_DC_ATTR::jBkMode
BYTE jBkMode
Definition:
ntgdihdl.h:308
_DC_ATTR::pvLDC
PVOID pvLDC
Definition:
ntgdihdl.h:293
_DC_ATTR::jStretchBltMode
BYTE jStretchBltMode
Definition:
ntgdihdl.h:310
_DC_ATTR::ulBackgroundClr
ULONG ulBackgroundClr
Definition:
ntgdihdl.h:298
_DC_ATTR::iGraphicsMode
INT iGraphicsMode
Definition:
ntgdihdl.h:306
_DC_ATTR::flXform
FLONG flXform
Definition:
ntgdihdl.h:345
_DC_ATTR::dwLayout
DWORD dwLayout
Definition:
ntgdihdl.h:339
_DC_ATTR::lTextAlign
LONG lTextAlign
Definition:
ntgdihdl.h:325
_DC_ATTR::crBrushClr
COLORREF crBrushClr
Definition:
ntgdihdl.h:301
_DC_ATTR::ptlViewportOrg
POINTL ptlViewportOrg
Definition:
ntgdihdl.h:343
_DC_ATTR::szlVirtualDeviceMm
SIZEL szlVirtualDeviceMm
Definition:
ntgdihdl.h:347
_DC_ATTR::ulPenClr
ULONG ulPenClr
Definition:
ntgdihdl.h:304
_DC_ATTR::ulForegroundClr
ULONG ulForegroundClr
Definition:
ntgdihdl.h:300
_DC_ATTR::crPenClr
COLORREF crPenClr
Definition:
ntgdihdl.h:303
_DC_ATTR::lTextExtra
LONG lTextExtra
Definition:
ntgdihdl.h:326
_DC_ATTR::crForegroundClr
COLORREF crForegroundClr
Definition:
ntgdihdl.h:299
_DC_ATTR::hlfntNew
HANDLE hlfntNew
Definition:
ntgdihdl.h:330
_DC_ATTR::crBackgroundClr
COLORREF crBackgroundClr
Definition:
ntgdihdl.h:297
_DC_ATTR::mxDeviceToWorld
MATRIX mxDeviceToWorld
Definition:
ntgdihdl.h:332
_DC_ATTR::hColorSpace
HCOLORSPACE hColorSpace
Definition:
ntgdihdl.h:319
_DC_ATTR::ptlWindowOrg
POINTL ptlWindowOrg
Definition:
ntgdihdl.h:341
_DC_ATTR::IcmPenColor
INT IcmPenColor
Definition:
ntgdihdl.h:322
_DC_ATTR::mxWorldToPage
MATRIX mxWorldToPage
Definition:
ntgdihdl.h:333
_DC_ATTR::ulDirty_
ULONG ulDirty_
Definition:
ntgdihdl.h:294
_DC_ATTR::ptlBrushOrigin
POINTL ptlBrushOrigin
Definition:
ntgdihdl.h:349
_DC_ATTR::ptfxCurrent
POINTL ptfxCurrent
Definition:
ntgdihdl.h:312
_DC_ATTR::efM11PtoD
FLOATOBJ efM11PtoD
Definition:
ntgdihdl.h:334
_DC_ATTR::jFillMode
BYTE jFillMode
Definition:
ntgdihdl.h:309
_DC_ATTR::jROP2
BYTE jROP2
Definition:
ntgdihdl.h:307
_DC_ATTR::szlWindowExt
SIZEL szlWindowExt
Definition:
ntgdihdl.h:342
_DC_ATTR::lRelAbs
LONG lRelAbs
Definition:
ntgdihdl.h:327
_DC_ATTR::efM22PtoD
FLOATOBJ efM22PtoD
Definition:
ntgdihdl.h:335
_DC_ATTR::efDyPtoD
FLOATOBJ efDyPtoD
Definition:
ntgdihdl.h:337
_DC_ATTR::flFontMapper
FLONG flFontMapper
Definition:
ntgdihdl.h:316
_DC_ATTR::VisRectRegion
RGN_ATTR VisRectRegion
Definition:
ntgdihdl.h:350
_DC_ATTR::flTextAlign
FLONG flTextAlign
Definition:
ntgdihdl.h:324
_DC_ATTR::flIcmFlags
FLONG flIcmFlags
Definition:
ntgdihdl.h:320
_DEVCAPS
Definition:
ntgdityp.h:297
_ENTRY::_OBJECTOWNER::_OBJECTOWNER_S
Definition:
ntgdihdl.h:228
_ENTRY::_OBJECTOWNER::_OBJECTOWNER_S::Pid_Shifted
unsigned Pid_Shifted
Definition:
ntgdihdl.h:230
_ENTRY::_OBJECTOWNER::_OBJECTOWNER_S::Lock
unsigned Lock
Definition:
ntgdihdl.h:229
_ENTRY
Definition:
ntgdihdl.h:218
_ENTRY::ObjectOwner
union _ENTRY::_OBJECTOWNER ObjectOwner
_ENTRY::Objt
UCHAR Objt
Definition:
ntgdihdl.h:236
_ENTRY::pUser
PVOID pUser
Definition:
ntgdihdl.h:238
_ENTRY::Flags
UCHAR Flags
Definition:
ntgdihdl.h:237
_ENTRY::einfo
union _ENTRY::_EINFO einfo
_ENTRY::FullUnique
USHORT FullUnique
Definition:
ntgdihdl.h:235
_FONT_ATTR
Definition:
ntgdihdl.h:360
_FONT_ATTR::pCharWidthData
PCFONT pCharWidthData
Definition:
ntgdihdl.h:362
_FONT_ATTR::bSlowWidths
BOOL bSlowWidths
Definition:
ntgdihdl.h:361
_GDI_TABLE_ENTRY
Definition:
gdi.h:2
_GDI_TABLE_ENTRY::ProcessId
DWORD ProcessId
Definition:
ntgdihdl.h:206
_GDI_TABLE_ENTRY::ObjectType
UCHAR ObjectType
Definition:
ntgdihdl.h:211
_GDI_TABLE_ENTRY::Flags
UCHAR Flags
Definition:
ntgdihdl.h:212
_GDI_TABLE_ENTRY::Type
LONG Type
Definition:
gdi.h:5
_GDI_TABLE_ENTRY::KernelData
PVOID KernelData
Definition:
gdi.h:3
_GDI_TABLE_ENTRY::FullUnique
USHORT FullUnique
Definition:
ntgdihdl.h:210
_GDI_TABLE_ENTRY::UserData
PVOID UserData
Definition:
gdi.h:6
_LDC
Definition:
ntgdihdl.h:263
_LDC::hPrinter
HANDLE hPrinter
Definition:
ntgdihdl.h:271
_LDC::pvEmfDC
PVOID pvEmfDC
Definition:
ntgdihdl.h:267
_LDC::CallBackTick
DWORD CallBackTick
Definition:
ntgdihdl.h:270
_LDC::PenColor
HPEN PenColor
Definition:
ntgdihdl.h:282
_LDC::pUMdhpdev
PUMDHPDEV pUMdhpdev
Definition:
ntgdihdl.h:274
_LDC::dwData
DWORD dwData[5]
Definition:
ntgdihdl.h:284
_LDC::pUMPDev
PVOID pUMPDev
Definition:
ntgdihdl.h:273
_LDC::DevCaps
DEVCAPS DevCaps
Definition:
ntgdihdl.h:280
_LDC::pvEMFSpoolData
PVOID pvEMFSpoolData
Definition:
ntgdihdl.h:277
_LDC::BrushColor
HBRUSH BrushColor
Definition:
ntgdihdl.h:281
_LDC::iType
INT iType
Definition:
ntgdihdl.h:266
_LDC::pAbortProc
ABORTPROC pAbortProc
Definition:
ntgdihdl.h:269
_LDC::UFIHashTable
PVOID UFIHashTable[3]
Definition:
ntgdihdl.h:275
_LDC::hDC
HDC hDC
Definition:
ntgdihdl.h:264
_LDC::pwszPort
LPWSTR pwszPort
Definition:
ntgdihdl.h:268
_LDC::Flags
ULONG Flags
Definition:
ntgdihdl.h:265
_LDC::leRecords
LIST_ENTRY leRecords
Definition:
ntgdihdl.h:279
_LDC::pdm
PDEVMODEW pdm
Definition:
ntgdihdl.h:272
_LDC::cjSize
ULONG cjSize
Definition:
ntgdihdl.h:278
_LDC::ufi
UNIVERSAL_FONT_ID ufi
Definition:
ntgdihdl.h:276
_LIST_ENTRY
Definition:
typedefs.h:120
_POINTL
Definition:
windef.h:328
_RGN_ATTR
Definition:
ntgdihdl.h:255
_RGN_ATTR::iComplexity
ULONG iComplexity
Definition:
ntgdihdl.h:257
_RGN_ATTR::Rect
RECTL Rect
Definition:
ntgdihdl.h:258
_RGN_ATTR::AttrFlags
ULONG AttrFlags
Definition:
ntgdihdl.h:256
_SIZE
Definition:
kdterminal.h:26
_UNIVERSAL_FONT_ID
Definition:
ntgdityp.h:266
__GDI_SHARED_HANDLE_TABLE
Definition:
ntgdihdl.h:245
__GDI_SHARED_HANDLE_TABLE::Entries
GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT]
Definition:
ntgdihdl.h:246
__GDI_SHARED_HANDLE_TABLE::DevCaps
DEVCAPS DevCaps
Definition:
ntgdihdl.h:247
__GDI_SHARED_HANDLE_TABLE::pvLangPack
PVOID pvLangPack
Definition:
ntgdihdl.h:249
__GDI_SHARED_HANDLE_TABLE::cfPublic
CFONT cfPublic[GDI_CFONT_MAX]
Definition:
ntgdihdl.h:250
__GDI_SHARED_HANDLE_TABLE::dwCFCount
DWORD dwCFCount
Definition:
ntgdihdl.h:251
__GDI_SHARED_HANDLE_TABLE::flDeviceUniq
FLONG flDeviceUniq
Definition:
ntgdihdl.h:248
_devicemodeW
Definition:
wingdi.h:1616
INT
int32_t INT
Definition:
typedefs.h:58
ULONG
uint32_t ULONG
Definition:
typedefs.h:59
_ENTRY::_EINFO
Definition:
ntgdihdl.h:220
_ENTRY::_EINFO::pobj
struct _BASEOBJECT * pobj
Definition:
ntgdihdl.h:221
_ENTRY::_EINFO::hFree
HGDIOBJ hFree
Definition:
ntgdihdl.h:222
_ENTRY::_OBJECTOWNER
Definition:
ntgdihdl.h:226
_ENTRY::_OBJECTOWNER::Share
struct _ENTRY::_OBJECTOWNER::_OBJECTOWNER_S Share
_ENTRY::_OBJECTOWNER::ulObj
ULONG ulObj
Definition:
ntgdihdl.h:232
winddi.h
FLOATOBJ
FLOAT FLOATOBJ
Definition:
winddi.h:677
COLORREF
DWORD COLORREF
Definition:
windef.h:300
ABORTPROC
BOOL(CALLBACK * ABORTPROC)(HDC, int)
Definition:
wingdi.h:2911
UCHAR
unsigned char UCHAR
Definition:
xmlstorage.h:181
LPWSTR
WCHAR * LPWSTR
Definition:
xmlstorage.h:184
BYTE
unsigned char BYTE
Definition:
xxhash.c:193
win32ss
include
ntgdihdl.h
Generated on Tue Sep 17 2024 06:14:48 for ReactOS by
1.9.6