2 * WinDDI.h - definition of the GDI - DDI interface
8 #if defined(WIN32_LEAN_AND_MEAN) && defined(_GNU_H_WINDOWS32_STRUCTURES)
9 #error "windows.h cannot be included before winddi.h if WIN32_LEAN_AND_MEAN is defined"
12 #ifdef WIN32_LEAN_AND_MEAN
13 #undef WIN32_LEAN_AND_MEAN
15 #define WIN32_LEAN_AND_MEAN
27 typedef DWORD PTRDIFF
;
30 /* FIXME: find definitions for these structs */
31 typedef PVOID PCOLORADJUSTMENT
;
32 typedef PVOID PDD_CALLBACKS
;
33 typedef PVOID PDD_HALINFO
;
34 typedef PVOID PDD_PALETTECALLBACKS
;
35 typedef PVOID PDD_SURFACECALLBACKS
;
36 typedef PVOID PFONTINFO
;
37 typedef PVOID PGAMMA_TABLES
;
38 typedef PVOID PGLYPHDATA
;
39 typedef PVOID PLINEATTRS
;
42 typedef PVOID PSTROBJ
;
43 typedef PVOID PTTPOLYGONHEADER
;
44 typedef PVOID PVIDEOMEMORY
;
46 #define DDI_DRIVER_VERSION 0x00010000
48 /* FIXME: how big should this constant be? */
51 /* EngCreateBitmap format types */
64 #define BMF_TOPDOWN 0x00000001
65 #define BMF_NOZEROINIT 0x00000002
66 #define BMF_DONTCACHE 0x00000004
67 #define BMF_USERMEM 0x00000008
68 #define BMF_KMSECTION 0x00000010
70 /* Options for CLIPOBJ_cEnumStart BuildOrder field */
80 /* Options for CLIPOBJ_cEnumStart Type field */
81 #define CT_RECTANGLE 1
85 #define DCR_HALFTONE 2
87 #define DMMAXDEVICENAME 32
88 #define DMMAXFORMNAME 32
90 #define DM_DEFAULT 0x00000001
91 #define DM_MONOCHROME 0x00000002
93 #define ED_ABORTDOC 0x00000001
101 #define FM_INFO_TECH_TRUETYPE 0x00000001
102 #define FM_INFO_TECH_BITMAP 0x00000002
103 #define FM_INFO_TECH_STROKE 0x00000004
104 #define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
105 #define FM_INFO_ARB_XFORMS 0x00000010
106 #define FM_INFO_1BPP 0x00000020
107 #define FM_INFO_4BPP 0x00000040
108 #define FM_INFO_8BPP 0x00000080
109 #define FM_INFO_16BPP 0x00000100
110 #define FM_INFO_24BPP 0x00000200
111 #define FM_INFO_32BPP 0x00000400
112 #define FM_INFO_INTEGER_WIDTH 0x00000800
113 #define FM_INFO_CONSTANT_WIDTH 0x00001000
114 #define FM_INFO_NOT_CONTIGUOUS 0x00002000
115 #define FM_INFO_PID_EMBEDDED 0x00004000
116 #define FM_INFO_RETURNS_OUTLINES 0x00008000
117 #define FM_INFO_RETURNS_STROKES 0x00010000
118 #define FM_INFO_RETURNS_BITMAPS 0x00020000
119 #define FM_INFO_UNICODE_COMPLIANT 0x00040000
120 #define FM_INFO_RIGHT_HANDED 0x00080000
121 #define FM_INFO_INTEGRAL_SCALING 0x00100000
122 #define FM_INFO_90DEGREE_ROTATIONS 0x00200000
123 #define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000
124 #define FM_INFO_DO_NOT_ENUMERATE 0x00800000
125 #define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000
126 #define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000
127 #define FM_INFO_TID_EMBEDDED 0x04000000
128 #define FM_INFO_FAMILY_EQUIV 0x08000000
129 #define FM_INFO_DBCS_FIXED_PITCH 0x10000000
130 #define FM_INFO_NONNEGATIVE_AC 0x20000000
131 #define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000
132 #define FM_INFO_TECH_TYPE1 0x80000000
134 #define FM_SEL_ITALIC 0x00000001
135 #define FM_SEL_UNDERSCORE 0x00000002
136 #define FM_SEL_NEGATIVE 0x00000004
137 #define FM_SEL_OUTLINED 0x00000008
138 #define FM_SEL_STRIKEOUT 0x00000010
139 #define FM_SEL_BOLD 0x00000020
140 #define FM_SEL_REGULAR 0x00000040
142 #define FM_TYPE_LICENSED 0x00000002
143 #define FM_READONLY_EMBED 0x00000004
144 #define FM_EDITABLE_EMBED 0x00000008
145 #define FM_NO_EMBEDDING 0x00000002
147 #define FO_TYPE_RASTER RASTER_FONTTYPE
148 #define FO_TYPE_DEVICE DEVICE_FONTTYPE
149 #define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
150 #define FO_SIM_BOLD 0x00002000
151 #define FO_SIM_ITALIC 0x00004000
152 #define FO_EM_HEIGHT 0x00008000
153 #define FO_GRAY16 0x00010000
154 #define FO_NOGRAY16 0x00020000
155 #define FO_NOHINTS 0x00040000
156 #define FO_NO_CHOICE 0x00080000
160 FP_ALTERNATEMODE
= 1,
171 /* EngAssocateSurface hook flags */
172 #define HOOK_BITBLT 0x00000001
173 #define HOOK_STRETCHBLT 0x00000002
174 #define HOOK_PLGBLT 0x00000004
175 #define HOOK_TEXTOUT 0x00000008
176 #define HOOK_PAINT 0x00000010
177 #define HOOK_STROKEPATH 0x00000020
178 #define HOOK_FILLPATH 0x00000040
179 #define HOOK_STROKEANDFILLPATH 0x00000080
180 #define HOOK_LINETO 0x00000100
181 #define HOOK_COPYBITS 0x00000400
182 #define HOOK_SYNCHRONIZE 0x00001000
183 #define HOOK_SYNCHRONIZEACCESS 0x00004000
188 INDEX_DrvCompletePDEV
,
189 INDEX_DrvDisablePDEV
,
190 INDEX_DrvEnableSurface
,
191 INDEX_DrvDisableSurface
,
193 INDEX_DrvResetPDEV
= 7,
194 INDEX_DrvCreateDeviceBitmap
= 10,
195 INDEX_DrvDeleteDeviceBitmap
,
196 INDEX_DrvRealizeBrush
,
197 INDEX_DrvDitherColor
,
200 INDEX_DrvStrokeAndFillPath
,
205 INDEX_DrvSetPalette
= 22,
210 INDEX_DrvQueryFontTree
,
211 INDEX_DrvQueryFontData
,
212 INDEX_DrvSetPointerShape
,
213 INDEX_DrvMovePointer
,
219 INDEX_DrvGetGlyphMode
= 37,
220 INDEX_DrvSynchronize
,
221 INDEX_DrvSaveScreenBits
= 40,
224 INDEX_DrvDestroyFont
,
225 INDEX_DrvQueryFontCaps
,
226 INDEX_DrvLoadFontFile
,
227 INDEX_DrvUnloadFontFile
,
228 INDEX_DrvFontManagement
,
229 INDEX_DrvQueryTrueTypeTable
,
230 INDEX_DrvQueryTrueTypeOutline
,
231 INDEX_DrvGetTrueTypeFile
,
232 INDEX_DrvQueryFontFile
,
233 INDEX_DrvQueryAdvanceWidths
= 53,
234 INDEX_DrvSetPixelFormat
,
235 INDEX_DrvDescribePixelFormat
,
236 INDEX_DrvSwapBuffers
,
237 INDEX_DrvStartBanding
,
239 INDEX_DrvGetDirectDrawInfo
,
240 INDEX_DrvEnableDirectDraw
,
241 INDEX_DrvDisableDirectDraw
,
242 INDEX_DrvQuerySpoolType
,
246 /* EngCreatePalette mode types */
247 #define PAL_INDEXED 0x00000001
248 #define PAL_BITFIELDS 0x00000002
249 #define PAL_RGB 0x00000004
250 #define PAL_BGR 0x00000008
252 enum _QUERY_ADVANCE_WIDTH_TYPES
258 #define QC_OUTLINES 0x00000001
259 #define QC_1BIT 0x00000002
260 #define QC_4BIT 0x00000004
268 #define RB_DITHERCOLOR 0x80000000
274 SPS_ACCEPT_NOEXCLUDE
,
278 #define SPS_CHANGE 0x00000001L
279 #define SPS_ASYNCCHANGE 0x00000002L
280 #define SPS_ANIMATESTART 0x00000004L
281 #define SPS_ANIMATEUPDATE 0x00000008L
294 #define WO_RGN_CLIENT_DELTA 0x00000001
295 #define WO_RGN_CLIENT 0x00000002
296 #define WO_RGN_SURFACE_DELTA 0x00000004
297 #define WO_RGN_SURFACE 0x00000008
298 #define WO_RGN_UPDATE_ALL 0x00000010
300 #define WOC_RGN_CLIENT_DELTA 0x00000001
301 #define WOC_RGN_CLIENT 0x00000002
302 #define WOC_RGN_SURFACE_DELTA 0x00000004
303 #define WOC_RGN_SURFACE 0x00000008
304 #define WOC_CHANGED 0x00000010
305 #define WOC_DELETE 0x00000020
308 typedef HANDLE HGLYPH
;
309 typedef HANDLE HSURF
;
310 typedef HANDLE DHPDEV
;
311 typedef HANDLE DHSURF
;
312 typedef ULONG (*PFN
)(VOID
);
314 typedef struct _DRVFN
321 * DRVENABLEDATA - this structure is passed to the DDI from the GDI
322 * in the function DrvEnableDriver to determine driver parameters.
325 typedef struct _DRVENABLEDATA
327 ULONG iDriverVersion
;
330 } DRVENABLEDATA
, *PDRVENABLEDATA
;
332 /* FIXME: replace this with correct def for LDECI4 */
333 typedef DWORD LDECI4
;
335 typedef struct _CIECHROMA
340 } CIECHROMA
, *PCIECHROMA
;
342 typedef struct _COLORINFO
350 CIECHROMA AlignmentWhite
;
354 LDECI4 MagentaInCyanDye
;
355 LDECI4 YellowInCyanDye
;
356 LDECI4 CyanInMagentaDye
;
357 LDECI4 YellowInMagentaDye
;
358 LDECI4 CyanInYellowDye
;
359 LDECI4 MagentaInYellowDye
;
360 } COLORINFO
, *PCOLORINFO
;
362 typedef struct _DEVINFO
364 ULONG flGraphicsCaps
;
365 LOGFONT lfDefaultFont
;
366 LOGFONT lfAnsiVarFont
;
367 LOGFONT lfAnsiFixFont
;
372 HPALETTE hpalDefault
;
373 } DEVINFO
, *PDEVINFO
;
375 typedef struct _GDIINFO
399 POINTL ptlPhysOffset
;
403 ULONG ulDevicePelsDPI
;
404 ULONG ulPrimaryOrder
;
405 ULONG ulHTPatternSize
;
406 ULONG ulHTOutputFormat
;
409 ULONG ulBltAlignment
;
410 ULONG ulPanningHorzRes
;
411 ULONG ulPanningVertRes
;
412 } GDIINFO
, *PGDIINFO
;
414 typedef struct _DEVMODEW
416 WCHAR dmDeviceName
[DMMAXDEVICENAME
];
418 WORD dmDriverVersion
;
428 short dmDefaultSource
;
429 short dmPrintQuality
;
435 WCHAR dmFormName
[DMMAXFORMNAME
];
440 DWORD dmDisplayFlags
;
441 DWORD dmDisplayFrequency
;
442 } DEVMODEW
, *PDEVMODEW
;
444 typedef struct _BRUSHOBJ
449 /* remainder of fields are for GDI internal use */
451 } BRUSHOBJ
, *PBRUSHOBJ
;
453 typedef struct _CLIPOBJ
461 } CLIPOBJ
, *PCLIPOBJ
;
463 typedef struct _ENUMRECTS
467 } ENUMRECTS
, *PENUMRECTS
;
469 typedef struct _FONTOBJ
481 } FONTOBJ
, *PFONTOBJ
;
483 typedef struct _IFIMETRICS
487 PTRDIFF dpwszFamilyName
;
488 PTRDIFF dpwszStyleName
;
489 PTRDIFF dpwszFaceName
;
490 PTRDIFF dpwszUniqueName
;
497 BYTE jWinPitchAndFamily
;
505 WORD fwdWinDescender
;
507 WORD fwdMacDescender
;
509 WORD fwdTypoAscender
;
510 WORD fwdTypoDescender
;
512 WORD fwdAveCharWidth
;
516 WORD fwdSubScriptXSize
;
517 WORD fwdSubScriptYSize
;
518 WORD fwdSubScriptXOffset
;
519 WORD fwdSubScriptYOffset
;
520 WORD fwdSuperScriptXSize
;
521 WORD fwdSuperScriptYSize
;
522 WORD fwdSuperScriptXOffset
;
523 WORD fwdSuperScriptYOffset
;
524 WORD fwdUnderscoreSize
;
525 WORD fwdUnderscorePosition
;
526 WORD fwdStrikeoutSize
;
527 WORD fwdStrikeoutPosition
;
542 ULONG ulPanoseCulture
;
544 } IFIMETRICS
, *PIFIMETRICS
;
546 typedef struct _PALOBJ
551 typedef struct _PATHOBJ
555 } PATHOBJ
, *PPATHOBJ
;
557 typedef struct _SURFOBJ
572 } SURFOBJ
, *PSURFOBJ
;
574 typedef struct _WNDOBJ
581 typedef VOID (CALLBACK
* WNDOBJCHANGEPROC
)(PWNDOBJ WndObj
, ULONG Flags
);
583 typedef struct _XFORMOBJ
585 /* FIXME: what does this beast look like? */
586 } XFORMOBJ
, *PXFORMOBJ
;
588 typedef struct _XLATEOBJ
596 } XLATEOBJ
, *PXLATEOBJ
;
599 * Functions Prefixed with Drv are calls made from GDI to DDI, and
600 * everything else are calls made from DDI to GDI. DDI is
601 * not allowed to make calls to any other kernel or user modules.
604 /* GDI --> DDI calls */
605 VOID
DrvAssertMode(IN DHPDEV PDev
,
606 IN BOOL ShouldEnable
);
607 BOOL
DrvBitBlt(IN PSURFOBJ DestSurface
,
608 IN PSURFOBJ SrcSurface
,
609 IN PSURFOBJ MaskSurface
,
611 IN PXLATEOBJ XLateObj
,
613 IN PPOINTL SrcPointL
,
614 IN PPOINTL MaskPointL
,
615 IN PBRUSHOBJ BrushObj
,
616 IN PPOINTL BrushPointL
,
618 VOID
DrvCompletePDEV(IN DHPDEV PDev
,
620 BOOL
DrvCopyBits(OUT PSURFOBJ DestSurface
,
621 IN PSURFOBJ SrcSurface
,
623 IN PXLATEOBJ XLateObj
,
625 IN PPOINTL SrcPointL
);
626 HBITMAP
DrvCreateDeviceBitmap(IN DHPDEV DPev
,
629 VOID
DrvDeleteDeviceBitmap(IN DHSURF Surface
);
630 LONG
DrvDescribePixelFormat(IN DHPDEV DPev
,
632 IN ULONG DescriptorSize
,
633 OUT PPIXELFORMATDESCRIPTOR PFD
);
634 VOID
DrvDestroyFont(IN PFONTOBJ FontObj
);
635 VOID
DrvDisableDirectDraw(IN DHPDEV PDev
);
636 VOID
DrvDisableDriver(VOID
);
637 VOID
DrvDisablePDEV(IN DHPDEV PDev
);
638 VOID
DrvDisableSurface(IN DHPDEV PDev
);
639 ULONG
DrvDitherColor(IN DHPDEV DPev
,
642 OUT PULONG DitherBits
);
643 ULONG
DrvDrawEscape(IN PSURFOBJ SurfObj
,
648 IN PVOID
*InputData
);
649 BOOL
DrvEnableDirectDraw(IN DHPDEV PDev
,
650 IN PDD_CALLBACKS Callbacks
,
651 IN PDD_SURFACECALLBACKS SurfaceCallbacks
,
652 IN PDD_PALETTECALLBACKS PaletteCallbacks
);
653 BOOL
DrvEnableDriver(IN ULONG Version
,
655 OUT PDRVENABLEDATA DED
);
656 DHPDEV
DrvEnablePDEV(IN DEVMODEW
*DM
,
657 IN LPWSTR LogAddress
,
658 IN ULONG PatternCount
,
659 OUT HSURF
*SurfPatterns
,
662 IN ULONG DevInfoSize
,
664 IN LPWSTR DevDataFile
,
665 IN LPWSTR DeviceName
,
667 HSURF
DrvEnableSurface(IN DHPDEV PDev
);
668 BOOL
DrvEndDoc(IN PSURFOBJ SurfObj
,
670 ULONG
DrvEscape(IN PSURFOBJ SurfObj
,
675 OUT PVOID
*OutputData
);
676 BOOL
DrvFillPath(IN PSURFOBJ SurfObj
,
679 IN PBRUSHOBJ BrushObj
,
683 ULONG
DrvFontManagement(IN PSURFOBJ SurfObj
,
689 OUT PVOID OutputData
);
690 VOID
DrvFree(IN PVOID Obj
,
692 BOOL
DrvGetDirectDrawInfo(IN DHPDEV PDev
,
693 IN PDD_HALINFO HalInfo
,
695 IN PVIDEOMEMORY List
,
696 IN PDWORD NumFourCCCodes
,
698 ULONG
DrvGetGlyphMode(IN DHPDEV DPev
,
699 IN PFONTOBJ FontObj
);
700 ULONG
DrvGetModes(IN HANDLE Driver
,
703 PVOID
DrvGetTrueTypeFile(IN ULONG FileNumber
,
705 BOOL
DrvLineTo(IN PSURFOBJ SurfObj
,
707 IN PBRUSHOBJ BrushObj
,
714 ULONG
DrvLoadFontFile(IN ULONG FileNumber
,
718 VOID
DrvMovePointer(IN PSURFOBJ SurfObj
,
722 BOOL
DrvNextBand(IN PSURFOBJ SurfObj
,
724 BOOL
DrvPaint(IN PSURFOBJ SurfObj
,
726 IN PBRUSHOBJ BrushObj
,
729 BOOL
DrvQueryAdvanceWidths(IN DHPDEV DPev
,
735 PIFIMETRICS
DrvQueryFont(IN DHPDEV PDev
,
738 IN PULONG Identifier
);
739 LONG
DrvQueryFontCaps(IN ULONG CapsSize
,
740 OUT PULONG CapsData
);
741 LONG
DrvQueryFontData(IN DHPDEV DPev
,
745 IN PGLYPHDATA GlyphData
,
747 IN ULONG BufferSize
);
748 LONG
DrvQueryFontFile(IN ULONG FileNumber
,
752 PVOID
DrvQueryFontTree(IN DHPDEV PDev
,
757 BOOL
DrvQuerySpoolType(DHPDEV PDev
,
759 LONG
DrvQueryTrueTypeOutline(IN DHPDEV PDev
,
763 IN PGLYPHDATA GlyphData
,
765 OUT PTTPOLYGONHEADER Polygons
);
766 LONG
DrvQueryTrueTypeTable(IN ULONG FileNumber
,
772 BOOL
DrvRealizeBrush(IN PBRUSHOBJ BrushObj
,
773 IN PSURFOBJ TargetSurface
,
774 IN PSURFOBJ PatternSurface
,
775 IN PSURFOBJ MaskSurface
,
776 IN PXLATEOBJ XLateObj
,
778 BOOL
DrvResetPDEV(IN DHPDEV PDevOld
,
780 ULONG
DrvSaveScreenBits(IN PSURFOBJ SurfObj
,
784 BOOL
DrvSendPage(IN PSURFOBJ SurfObj
);
785 BOOL
DrvSetPalette(IN DHPDEV PDev
,
786 IN PPALOBJ PaletteObj
,
790 ULONG
DrvSetPointerShape(IN PSURFOBJ SurfObj
,
791 IN PSURFOBJ MaskSurface
,
792 IN PSURFOBJ ColorSurface
,
793 IN PXLATEOBJ XLateObj
,
800 BOOL
DrvStartBanding(IN PSURFOBJ SurfObj
,
802 BOOL
DrvStartDoc(IN PSURFOBJ SurfObj
,
805 BOOL
DrvStartPage(IN PSURFOBJ SurfObj
);
806 BOOL
DrvStretchBlt(IN PSURFOBJ DestSurface
,
807 IN PSURFOBJ SrcSurface
,
808 IN PSURFOBJ MaskSurface
,
810 IN PXLATEOBJ XLateObj
,
811 IN PCOLORADJUSTMENT CA
,
817 BOOL
DrvStrokeAndFillPath(IN PSURFOBJ SurfObj
,
820 IN PXFORMOBJ XFormObj
,
821 IN PBRUSHOBJ StrokeBrush
,
822 IN PLINEATTRS LineAttrs
,
823 IN PBRUSHOBJ FillBrush
,
827 BOOL
DrvStrokePath(IN PSURFOBJ SurfObj
,
829 IN PCLIPOBJ PClipObj
,
830 IN PXFORMOBJ XFormObj
,
831 IN PBRUSHOBJ BrushObj
,
833 IN PLINEATTRS LineAttrs
,
835 VOID
DrvSynchronize(IN DHPDEV PDev
,
837 BOOL
DrvTextOut(IN PSURFOBJ SurfObj
,
842 IN PRECTL OpaqueRect
,
843 IN PBRUSHOBJ ForegroundBrush
,
844 IN PBRUSHOBJ OpaqueBrush
,
847 BOOL
DrvUnloadFontFile(IN ULONG FileNumber
);
849 /* DDI --> GDI calls */
850 PVOID
BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj
,
852 PVOID
BRUSHOBJ_pvGetRbrush(IN PBRUSHOBJ BrushObj
);
853 BOOL
CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj
,
855 OUT ULONG
*EnumRects
);
856 ULONG
CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj
,
861 PPATHOBJ
CLIPOBJ_ppoGetPath(PCLIPOBJ ClipObj
);
867 /* FIXME: find correct defines for following symbols */
869 #define FL_ZERO_MEMORY 1
871 PVOID APIENTRY
EngAllocMem(ULONG Flags
,
879 BOOL
EngAssociateSurface(IN HSURF Surface
,
890 HBITMAP
EngCreateBitmap(IN SIZEL Size
,
898 EngCreateDeviceBitmap
901 HSURF
EngCreateDeviceSurface(IN DHSURF Surface
,
903 IN ULONG FormatVersion
);
910 HPALETTE
EngCreatePalette(IN ULONG Mode
,
920 EngDebugBreak = NTOSKRNL.DbgBreakPoint
923 VOID APIENTRY
EngDebugPrint(PCHAR StandardPrefix
,
927 HANDLE STDCALL
EngLoadImage(LPWSTR DriverName
);
942 EngFindImageProcAddress
947 EngGetCurrentCodePage
955 EngGetPrinterDataFileName
961 EngLoadModuleForWrite
967 EngMarkBandingSurface
970 EngMultiByteToUnicodeN
971 EngMultiByteToWideChar
974 EngProbeForReadAndWrite = NTOSKRNL.ProbeForWrite
977 EngQueryPerformanceCounter
978 EngQueryPerformanceFrequency
980 EngRestoreFloatingPointState
981 EngSaveFloatingPointState
993 EngUnicodeToMultiByteN
999 EngUnsecureMem = NTOSKRNL.MmUnsecureVirtualMemory
1000 EngWaitForSingleObject
1001 EngWideCharToMultiByte
1005 FLOATOBJ_AddFloatObj
1009 FLOATOBJ_DivFloatObj
1015 FLOATOBJ_GreaterThan
1016 FLOATOBJ_GreaterThanLong
1018 FLOATOBJ_LessThanLong
1021 FLOATOBJ_MulFloatObj
1028 FLOATOBJ_SubFloatObj
1032 ULONG
FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj
,
1034 ULONG
FONTOBJ_cGetGlyphs(IN PFONTOBJ FontObj
,
1037 IN HGLYPH
*GlyphHandles
,
1038 IN PVOID
*OutGlyphs
);
1039 PGAMMA_TABLES
FONTOBJ_pGetGammaTables(IN PFONTOBJ FontObj
);
1040 IFIMETRICS
*FONTOBJ_pifi(IN PFONTOBJ FontObj
);
1041 PVOID
FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj
,
1042 IN ULONG
*FileSize
);
1043 XFORMOBJ
*FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj
);
1044 VOID
FONTOBJ_vGetInfo(IN PFONTOBJ FontObj
,
1046 OUT PFONTINFO FontInfo
);
1049 HT_ComputeRGBGammaTable
1050 HT_Get8BPPFormatPalette
1052 PATHOBJ_bCloseFigure
1054 PATHOBJ_bEnumClipLines
1056 PATHOBJ_bPolyBezierTo
1059 PATHOBJ_vEnumStartClipLines
1061 RtlAnsiCharToUnicodeChar = NTOSKRNL.RtlAnsiCharToUnicodeChar
1062 RtlMultiByteToUnicodeN = NTOSKRNL.RtlMultiByteToUnicodeN
1063 RtlRaiseException = NTOSKRNL.RtlRaiseException
1064 RtlUnicodeToMultiByteN = NTOSKRNL.RtlUnicodeToMultiByteN
1065 RtlUnicodeToMultiByteSize = NTOSKRNL.RtlUnicodeToMultiByteSize
1066 RtlUnwind = NTOSKRNL.RtlUnwind
1067 RtlUpcaseUnicodeChar = NTOSKRNL.RtlUpcaseUnicodeChar
1068 RtlUpcaseUnicodeToMultiByteN = NTOSKRNL.RtlUpcaseUnicodeToMultiByteN
1070 STROBJ_dwGetCodePage
1075 XFORMOBJ_bApplyXform
1076 XFORMOBJ_iGetFloatObjXform
1078 XLATEOBJ_cGetPalette