ReactOS  0.4.14-dev-606-g14ebc0b
ntgdityp.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/ntgdityp.h
5  * PURPOSE: Win32 Shared GDI Types for NtGdi*
6  * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7  */
8 
9 /* INCLUDES ******************************************************************/
10 
11 #ifndef _NTGDITYP_
12 #define _NTGDITYP_
13 
14 #include "ntwin32.h"
15 
16 /* ENUMERATIONS **************************************************************/
17 
18 typedef enum _ARCTYPE
19 {
24 } ARCTYPE, *PARCTYPE;
25 
26 typedef enum _PALFUNCTYPE
27 {
35 
36 typedef enum _POLYFUNCTYPE
37 {
45 
46 typedef enum _GETDCDWORD
47 {
59 
60 typedef enum _GETSETDCDWORD
61 {
71 
72 typedef enum _GETDCPOINT
73 {
81 
82 
83 typedef enum _GDIBATCHCMD
84 {
95 
96 typedef enum _TRANSFORMTYPE
97 {
101 
102 /* MATRIX flAccel flags */
103 enum
104 {
112 
113  /* ReactOS specific */
114  XFORM_INTEGER = 0x1000,
115 };
116 
117 typedef enum GDIObjType
118 {
153 
154 typedef enum GDILoObjType
155 {
174 
179 #define MWT_SET 0x04
180 
181 #define GdiWorldSpaceToPageSpace 0x203
182 #define GdiWorldSpaceToDeviceSpace 0x204
183 #define GdiPageSpaceToDeviceSpace 0x304
184 #define GdiDeviceSpaceToWorldSpace 0x402
185 
186 /* FIXME: Unknown */
188 typedef DWORD LFTYPE;
189 
190 /* Public LAST_STOCK = 19, plus 2 more internal entries */
191 #define NB_STOCK_OBJECTS 22
192 
193 /* extra stock object: default 1x1 bitmap for memory DCs */
194 #define DEFAULT_BITMAP (21)
195 
196 
197 /* DEFINES *******************************************************************/
198 
199 #define GDIBATCHBUFSIZE 0x136*4
200 #define GDI_BATCH_LIMIT 20
201 
202 // NtGdiGetCharWidthW Flags
203 #define GCW_WIN32 0x0001
204 #define GCW_NOFLOAT 0x0002
205 #define GCW_INDICES 0x0008
206 
207 // NtGdiGetCharABCWidthW Flags
208 #define GCABCW_NOFLOAT 0x0001
209 #define GCABCW_INDICES 0x0002
210 
211 // NtGdiGetTextExtent* flags (reactos own)
212 #define GTEF_INDICES 0x1
213 
214 /* CAPS1 support */
215 #define CAPS1 94
216 //#define C1_TRANSPARENT 0x0001
217 #define TC_TT_ABLE 0x0002
218 #define C1_TT_CR_ANY 0x0004
219 #define C1_EMF_COMPLIANT 0x0008
220 #define C1_DIBENGINE 0x0010
221 #define C1_GAMMA_RAMP 0x0040
222 #define C1_REINIT_ABLE 0x0080
223 #define C1_GLYPH_INDEX 0x0100
224 #define C1_BIT_PACKED 0x0200
225 #define C1_BYTE_PACKED 0x0400
226 #define C1_COLORCURSOR 0x0800
227 #define C1_CMYK_ABLE 0x1000
228 #define C1_SLOW_CARD 0x2000
229 #define C1_MIRRORING 0X4000
230 
231 // NtGdiGetRandomRgn iCodes
232 #define CLIPRGN 1 // GetClipRgn
233 #define METARGN 2 // GetMetaRgn
234 #define APIRGN 3
235 
236 /* New flag for fdwInit in CreateDIBitmap. See support.microsoft.com/kb/kbview/108497*/
237 #define CBM_CREATDIB 2
238 
239 /* New color use parameter. See support.microsoft.com/kb/kbview/108497 */
240 #define DIB_PAL_INDICES 2
241 
242 /* Get/SetBounds/Rect support. */
243 #define DCB_WINDOWMGR 0x8000 /* Queries the Windows bounding rectangle instead of the application's */
244 
245 #define GDITAG_TYPE_EMF 'XEFM' // EnhMetaFile
246 #define GDITAG_TYPE_MFP '_PFM' // MetaFile Picture
247 
248 /* TYPES *********************************************************************/
249 
251 typedef PVOID PUMDHPDEV;
253 #if !defined(_WINDDI_)
254 typedef LONG FIX;
255 #endif
256 
257 typedef struct _CHWIDTHINFO // Based on FD_DEVICEMETRICS
258 {
263 
264 typedef struct _UNIVERSAL_FONT_ID
265 {
269 
270 #define RI_TECH_BITMAP 1
271 #define RI_TECH_FIXED 2
272 #define RI_TECH_SCALABLE 3
273 
274 typedef struct _REALIZATION_INFO
275 {
280 
281 typedef struct _WIDTHDATA
282 {
294 
295 typedef struct _DEVCAPS // Very similar to GDIINFO
296 {
333 } DEVCAPS, *PDEVCAPS;
334 
335 /* Gdi Handle Cache Types and Structures */
336 #define GDI_CACHED_HANDLE_TYPES 4
337 #define CACHE_BRUSH_ENTRIES 10
338 #define CACHE_PEN_ENTRIES 8
339 #define CACHE_REGION_ENTRIES 8
340 #define CACHE_LFONT_ENTRIES 1
341 
342 typedef enum _HANDLECACHETYPE
343 {
349 
350 typedef struct _GDIHANDLECACHE
351 {
356 
357 /* Font Structures */
358 typedef struct _TMDIFF
359 {
365 } TMDIFF, *PTMDIFF;
366 
367 typedef struct _TMW_INTERNAL
368 {
372 
373 typedef struct _NTMW_INTERNAL
374 {
378 
379 typedef struct _ENUMFONTDATAW
380 {
384  ENUMLOGFONTEXDVW elfexdv; /* variable size! */
385  /* NTMW_INTERNAL ntmwi; use ulNtwmOffset */
387 
388 /* Number Representation */
389 typedef struct _EFLOAT_S
390 {
393 } EFLOAT_S;
394 
395 /* XFORM Structures */
396 typedef struct _MATRIX_S
397 {
407 } MATRIX_S;
408 
409 typedef struct _MATRIX
410 {
420 } MATRIX, *PMATRIX;
421 
422 /* Gdi XForm storage union */
423 typedef union
424 {
427 } gxf_long;
428 
429 #define CFONT_REALIZATION 0x0080
430 
431 typedef struct _CFONT
432 {
433  struct _CFONT *pcfNext;
435  ULONG cRef; // Count of all pointers to this CFONT.
437  LONG lHeight; // Precomputed logical height.
438  HDC hdc; // HDC of realization. 0 for display.
439  EFLOAT_S efM11; // efM11 of WtoD of DC of realization
440  EFLOAT_S efM22; // efM22 of WtoD of DC of realization
441  EFLOAT_S efDtoWBaseline; // Precomputed back transform. (FXtoL)
442  EFLOAT_S efDtoWAscent; // Precomputed back transform. (FXtoL)
445  USHORT sWidth[256]; // Widths in pels.
446  ULONG ulAveWidth; // bogus average used by USER
447  TMW_INTERNAL tmw; // cached metrics
452 } CFONT, *PCFONT;
453 
454 /* GDI Batch structures. */
455 typedef struct _GDIBATCHHDR
456 {
460 
461 typedef struct _GDIBSPATBLT
462 {
464  int nXLeft;
465  int nYLeft;
466  int nWidth;
467  int nHeight;
479 
480 /* FIXME: this should go to some "public" GDI32 header */
481 typedef struct _PATRECT
482 {
484  HBRUSH hBrush;
485 } PATRECT, * PPATRECT;
486 
487 typedef struct _GDIBSPPATBLT
488 {
500  PATRECT pRect[1]; // POLYPATBLT
502 
503 //
504 // Both ExtSelectClipRgn and TextOut pass a nill RECT.
505 //
506 #define GDIBS_NORECT 0x80000000
507 
508 typedef struct _GDIBSTEXTOUT
509 {
516  int x;
517  int y;
526  union {
529  };
531 
532 typedef struct _GDIBSEXTTEXTOUT
533 {
541 
542 typedef struct _GDIBSSETBRHORG
543 {
547 
548 typedef struct _GDIBSEXTSELCLPRGN
549 {
551  int fnMode;
554 
555 /* Use with GdiBCSelObj, GdiBCDelObj and GdiBCDelRgn. */
556 typedef struct _GDIBSOBJECT
557 {
561 
562 /* Declaration missing in ddk/winddi.h */
564 
565 /* Most of these are defined in ddk/winddi.h */
566 typedef struct _DRIVER_FUNCTIONS
567 {
660  PVOID Reserved11; /* 92 */
661 
662  /* ReactOS specify */
665 
666 #define ASSERT_PFN(pfn) \
667  C_ASSERT(FIELD_OFFSET(DRIVER_FUNCTIONS, pfn) == sizeof(PVOID) * INDEX_Drv##pfn)
668 
669 ASSERT_PFN(EnablePDEV);
670 ASSERT_PFN(CompletePDEV);
671 ASSERT_PFN(DisablePDEV);
672 ASSERT_PFN(EnableSurface);
673 ASSERT_PFN(DisableSurface);
674 ASSERT_PFN(AssertMode);
676 ASSERT_PFN(ResetPDEV);
677 ASSERT_PFN(DisableDriver);
678 ASSERT_PFN(CreateDeviceBitmap);
679 ASSERT_PFN(DeleteDeviceBitmap);
680 ASSERT_PFN(RealizeBrush);
681 ASSERT_PFN(DitherColor);
685 ASSERT_PFN(Paint);
687 ASSERT_PFN(CopyBits);
689 ASSERT_PFN(SetPalette);
693 ASSERT_PFN(QueryFont);
694 ASSERT_PFN(QueryFontTree);
695 ASSERT_PFN(QueryFontData);
696 ASSERT_PFN(SetPointerShape);
697 ASSERT_PFN(MovePointer);
699 ASSERT_PFN(SendPage);
703 ASSERT_PFN(GetGlyphMode);
704 ASSERT_PFN(Synchronize);
705 ASSERT_PFN(SaveScreenBits);
706 ASSERT_PFN(GetModes);
708 ASSERT_PFN(DestroyFont);
709 ASSERT_PFN(QueryFontCaps);
710 ASSERT_PFN(LoadFontFile);
711 ASSERT_PFN(UnloadFontFile);
712 ASSERT_PFN(FontManagement);
713 ASSERT_PFN(QueryTrueTypeTable);
714 ASSERT_PFN(QueryTrueTypeOutline);
715 ASSERT_PFN(GetTrueTypeFile);
716 ASSERT_PFN(QueryFontFile);
717 ASSERT_PFN(MovePanning);
718 ASSERT_PFN(QueryAdvanceWidths);
722 ASSERT_PFN(StartBanding);
723 ASSERT_PFN(NextBand);
724 ASSERT_PFN(GetDirectDrawInfo);
725 ASSERT_PFN(EnableDirectDraw);
726 ASSERT_PFN(DisableDirectDraw);
727 ASSERT_PFN(QuerySpoolType);
728 ASSERT_PFN(IcmCreateColorTransform);
729 ASSERT_PFN(IcmDeleteColorTransform);
730 ASSERT_PFN(IcmCheckBitmapBits);
731 ASSERT_PFN(IcmSetDeviceGammaRamp);
732 ASSERT_PFN(GradientFill);
733 ASSERT_PFN(StretchBltROP);
736 ASSERT_PFN(SynthesizeFont);
737 ASSERT_PFN(GetSynthesizedFontFiles);
739 ASSERT_PFN(QueryPerBandInfo);
740 ASSERT_PFN(QueryDeviceSupport);
746 ASSERT_PFN(Reserved6);
748 ASSERT_PFN(Reserved8);
749 ASSERT_PFN(DeriveSurface);
750 ASSERT_PFN(QueryGlyphAttrs);
752 ASSERT_PFN(SynchronizeSurface);
754 
755 #endif
#define CACHE_PEN_ENTRIES
Definition: ntgdityp.h:338
#define ASSERT_PFN(pfn)
Definition: ntgdityp.h:666
EFLOAT_S efM21
Definition: ntgdityp.h:400
TEXTMETRICW TextMetric
Definition: ntgdityp.h:369
PFN_DrvOffset Offset
Definition: ntgdityp.h:574
struct _MATRIX_S MATRIX_S
PFN_DrvDisablePDEV DisablePDEV
Definition: ntgdityp.h:570
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
POINTL ptlViewportOrg
Definition: ntgdityp.h:499
PFN_DrvQueryFontData QueryFontData
Definition: ntgdityp.h:596
FLOAT f
Definition: ntgdityp.h:425
DWORD rop4
Definition: ntgdityp.h:490
struct _GDIBSPATBLT * PGDIBSPATBLT
#define TransparentBlt
Definition: misc.c:292
FN_DrvSetPixelFormat * PFN_DrvSetPixelFormat
Definition: winddi.h:4024
FN_DrvEnableSurface * PFN_DrvEnableSurface
Definition: winddi.h:3564
FN_DrvIcmCheckBitmapBits * PFN_DrvIcmCheckBitmapBits
Definition: winddi.h:3667
PFN_DrvTextOut TextOut
Definition: ntgdityp.h:591
_GDIBATCHCMD
Definition: ntgdityp.h:83
COLORREF crBackgroundClr
Definition: ntgdityp.h:494
ULONG l
Definition: ntgdityp.h:426
struct _GDIBSSETBRHORG GDIBSSETBRHORG
PFN_DrvStartBanding StartBanding
Definition: ntgdityp.h:625
PFN_DrvSendPage SendPage
Definition: ntgdityp.h:600
ULONG ulBackgroundClr
Definition: ntgdityp.h:539
_POLYFUNCTYPE
Definition: ntgdityp.h:36
ULONG ulBltAlignment
Definition: ntgdityp.h:326
PATRECT pRect[1]
Definition: ntgdityp.h:500
PFN_DrvEnableSurface EnableSurface
Definition: ntgdityp.h:571
STRING Escape(const STRING &str)
Definition: fontsub.cpp:1030
FN_DrvQueryTrueTypeOutline * PFN_DrvQueryTrueTypeOutline
Definition: winddi.h:3935
PFN_DrvFree Free
Definition: ntgdityp.h:610
ULONG ulHorzRes
Definition: ntgdityp.h:303
FLOATOBJ efM21
Definition: ntgdityp.h:413
PFN_DrvSwapBuffers SwapBuffers
Definition: ntgdityp.h:624
ULONG ulBrushClr
Definition: ntgdityp.h:498
PFN_DrvCopyBits CopyBits
Definition: ntgdityp.h:587
FN_DrvTextOut * PFN_DrvTextOut
Definition: winddi.h:4184
FN_DrvPaint * PFN_DrvPaint
Definition: winddi.h:3769
struct _GDIHANDLECACHE GDIHANDLECACHE
FN_DrvQueryFontCaps * PFN_DrvQueryFontCaps
Definition: winddi.h:3851
COLORREF crBackgroundClr
Definition: ntgdityp.h:471
PFN_DrvQueryFontTree QueryFontTree
Definition: ntgdityp.h:595
#define CACHE_REGION_ENTRIES
Definition: ntgdityp.h:339
CHAR chLast
Definition: ntgdityp.h:362
LONG lMinC
Definition: ntgdityp.h:260
SHORT Size
Definition: ntgdityp.h:457
FN_DrvFillPath * PFN_DrvFillPath
Definition: winddi.h:3597
FN_DrvSendPage * PFN_DrvSendPage
Definition: winddi.h:4002
#define GDI_CACHED_HANDLE_TYPES
Definition: ntgdityp.h:336
_HANDLECACHETYPE
Definition: ntgdityp.h:342
PFN_DrvStrokePath StrokePath
Definition: ntgdityp.h:582
ULONG ulVertSizeM
Definition: ntgdityp.h:300
ULONG ulRasterCaps
Definition: ntgdityp.h:310
COLORREF crForegroundClr
Definition: ntgdityp.h:493
struct _MATRIX * PMATRIX
PFN_DrvGetTrueTypeFile GetTrueTypeFile
Definition: ntgdityp.h:618
FN_DrvNotify * PFN_DrvNotify
Definition: winddi.h:3750
DWORD dwRop
Definition: ntgdityp.h:469
struct _GDIBSEXTTEXTOUT * PGDIBSEXTTEXTOUT
DWORD ResetDevice(DWORD private_handle)
enum _POLYFUNCTYPE * PPOLYFUNCTYPE
char CHAR
Definition: xmlstorage.h:175
struct _CFONT CFONT
ULONG ulNumFonts
Definition: ntgdityp.h:308
DWORD dwUnknown
Definition: ntgdityp.h:450
SHORT Cmd
Definition: ntgdityp.h:458
enum _HANDLECACHETYPE * PHANDLECACHETYPE
ULONG ulDesktopVertRes
Definition: ntgdityp.h:325
COLORREF crForegroundClr
Definition: ntgdityp.h:470
static HDC
Definition: imagelist.c:92
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:550
PFN_DrvGetDirectDrawInfo GetDirectDrawInfo
Definition: ntgdityp.h:627
enum _GDIBATCHCMD * PGDIBATCHCMD
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:489
ULONG ulHorzSize
Definition: ntgdityp.h:301
struct _GDIBATCHHDR * PGDIBATCHHDR
struct _GDIBSEXTSELCLPRGN * PGDIBSEXTSELCLPRGN
FN_DrvMovePointer * PFN_DrvMovePointer
Definition: winddi.h:3735
ULONG ulNtmwiOffset
Definition: ntgdityp.h:382
struct _GDIBATCHHDR GDIBATCHHDR
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
FLONG flAccel
Definition: ntgdityp.h:406
CHAR ChBreak
Definition: ntgdityp.h:364
DWORD dwFontType
Definition: ntgdityp.h:383
PFN_DrvQuerySpoolType QuerySpoolType
Definition: ntgdityp.h:630
PFN_DrvDrawEscape DrawEscape
Definition: ntgdityp.h:593
FN_DrvFontManagement * PFN_DrvFontManagement
Definition: winddi.h:3609
_GETDCPOINT
Definition: ntgdityp.h:72
PFN_DrvResetDevice ResetDevice
Definition: ntgdityp.h:657
PFN_DrvQueryFont QueryFont
Definition: ntgdityp.h:594
FN_DrvCreateDeviceBitmap * PFN_DrvCreateDeviceBitmap
Definition: winddi.h:3469
COLORREF crBrushClr
Definition: ntgdityp.h:472
ULONG ulBitsPixel
Definition: ntgdityp.h:305
FN_DrvStartDoc * PFN_DrvStartDoc
Definition: winddi.h:4073
PFN_DrvStrokeAndFillPath StrokeAndFillPath
Definition: ntgdityp.h:584
struct _ENUMFONTDATAW ENUMFONTDATAW
_TRANSFORMTYPE
Definition: ntgdityp.h:96
ULONG ulPhysicalHeight
Definition: ntgdityp.h:319
FN_DrvStartPage * PFN_DrvStartPage
Definition: winddi.h:4079
static VOID NTAPI BitBlt(IN ULONG Left, IN ULONG Top, IN ULONG Width, IN ULONG Height, IN PUCHAR Buffer, IN ULONG BitsPerPixel, IN ULONG Delta)
Definition: vga.c:410
struct _GDIBSOBJECT * PGDIBSOBJECT
PFN_DrvQueryDeviceSupport QueryDeviceSupport
Definition: ntgdityp.h:644
int32_t INT
Definition: typedefs.h:56
ULONG ulVRefresh
Definition: ntgdityp.h:323
FN_DrvIcmCreateColorTransform * PFN_DrvIcmCreateColorTransform
Definition: winddi.h:3681
EFLOAT_S efM22
Definition: ntgdityp.h:401
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR *)
struct _TMDIFF TMDIFF
PFN_DrvSetPointerShape SetPointerShape
Definition: ntgdityp.h:597
LONG lBkMode
Definition: ntgdityp.h:513
PFN_DrvDescribePixelFormat DescribePixelFormat
Definition: ntgdityp.h:623
USHORT sWidth[256]
Definition: ntgdityp.h:445
DWORD iUniq
Definition: ntgdityp.h:449
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free
Definition: exfuncs.h:656
USHORT sDefaultInc
Definition: ntgdityp.h:292
DWORD iTechnology
Definition: ntgdityp.h:448
FN_DrvSynchronizeSurface * PFN_DrvSynchronizeSurface
Definition: winddi.h:4169
FLONG flTextAlign
Definition: ntgdityp.h:524
struct _GDIBSTEXTOUT * PGDIBSTEXTOUT
int WINAPI StartPage(_In_ HDC)
HANDLE hbrush
Definition: ntgdityp.h:468
ULONG ulPanningVertRes
Definition: ntgdityp.h:328
struct _TMW_INTERNAL TMW_INTERNAL
FN_DrvStrokeAndFillPath * PFN_DrvStrokeAndFillPath
Definition: winddi.h:4128
FN_DrvQueryFontData * PFN_DrvQueryFontData
Definition: winddi.h:3875
PFN_DrvSetPixelFormat SetPixelFormat
Definition: ntgdityp.h:622
PFN_DrvQueryPerBandInfo QueryPerBandInfo
Definition: ntgdityp.h:643
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:510
ULONG ulShadeBlend
Definition: ntgdityp.h:331
FN_DrvResetPDEV * PFN_DrvResetPDEV
Definition: winddi.h:3982
EFLOAT_S efDtoWAscent
Definition: ntgdityp.h:442
PFN_DrvCreateDeviceBitmap CreateDeviceBitmap
Definition: ntgdityp.h:578
ULONG cRef
Definition: ntgdityp.h:435
TMDIFF tmd
Definition: ntgdityp.h:375
struct _TMW_INTERNAL * PTMW_INTERNAL
struct _DEVCAPS DEVCAPS
BOOL WINAPI PlgBlt(_In_ HDC hdcDest, _In_reads_(3) const POINT *lpPoint, _In_ HDC hdcSrc, _In_ int xSrc, _In_ int ySrc, _In_ int width, _In_ int height, _In_opt_ HBITMAP hbmMask, _In_ int xMask, _In_ int yMask)
PFN_DrvPlgBlt PlgBlt
Definition: ntgdityp.h:638
struct _WIDTHDATA WIDTHDATA
WIDTHDATA wd
Definition: ntgdityp.h:443
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
FN_DrvIcmDeleteColorTransform * PFN_DrvIcmDeleteColorTransform
Definition: winddi.h:3688
enum _ARCTYPE * PARCTYPE
D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI
Definition: ntgdityp.h:252
PFN_DrvGetModes GetModes
Definition: ntgdityp.h:609
PFN_DrvGradientFill GradientFill
Definition: ntgdityp.h:636
long LONG
Definition: pedump.c:60
PFN_DrvRealizeBrush RealizeBrush
Definition: ntgdityp.h:580
short SHORT
Definition: pedump.c:59
ULONG ulNumPens
Definition: ntgdityp.h:307
PFN_DrvStretchBlt StretchBlt
Definition: ntgdityp.h:588
ULONG ulVertRes
Definition: ntgdityp.h:304
PFN_DrvBitBlt BitBlt
Definition: ntgdityp.h:586
BOOL WINAPI StrokeAndFillPath(_In_ HDC)
FN_DrvSaveScreenBits * PFN_DrvSaveScreenBits
Definition: winddi.h:3996
PVOID PUMDHPDEV
Definition: ntgdityp.h:251
int WINAPI DescribePixelFormat(_In_ HDC hdc, _In_ int iPixelFormat, _In_ UINT nBytes, _Out_writes_bytes_opt_(nBytes) LPPIXELFORMATDESCRIPTOR ppfd)
FN_DrvOffset * PFN_DrvOffset
Definition: winddi.h:3759
DWORD Count
Definition: ntgdityp.h:492
FN_DrvCompletePDEV * PFN_DrvCompletePDEV
Definition: winddi.h:3450
struct _REALIZATION_INFO REALIZATION_INFO
struct _GDIBSSETBRHORG * PGDIBSSETBRHORG
FN_DrvStrokePath * PFN_DrvStrokePath
Definition: winddi.h:4141
struct _GDIBSPPATBLT GDIBSPPATBLT
struct _GDIBSOBJECT GDIBSOBJECT
ULONG ulBackgroundClr
Definition: ntgdityp.h:497
EFLOAT_S efM22
Definition: ntgdityp.h:440
FN_DrvDeleteDeviceBitmap * PFN_DrvDeleteDeviceBitmap
Definition: winddi.h:3475
struct _TMDIFF * PTMDIFF
PFN_DrvNotify Notify
Definition: ntgdityp.h:655
ULONG ulVertSize
Definition: ntgdityp.h:302
FN_DrvDestroyFont * PFN_DrvDestroyFont
Definition: winddi.h:3497
COLORREF crBackgroundClr
Definition: ntgdityp.h:512
FN_DrvQueryTrueTypeTable * PFN_DrvQueryTrueTypeTable
Definition: winddi.h:3948
FN_DrvDisablePDEV * PFN_DrvDisablePDEV
Definition: winddi.h:3508
EFLOAT_S efDx
Definition: ntgdityp.h:402
FN_DrvEnableDriver * PFN_DrvEnableDriver
Definition: winddi.h:3542
struct _GDIBSPPATBLT * PGDIBSPPATBLT
ULONG xPanningAlignment
Definition: ntgdityp.h:329
FN_DrvLineTo * PFN_DrvLineTo
Definition: winddi.h:3714
FN_DrvGradientFill * PFN_DrvGradientFill
Definition: winddi.h:3658
BOOL WINAPI StrokePath(_In_ HDC)
ULONG ulAspectXY
Definition: ntgdityp.h:313
PFN_DrvIcmCreateColorTransform IcmCreateColorTransform
Definition: ntgdityp.h:632
LONG lHeight
Definition: ntgdityp.h:437
BYTE jDefault
Definition: ntgdityp.h:290
LONG FIX
Definition: ntgdityp.h:254
FN_DrvQuerySpoolType * PFN_DrvQuerySpoolType
Definition: winddi.h:4238
LONG lMinA
Definition: ntgdityp.h:259
DWORD LFTYPE
Definition: ntgdityp.h:188
Definition: bufpool.h:45
FN_DrvGetTrueTypeFile * PFN_DrvGetTrueTypeFile
Definition: winddi.h:3643
FLONG fl
Definition: ntgdityp.h:436
COLORREF crBrushClr
Definition: ntgdityp.h:495
Definition: bcd.h:202
unsigned long FLONG
Definition: ntbasedef.h:373
PFN_DrvLineTo LineTo
Definition: ntgdityp.h:599
UINT Options
Definition: ntgdityp.h:518
HFONT hf
Definition: ntgdityp.h:434
PFN_DrvStartDoc StartDoc
Definition: ntgdityp.h:603
enum _POLYFUNCTYPE POLYFUNCTYPE
FN_DrvQueryFont * PFN_DrvQueryFont
Definition: winddi.h:3838
BOOL WINAPI SwapBuffers(HDC)
Definition: wingl.c:187
FN_DrvDrawEscape * PFN_DrvDrawEscape
Definition: winddi.h:3534
ULONG ulColorRes
Definition: ntgdityp.h:317
EFLOAT_S efDy
Definition: ntgdityp.h:403
FN_DrvQueryAdvanceWidths * PFN_DrvQueryAdvanceWidths
Definition: winddi.h:3800
ULONG ulPhysicalOffsetY
Definition: ntgdityp.h:321
USHORT sBreak
Definition: ntgdityp.h:286
FN_DrvNextBand * PFN_DrvNextBand
Definition: winddi.h:3742
ULONG ulAspectY
Definition: ntgdityp.h:312
PFN_DrvEndDoc EndDoc
Definition: ntgdityp.h:602
_In_ HANDLE Handle
Definition: extypes.h:390
ULONG ulBackgroundClr
Definition: ntgdityp.h:515
FN_DrvFree * PFN_DrvFree
Definition: winddi.h:3616
HBRUSH hBrush
Definition: ntgdityp.h:484
RECT r
Definition: ntgdityp.h:483
FN_DrvGetGlyphMode * PFN_DrvGetGlyphMode
Definition: winddi.h:3628
FN_DrvGetDirectDrawInfo * PFN_DrvGetDirectDrawInfo
Definition: winddi.h:4231
struct _GDIHANDLECACHE * PGDIHANDLECACHE
ULONG ulPlanes
Definition: ntgdityp.h:306
ULONG cjotma
Definition: ntgdityp.h:360
ULONG ulVersion
Definition: ntgdityp.h:297
enum _GETDCDWORD GETDCDWORD
FN_DrvAlphaBlend * PFN_DrvAlphaBlend
Definition: winddi.h:3420
struct _DRIVER_FUNCTIONS * PDRIVER_FUNCTIONS
PVOID GetSynthesizedFontFiles
Definition: ntgdityp.h:641
FLOAT FLOATOBJ
Definition: winddi.h:677
__wchar_t WCHAR
Definition: xmlstorage.h:180
FN_DrvSetPalette * PFN_DrvSetPalette
Definition: winddi.h:4016
COLORREF crForegroundClr
Definition: ntgdityp.h:511
struct _DEVCAPS * PDEVCAPS
GDILoObjType
Definition: ntgdityp.h:154
struct _NTMW_INTERNAL NTMW_INTERNAL
HGDIOBJ hgdiobj
Definition: ntgdityp.h:559
PFN_DrvDisableSurface DisableSurface
Definition: ntgdityp.h:572
struct _DRIVER_FUNCTIONS DRIVER_FUNCTIONS
PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform
Definition: ntgdityp.h:633
DWORD COLORREF
Definition: windef.h:300
FN_DrvSetPointerShape * PFN_DrvSetPointerShape
Definition: winddi.h:4058
FN_DrvDescribePixelFormat * PFN_DrvDescribePixelFormat
Definition: winddi.h:3491
USHORT sOverhang
Definition: ntgdityp.h:283
FLOATOBJ efDy
Definition: ntgdityp.h:416
PFN_DrvIcmSetDeviceGammaRamp IcmSetDeviceGammaRamp
Definition: ntgdityp.h:635
struct _GDIBSTEXTOUT GDIBSTEXTOUT
FN_DrvLoadFontFile * PFN_DrvLoadFontFile
Definition: winddi.h:3726
PFN_DrvQueryTrueTypeOutline QueryTrueTypeOutline
Definition: ntgdityp.h:617
FN_DrvQueryGlyphAttrs * PFN_DrvQueryGlyphAttrs
Definition: winddi.h:3911
PFN_DrvFontManagement FontManagement
Definition: ntgdityp.h:615
enum _GETSETDCDWORD * PGETSETDCDWORD
USHORT sDBCSInc
Definition: ntgdityp.h:291
unsigned long DWORD
Definition: ntddk_ex.h:95
FN_DrvIcmSetDeviceGammaRamp * PFN_DrvIcmSetDeviceGammaRamp
Definition: winddi.h:3700
BYTE jFirst
Definition: ntgdityp.h:287
PFN_DrvFillPath FillPath
Definition: ntgdityp.h:583
POINTL ptlViewportOrg
Definition: ntgdityp.h:538
FN_DrvQueryDeviceSupport * PFN_DrvQueryDeviceSupport
Definition: winddi.h:3817
INT IcmBrushColor
Definition: ntgdityp.h:473
struct _NTMW_INTERNAL * PNTMW_INTERNAL
ULONG ulPanningHorzRes
Definition: ntgdityp.h:327
struct _REALIZATION_INFO * PREALIZATION_INFO
enum _PALFUNCTYPE * PPALFUNCTYPE
ULONG ulDesktopHorzRes
Definition: ntgdityp.h:324
FN_DrvQueryPerBandInfo * PFN_DrvQueryPerBandInfo
Definition: winddi.h:3918
LONG FIX
Definition: winddi.h:126
_ARCTYPE
Definition: ntgdityp.h:18
#define CACHE_BRUSH_ENTRIES
Definition: ntgdityp.h:337
FIX fxDy
Definition: ntgdityp.h:418
struct _WIDTHDATA * PWIDTHDATA
FLOATOBJ efM12
Definition: ntgdityp.h:412
#define CACHE_LFONT_ENTRIES
Definition: ntgdityp.h:340
PFN_DrvEnableDriver EnableDriver
Definition: ntgdityp.h:663
_GETDCDWORD
Definition: ntgdityp.h:46
enum _GETDCDWORD * PGETDCDWORD
ENUMLOGFONTEXDVW elfexdv
Definition: ntgdityp.h:384
ULONG ulLogPixelsY
Definition: ntgdityp.h:315
enum GDIObjType * PGDIOBJTYPE
PFN_DrvAlphaBlend AlphaBlend
Definition: ntgdityp.h:639
PFN_DrvStretchBltROP StretchBltROP
Definition: ntgdityp.h:637
FN_DrvStretchBlt * PFN_DrvStretchBlt
Definition: winddi.h:4095
PFN_DrvNextBand NextBand
Definition: ntgdityp.h:626
#define VOID
Definition: acefi.h:82
FLONG flAccel
Definition: ntgdityp.h:419
HANDLE hlfntNew
Definition: ntgdityp.h:523
PFN_DrvDisableDirectDraw DisableDirectDraw
Definition: ntgdityp.h:629
ULONG ulBackgroundClr
Definition: ntgdityp.h:476
unsigned char BYTE
Definition: mem.h:68
ULONG ulPhysicalOffsetX
Definition: ntgdityp.h:320
PFN_DrvQueryFontCaps QueryFontCaps
Definition: ntgdityp.h:612
FN_DrvDeriveSurface * PFN_DrvDeriveSurface
Definition: winddi.h:3482
ULONG ulNumHandles[GDI_CACHED_HANDLE_TYPES]
Definition: ntgdityp.h:353
_PALFUNCTYPE
Definition: ntgdityp.h:26
PFN_DrvDeleteDeviceBitmap DeleteDeviceBitmap
Definition: ntgdityp.h:579
PVOID KERNEL_PVOID
Definition: ntgdityp.h:250
struct _PATRECT * PPATRECT
PFN_DrvStartPage StartPage
Definition: ntgdityp.h:601
USHORT sHeight
Definition: ntgdityp.h:284
FN_DrvBitBlt * PFN_DrvBitBlt
Definition: winddi.h:3443
WCHAR String[2]
Definition: ntgdityp.h:527
struct _CHWIDTHINFO * PCHWIDTHINFO
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:544
FN_DrvStretchBltROP * PFN_DrvStretchBltROP
Definition: winddi.h:4113
FN_DrvCopyBits * PFN_DrvCopyBits
Definition: winddi.h:3461
FLOATOBJ efM22
Definition: ntgdityp.h:414
POINTL ptlViewportOrg
Definition: ntgdityp.h:525
FN_DrvDitherColor * PFN_DrvDitherColor
Definition: winddi.h:3523
DWORD FULLSCREENCONTROL
Definition: ntgdityp.h:187
PFN_DrvMovePointer MovePointer
Definition: ntgdityp.h:598
ULONG ulBrushClr
Definition: ntgdityp.h:477
FN_DrvPlgBlt * PFN_DrvPlgBlt
Definition: winddi.h:3785
POINTL ptlViewportOrg
Definition: ntgdityp.h:474
struct _PATRECT PATRECT
struct _UNIVERSAL_FONT_ID UNIVERSAL_FONT_ID
struct _GDIBSEXTSELCLPRGN GDIBSEXTSELCLPRGN
TMW_INTERNAL tmw
Definition: ntgdityp.h:447
EFLOAT_S efM11
Definition: ntgdityp.h:398
DWORD iCS_CP
Definition: ntgdityp.h:520
FN_DrvStartBanding * PFN_DrvStartBanding
Definition: winddi.h:4065
enum GDILoObjType * PGDILOOBJTYPE
PFN_DrvDitherColor DitherColor
Definition: ntgdityp.h:581
PFN_DrvIcmCheckBitmapBits IcmCheckBitmapBits
Definition: ntgdityp.h:634
enum _GETDCPOINT GETDCPOINT
FIX fxDx
Definition: ntgdityp.h:404
FN_DrvGetModes * PFN_DrvGetModes
Definition: winddi.h:3636
enum _GDIBATCHCMD GDIBATCHCMD
PFN_DrvResetPDEV ResetPDEV
Definition: ntgdityp.h:575
struct _GDIBSPATBLT GDIBSPATBLT
FN_DrvEnableDirectDraw * PFN_DrvEnableDirectDraw
Definition: winddi.h:4220
GDIObjType
Definition: ntgdityp.h:117
LONG lExp
Definition: ntgdityp.h:392
struct _GDIBSEXTTEXTOUT GDIBSEXTTEXTOUT
FN_DrvMovePanning * PFN_DrvMovePanning
Definition: winddi.h:4257
FN_DrvQueryFontTree * PFN_DrvQueryFontTree
Definition: winddi.h:3904
enum _PALFUNCTYPE PALFUNCTYPE
unsigned short USHORT
Definition: pedump.c:61
FIX fxDy
Definition: ntgdityp.h:405
ULONG ulTextCaps
Definition: ntgdityp.h:322
CHAR ChDefault
Definition: ntgdityp.h:363
EFLOAT_S efDtoWBaseline
Definition: ntgdityp.h:441
PFN_DrvAssertMode AssertMode
Definition: ntgdityp.h:573
PFN_DrvSynchronizeSurface SynchronizeSurface
Definition: ntgdityp.h:656
PFN_DrvLoadFontFile LoadFontFile
Definition: ntgdityp.h:613
ULONG ulForegroundClr
Definition: ntgdityp.h:475
enum _ARCTYPE ARCTYPE
struct _CFONT * PCFONT
DWORD dwCFCount
Definition: ntgdityp.h:451
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:534
enum _TRANSFORMTYPE * PTRANSFORMTYPE
unsigned int UINT
Definition: ndis.h:50
PFN_DrvDestroyFont DestroyFont
Definition: ntgdityp.h:611
FN_DrvRealizeBrush * PFN_DrvRealizeBrush
Definition: winddi.h:3964
ULONG ulPhysicalWidth
Definition: ntgdityp.h:318
PFN_DrvDisableDriver DisableDriver
Definition: ntgdityp.h:576
enum _GETDCPOINT * PGETDCPOINT
Definition: bcd.h:201
enum GDIObjType GDIOBJTYPE
PFN_DrvUnloadFontFile UnloadFontFile
Definition: ntgdityp.h:614
LONG lMant
Definition: ntgdityp.h:391
FLOATOBJ efM11
Definition: ntgdityp.h:411
enum _TRANSFORMTYPE TRANSFORMTYPE
PFN_DrvSetPalette SetPalette
Definition: ntgdityp.h:590
FLONG flInfo
Definition: ntgdityp.h:444
EFLOAT_S efM12
Definition: ntgdityp.h:399
TMDIFF Diff
Definition: ntgdityp.h:370
struct _EFLOAT_S EFLOAT_S
enum _HANDLECACHETYPE HANDLECACHETYPE
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
PFN_DrvQueryAdvanceWidths QueryAdvanceWidths
Definition: ntgdityp.h:621
FN_DrvEndDoc * PFN_DrvEndDoc
Definition: winddi.h:3574
PFN_DrvQueryGlyphAttrs QueryGlyphAttrs
Definition: ntgdityp.h:654
FN_DrvTransparentBlt * PFN_DrvTransparentBlt
Definition: winddi.h:4197
ULONG ulAspectX
Definition: ntgdityp.h:311
USHORT sCharInc
Definition: ntgdityp.h:285
#define AlphaBlend
Definition: misc.c:293
struct _ENUMFONTDATAW * PENUMFONTDATAW
EFLOAT_S efM11
Definition: ntgdityp.h:439
struct _UNIVERSAL_FONT_ID * PUNIVERSAL_FONT_ID
PFN_DrvEnablePDEV EnablePDEV
Definition: ntgdityp.h:568
PFN_DrvGetGlyphMode GetGlyphMode
Definition: ntgdityp.h:605
float FLOAT
Definition: typedefs.h:67
POINTL ptlBrushOrigin
Definition: ntgdityp.h:545
PFN_DrvPaint Paint
Definition: ntgdityp.h:585
PFN_DrvSaveScreenBits SaveScreenBits
Definition: ntgdityp.h:608
int WINAPI DrawEscape(_In_ HDC hdc, _In_ int iEscape, _In_ int cjIn, _In_reads_bytes_opt_(cjIn) LPCSTR lpIn)
FN_DrvEnablePDEV * PFN_DrvEnablePDEV
Definition: winddi.h:3558
PFN_DrvEnableDirectDraw EnableDirectDraw
Definition: ntgdityp.h:628
unsigned int ULONG
Definition: retypes.h:1
#define TextOut
Definition: wingdi.h:4482
FN_DrvAssertMode * PFN_DrvAssertMode
Definition: winddi.h:3427
UINT cbCount
Definition: ntgdityp.h:521
FN_DrvSwapBuffers * PFN_DrvSwapBuffers
Definition: winddi.h:4148
DWORD Mode
Definition: ntgdityp.h:491
ULONG ulColorMgmtCaps
Definition: ntgdityp.h:332
PFN_DrvTransparentBlt TransparentBlt
Definition: ntgdityp.h:642
PFN_DrvQueryTrueTypeTable QueryTrueTypeTable
Definition: ntgdityp.h:616
ULONG ulHorzSizeM
Definition: ntgdityp.h:299
LONG lMinD
Definition: ntgdityp.h:261
ULONG cbSize
Definition: ntgdityp.h:381
#define StartDoc
Definition: wingdi.h:4481
ULONG ulNumColors
Definition: ntgdityp.h:309
PFN_DrvSynchronize Synchronize
Definition: ntgdityp.h:606
FN_DrvEscape * PFN_DrvEscape
Definition: winddi.h:3585
PFN_DrvQueryFontFile QueryFontFile
Definition: ntgdityp.h:619
struct _CFONT * pcfNext
Definition: ntgdityp.h:433
FIX fxDx
Definition: ntgdityp.h:417
PFN_DrvCompletePDEV CompletePDEV
Definition: ntgdityp.h:569
ULONG ulForegroundClr
Definition: ntgdityp.h:514
BOOL WINAPI FillPath(_In_ HDC)
struct _MATRIX MATRIX
BYTE jBreak
Definition: ntgdityp.h:289
PFN_DrvMovePanning MovePanning
Definition: ntgdityp.h:620
ULONG ulSizePalette
Definition: ntgdityp.h:316
_GETSETDCDWORD
Definition: ntgdityp.h:60
enum GDILoObjType GDILOOBJTYPE
ULONG yPanningAlignment
Definition: ntgdityp.h:330
ULONG ulAveWidth
Definition: ntgdityp.h:446
ULONG ulLogPixelsX
Definition: ntgdityp.h:314
FN_DrvSynchronize * PFN_DrvSynchronize
Definition: winddi.h:4155
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:463
FN_DrvDisableDirectDraw * PFN_DrvDisableDirectDraw
Definition: winddi.h:4211
FN_DrvDisableSurface * PFN_DrvDisableSurface
Definition: winddi.h:3514
FN_DrvDisableDriver * PFN_DrvDisableDriver
Definition: winddi.h:3502
BYTE jLast
Definition: ntgdityp.h:288
PVOID SynthesizeFont
Definition: ntgdityp.h:640
PFN_DrvDeriveSurface DeriveSurface
Definition: ntgdityp.h:653
ULONG ulTechnology
Definition: ntgdityp.h:298
FN_DrvResetDevice * PFN_DrvResetDevice
Definition: winddi.h:3975
FN_DrvUnloadFontFile * PFN_DrvUnloadFontFile
Definition: winddi.h:4203
enum _GETSETDCDWORD GETSETDCDWORD
FN_DrvQueryFontFile * PFN_DrvQueryFontFile
Definition: winddi.h:3888
#define APIENTRY
Definition: api.h:79
struct _CHWIDTHINFO CHWIDTHINFO
PFN_DrvEscape Escape
Definition: ntgdityp.h:592
HDC hdc
Definition: ntgdityp.h:438
GDIBATCHHDR gbHdr
Definition: ntgdityp.h:558
FLOATOBJ efDx
Definition: ntgdityp.h:415
CHAR chFirst
Definition: ntgdityp.h:361
NEWTEXTMETRICEXW ntmw
Definition: ntgdityp.h:376
int WINAPI EndDoc(_In_ HDC)
ULONG ulForegroundClr
Definition: ntgdityp.h:496