182#define GdiWorldSpaceToPageSpace 0x203
183#define GdiWorldSpaceToDeviceSpace 0x204
184#define GdiPageSpaceToDeviceSpace 0x304
185#define GdiDeviceSpaceToWorldSpace 0x402
192#define NB_STOCK_OBJECTS 22
195#define DEFAULT_BITMAP (21)
200#define GDIBATCHBUFSIZE 0x136*4
201#define GDI_BATCH_LIMIT 20
204#define GCW_WIN32 0x0001
205#define GCW_NOFLOAT 0x0002
206#define GCW_INDICES 0x0008
209#define GCABCW_NOFLOAT 0x0001
210#define GCABCW_INDICES 0x0002
213#define GTEF_INDICES 0x1
218#define TC_TT_ABLE 0x0002
219#define C1_TT_CR_ANY 0x0004
220#define C1_EMF_COMPLIANT 0x0008
221#define C1_DIBENGINE 0x0010
222#define C1_GAMMA_RAMP 0x0040
223#define C1_REINIT_ABLE 0x0080
224#define C1_GLYPH_INDEX 0x0100
225#define C1_BIT_PACKED 0x0200
226#define C1_BYTE_PACKED 0x0400
227#define C1_COLORCURSOR 0x0800
228#define C1_CMYK_ABLE 0x1000
229#define C1_SLOW_CARD 0x2000
230#define C1_MIRRORING 0X4000
238#define CBM_CREATDIB 2
241#define DIB_PAL_INDICES 2
244#define DCB_WINDOWMGR 0x8000
246#define GDITAG_TYPE_EMF 'XEFM'
247#define GDITAG_TYPE_MFP '_PFM'
254#if !defined(_WINDDI_)
271#define RI_TECH_BITMAP 1
272#define RI_TECH_FIXED 2
273#define RI_TECH_SCALABLE 3
337#define GDI_CACHED_HANDLE_TYPES 4
338#define CACHE_BRUSH_ENTRIES 10
339#define CACHE_PEN_ENTRIES 8
340#define CACHE_REGION_ENTRIES 8
341#define CACHE_LFONT_ENTRIES 1
430#define CFONT_REALIZATION 0x0080
507#define GDIBS_NORECT 0x80000000
667#define ASSERT_PFN(pfn) \
668 C_ASSERT(FIELD_OFFSET(DRIVER_FUNCTIONS, pfn) == sizeof(PVOID) * INDEX_Drv##pfn)
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
STRING Escape(const STRING &str)
return pFxInterrupt Synchronize(Callback, Context)
DWORD ResetDevice(DWORD private_handle)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
_In_ ULONG _In_ ULONG Offset
struct _TMW_INTERNAL * PTMW_INTERNAL
enum _TRANSFORMTYPE TRANSFORMTYPE
struct _ENUMFONTDATAW ENUMFONTDATAW
struct _GDIBSTEXTOUT GDIBSTEXTOUT
struct _PATRECT * PPATRECT
struct _GDIHANDLECACHE GDIHANDLECACHE
struct _EFLOAT_S EFLOAT_S
@ GDIObjType_UNUSED2_TYPE
@ GDIObjType_UNUSED5_TYPE
@ GDIObjType_UNUSED4_TYPE
@ GDIObjType_UNUSED1_TYPE
@ GDIObjType_CLIENTOBJ_TYPE
@ GDIObjType_EFSTATE_TYPE
#define CACHE_BRUSH_ENTRIES
struct _GDIHANDLECACHE * PGDIHANDLECACHE
struct _GDIBSEXTTEXTOUT * PGDIBSEXTTEXTOUT
#define CACHE_LFONT_ENTRIES
struct _DEVCAPS * PDEVCAPS
enum _HANDLECACHETYPE HANDLECACHETYPE
struct _GDIBSPPATBLT * PGDIBSPPATBLT
struct _REALIZATION_INFO * PREALIZATION_INFO
enum _GETSETDCDWORD GETSETDCDWORD
struct _GDIBATCHHDR * PGDIBATCHHDR
#define CACHE_REGION_ENTRIES
enum GDIObjType GDIOBJTYPE
D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI
struct _GDIBSEXTTEXTOUT GDIBSEXTTEXTOUT
enum _POLYFUNCTYPE POLYFUNCTYPE
enum _GDIBATCHCMD * PGDIBATCHCMD
enum _GETDCPOINT GETDCPOINT
struct _GDIBATCHHDR GDIBATCHHDR
struct _GDIBSOBJECT GDIBSOBJECT
struct _GDIBSSETBRHORG * PGDIBSSETBRHORG
enum _TRANSFORMTYPE * PTRANSFORMTYPE
struct _REALIZATION_INFO REALIZATION_INFO
struct _GDIBSEXTSELCLPRGN GDIBSEXTSELCLPRGN
enum GDILoObjType * PGDILOOBJTYPE
struct _GDIBSTEXTOUT * PGDIBSTEXTOUT
struct _TMW_INTERNAL TMW_INTERNAL
struct _CHWIDTHINFO CHWIDTHINFO
@ GdiGetSetEPSPrintingEscape
@ GdiGetSetMapperFlagsInternal
struct _ENUMFONTDATAW * PENUMFONTDATAW
struct _WIDTHDATA * PWIDTHDATA
struct _WIDTHDATA WIDTHDATA
@ GDILoObjType_LO_FONT_TYPE
@ GDILoObjType_LO_PALETTE_TYPE
@ GDILoObjType_LO_UMPD_TYPE
@ GDILoObjType_LO_CLIENTOBJ_TYPE
@ GDILoObjType_LO_BRUSH_TYPE
@ GDILoObjType_LO_BITMAP_TYPE
@ GDILoObjType_LO_METAFILE_TYPE
@ GDILoObjType_LO_METADC16_TYPE
@ GDILoObjType_LO_REGION_TYPE
@ GDILoObjType_LO_EXTPEN_TYPE
@ GDILoObjType_LO_METAFILE16_TYPE
@ GDILoObjType_LO_ICMLCS_TYPE
@ GDILoObjType_LO_DC_TYPE
@ GDILoObjType_LO_PEN_TYPE
@ GDILoObjType_LO_META_TYPE
@ GDILoObjType_LO_ALTDC_TYPE
@ GDILoObjType_LO_DIBSECTION_TYPE
enum _HANDLECACHETYPE * PHANDLECACHETYPE
enum _PALFUNCTYPE PALFUNCTYPE
struct _NTMW_INTERNAL * PNTMW_INTERNAL
struct _GDIBSOBJECT * PGDIBSOBJECT
enum GDIObjType * PGDIOBJTYPE
enum _GETDCPOINT * PGETDCPOINT
struct _UNIVERSAL_FONT_ID * PUNIVERSAL_FONT_ID
struct _GDIBSEXTSELCLPRGN * PGDIBSEXTSELCLPRGN
struct _GDIBSPPATBLT GDIBSPPATBLT
enum _GETDCDWORD * PGETDCDWORD
struct _DRIVER_FUNCTIONS DRIVER_FUNCTIONS
struct _GDIBSSETBRHORG GDIBSSETBRHORG
enum _POLYFUNCTYPE * PPOLYFUNCTYPE
struct _MATRIX_S MATRIX_S
enum GDILoObjType GDILOOBJTYPE
struct _DRIVER_FUNCTIONS * PDRIVER_FUNCTIONS
enum _PALFUNCTYPE * PPALFUNCTYPE
struct _GDIBSPATBLT GDIBSPATBLT
struct _NTMW_INTERNAL NTMW_INTERNAL
struct _UNIVERSAL_FONT_ID UNIVERSAL_FONT_ID
#define GDI_CACHED_HANDLE_TYPES
#define CACHE_PEN_ENTRIES
enum _GDIBATCHCMD GDIBATCHCMD
struct _CHWIDTHINFO * PCHWIDTHINFO
enum _GETSETDCDWORD * PGETSETDCDWORD
enum _GETDCDWORD GETDCDWORD
@ GdiGetAspectRatioFilter
struct _GDIBSPATBLT * PGDIBSPATBLT
PFN_DrvDisableDriver DisableDriver
PFN_DrvQueryFontData QueryFontData
PFN_DrvQueryFontCaps QueryFontCaps
PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform
PFN_DrvFontManagement FontManagement
PFN_DrvEnableDirectDraw EnableDirectDraw
PFN_DrvQuerySpoolType QuerySpoolType
PFN_DrvResetPDEV ResetPDEV
PFN_DrvQueryFont QueryFont
PFN_DrvCreateDeviceBitmap CreateDeviceBitmap
PFN_DrvDisableSurface DisableSurface
PFN_DrvStretchBltROP StretchBltROP
PFN_DrvStartPage StartPage
PFN_DrvGetTrueTypeFile GetTrueTypeFile
PFN_DrvStartBanding StartBanding
PFN_DrvSynchronize Synchronize
PFN_DrvLoadFontFile LoadFontFile
PFN_DrvStrokePath StrokePath
PFN_DrvEnableDriver EnableDriver
PFN_DrvMovePointer MovePointer
PFN_DrvQueryGlyphAttrs QueryGlyphAttrs
PFN_DrvCompletePDEV CompletePDEV
PFN_DrvDrawEscape DrawEscape
PFN_DrvStrokeAndFillPath StrokeAndFillPath
PFN_DrvDisablePDEV DisablePDEV
PFN_DrvAssertMode AssertMode
PFN_DrvSetPixelFormat SetPixelFormat
PFN_DrvMovePanning MovePanning
PFN_DrvResetDevice ResetDevice
PVOID GetSynthesizedFontFiles
PFN_DrvAlphaBlend AlphaBlend
PFN_DrvDestroyFont DestroyFont
PFN_DrvSetPointerShape SetPointerShape
PFN_DrvEnableSurface EnableSurface
PFN_DrvSynchronizeSurface SynchronizeSurface
PFN_DrvDescribePixelFormat DescribePixelFormat
PFN_DrvQueryTrueTypeOutline QueryTrueTypeOutline
PFN_DrvSaveScreenBits SaveScreenBits
PFN_DrvGetGlyphMode GetGlyphMode
PFN_DrvUnloadFontFile UnloadFontFile
PFN_DrvDisableDirectDraw DisableDirectDraw
PFN_DrvSwapBuffers SwapBuffers
PFN_DrvTransparentBlt TransparentBlt
PFN_DrvQueryPerBandInfo QueryPerBandInfo
PFN_DrvDeriveSurface DeriveSurface
PFN_DrvDitherColor DitherColor
PFN_DrvQueryFontFile QueryFontFile
PFN_DrvEnablePDEV EnablePDEV
PFN_DrvRealizeBrush RealizeBrush
PFN_DrvGetDirectDrawInfo GetDirectDrawInfo
PFN_DrvQueryDeviceSupport QueryDeviceSupport
PFN_DrvGradientFill GradientFill
PFN_DrvIcmCheckBitmapBits IcmCheckBitmapBits
PFN_DrvIcmCreateColorTransform IcmCreateColorTransform
PFN_DrvStretchBlt StretchBlt
PFN_DrvQueryTrueTypeTable QueryTrueTypeTable
PFN_DrvSetPalette SetPalette
PFN_DrvQueryAdvanceWidths QueryAdvanceWidths
PFN_DrvQueryFontTree QueryFontTree
PFN_DrvDeleteDeviceBitmap DeleteDeviceBitmap
PFN_DrvIcmSetDeviceGammaRamp IcmSetDeviceGammaRamp
HANDLE Handle[CACHE_BRUSH_ENTRIES+CACHE_PEN_ENTRIES+CACHE_REGION_ENTRIES+CACHE_LFONT_ENTRIES]
ULONG ulNumHandles[GDI_CACHED_HANDLE_TYPES]
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
FN_DrvStartPage * PFN_DrvStartPage
FN_DrvIcmSetDeviceGammaRamp * PFN_DrvIcmSetDeviceGammaRamp
FN_DrvDisableSurface * PFN_DrvDisableSurface
FN_DrvDestroyFont * PFN_DrvDestroyFont
FN_DrvQueryTrueTypeTable * PFN_DrvQueryTrueTypeTable
FN_DrvNotify * PFN_DrvNotify
FN_DrvLoadFontFile * PFN_DrvLoadFontFile
FN_DrvStartBanding * PFN_DrvStartBanding
FN_DrvIcmCreateColorTransform * PFN_DrvIcmCreateColorTransform
FN_DrvSetPointerShape * PFN_DrvSetPointerShape
FN_DrvQueryFont * PFN_DrvQueryFont
FN_DrvEndDoc * PFN_DrvEndDoc
FN_DrvNextBand * PFN_DrvNextBand
FN_DrvQueryGlyphAttrs * PFN_DrvQueryGlyphAttrs
FN_DrvBitBlt * PFN_DrvBitBlt
FN_DrvSynchronizeSurface * PFN_DrvSynchronizeSurface
FN_DrvSendPage * PFN_DrvSendPage
FN_DrvOffset * PFN_DrvOffset
FN_DrvStrokePath * PFN_DrvStrokePath
FN_DrvEnableSurface * PFN_DrvEnableSurface
FN_DrvSetPalette * PFN_DrvSetPalette
FN_DrvQueryFontFile * PFN_DrvQueryFontFile
FN_DrvIcmCheckBitmapBits * PFN_DrvIcmCheckBitmapBits
FN_DrvStretchBlt * PFN_DrvStretchBlt
FN_DrvQueryFontCaps * PFN_DrvQueryFontCaps
FN_DrvDitherColor * PFN_DrvDitherColor
FN_DrvPaint * PFN_DrvPaint
FN_DrvTransparentBlt * PFN_DrvTransparentBlt
FN_DrvGradientFill * PFN_DrvGradientFill
FN_DrvStrokeAndFillPath * PFN_DrvStrokeAndFillPath
FN_DrvFontManagement * PFN_DrvFontManagement
FN_DrvQueryDeviceSupport * PFN_DrvQueryDeviceSupport
FN_DrvFillPath * PFN_DrvFillPath
FN_DrvUnloadFontFile * PFN_DrvUnloadFontFile
FN_DrvSwapBuffers * PFN_DrvSwapBuffers
FN_DrvDrawEscape * PFN_DrvDrawEscape
FN_DrvQueryFontTree * PFN_DrvQueryFontTree
FN_DrvDeleteDeviceBitmap * PFN_DrvDeleteDeviceBitmap
FN_DrvEnableDirectDraw * PFN_DrvEnableDirectDraw
FN_DrvResetDevice * PFN_DrvResetDevice
FN_DrvCompletePDEV * PFN_DrvCompletePDEV
FN_DrvSynchronize * PFN_DrvSynchronize
FN_DrvAssertMode * PFN_DrvAssertMode
FN_DrvQueryFontData * PFN_DrvQueryFontData
FN_DrvMovePanning * PFN_DrvMovePanning
FN_DrvRealizeBrush * PFN_DrvRealizeBrush
FN_DrvEscape * PFN_DrvEscape
FN_DrvAlphaBlend * PFN_DrvAlphaBlend
FN_DrvStretchBltROP * PFN_DrvStretchBltROP
FN_DrvDeriveSurface * PFN_DrvDeriveSurface
FN_DrvPlgBlt * PFN_DrvPlgBlt
FN_DrvEnableDriver * PFN_DrvEnableDriver
FN_DrvIcmDeleteColorTransform * PFN_DrvIcmDeleteColorTransform
FN_DrvQuerySpoolType * PFN_DrvQuerySpoolType
FN_DrvMovePointer * PFN_DrvMovePointer
FN_DrvSetPixelFormat * PFN_DrvSetPixelFormat
FN_DrvDisableDirectDraw * PFN_DrvDisableDirectDraw
FN_DrvEnablePDEV * PFN_DrvEnablePDEV
FN_DrvCopyBits * PFN_DrvCopyBits
FN_DrvGetDirectDrawInfo * PFN_DrvGetDirectDrawInfo
FN_DrvLineTo * PFN_DrvLineTo
FN_DrvStartDoc * PFN_DrvStartDoc
FN_DrvSaveScreenBits * PFN_DrvSaveScreenBits
FN_DrvTextOut * PFN_DrvTextOut
FN_DrvQueryPerBandInfo * PFN_DrvQueryPerBandInfo
FN_DrvResetPDEV * PFN_DrvResetPDEV
FN_DrvGetModes * PFN_DrvGetModes
FN_DrvQueryTrueTypeOutline * PFN_DrvQueryTrueTypeOutline
FN_DrvCreateDeviceBitmap * PFN_DrvCreateDeviceBitmap
FN_DrvDescribePixelFormat * PFN_DrvDescribePixelFormat
FN_DrvGetGlyphMode * PFN_DrvGetGlyphMode
FN_DrvQueryAdvanceWidths * PFN_DrvQueryAdvanceWidths
FN_DrvDisableDriver * PFN_DrvDisableDriver
FN_DrvGetTrueTypeFile * PFN_DrvGetTrueTypeFile
FN_DrvDisablePDEV * PFN_DrvDisablePDEV
BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR *)
BOOL WINAPI FillPath(_In_ HDC)
int WINAPI EndDoc(_In_ HDC)
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)
int WINAPI DescribePixelFormat(_In_ HDC hdc, _In_ int iPixelFormat, _In_ UINT nBytes, _Out_writes_bytes_opt_(nBytes) LPPIXELFORMATDESCRIPTOR ppfd)
BOOL WINAPI SwapBuffers(HDC)
BOOL WINAPI StrokePath(_In_ HDC)
int WINAPI StartPage(_In_ HDC)
int WINAPI DrawEscape(_In_ HDC hdc, _In_ int iEscape, _In_ int cjIn, _In_reads_bytes_opt_(cjIn) LPCSTR lpIn)
BOOL WINAPI StrokeAndFillPath(_In_ HDC)
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)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free