mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
more additions to DDI interface
svn path=/trunk/; revision=500
This commit is contained in:
parent
e30ffd7e27
commit
2a87426631
1 changed files with 579 additions and 181 deletions
|
@ -4,11 +4,276 @@
|
|||
|
||||
#include <windows.h>
|
||||
|
||||
/* EngCreateBitmap format types */
|
||||
enum _BMF_TYPES
|
||||
{
|
||||
BMF_1BPP = 1,
|
||||
BMF_4BPP,
|
||||
BMF_8BPP,
|
||||
BMF_16BPP,
|
||||
BMF_24BPP,
|
||||
BMF_32BPP,
|
||||
BMF_4RLE,
|
||||
BMF_8RLE
|
||||
};
|
||||
|
||||
#define BMF_TOPDOWN 0x00000001
|
||||
#define BMF_NOZEROINIT 0x00000002
|
||||
#define BMF_DONTCACHE 0x00000004
|
||||
#define BMF_USERMEM 0x00000008
|
||||
#define BMF_KMSECTION 0x00000010
|
||||
|
||||
/* Options for CLIPOBJ_cEnumStart BuildOrder field */
|
||||
enum _CD_ORDERS
|
||||
{
|
||||
CD_RIGHTDOWN,
|
||||
CD_LEFTDOWN,
|
||||
CD_RIGHTUP,
|
||||
CD_LEFTUP,
|
||||
CD_ANY
|
||||
};
|
||||
|
||||
/* Options for CLIPOBJ_cEnumStart Type field */
|
||||
#define CT_RECTANGLE 1
|
||||
|
||||
#define DCR_SOLID 0
|
||||
#define DCR_DRIVER 1
|
||||
#define DCR_HALFTONE 2
|
||||
|
||||
#define DMMAXDEVICENAME 32
|
||||
#define DMMAXFORMNAME 32
|
||||
|
||||
#define DM_DEFAULT 0x00000001
|
||||
#define DM_MONOCHROME 0x00000002
|
||||
|
||||
#define ED_ABORTDOC 0x00000001
|
||||
|
||||
enum _ESCAPE_CODES
|
||||
{
|
||||
ESC_PASSTHROUGH,
|
||||
ESC_QUERYESCSUPPORT
|
||||
};
|
||||
|
||||
#define FM_INFO_TECH_TRUETYPE 0x00000001
|
||||
#define FM_INFO_TECH_BITMAP 0x00000002
|
||||
#define FM_INFO_TECH_STROKE 0x00000004
|
||||
#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
|
||||
#define FM_INFO_ARB_XFORMS 0x00000010
|
||||
#define FM_INFO_1BPP 0x00000020
|
||||
#define FM_INFO_4BPP 0x00000040
|
||||
#define FM_INFO_8BPP 0x00000080
|
||||
#define FM_INFO_16BPP 0x00000100
|
||||
#define FM_INFO_24BPP 0x00000200
|
||||
#define FM_INFO_32BPP 0x00000400
|
||||
#define FM_INFO_INTEGER_WIDTH 0x00000800
|
||||
#define FM_INFO_CONSTANT_WIDTH 0x00001000
|
||||
#define FM_INFO_NOT_CONTIGUOUS 0x00002000
|
||||
#define FM_INFO_PID_EMBEDDED 0x00004000
|
||||
#define FM_INFO_RETURNS_OUTLINES 0x00008000
|
||||
#define FM_INFO_RETURNS_STROKES 0x00010000
|
||||
#define FM_INFO_RETURNS_BITMAPS 0x00020000
|
||||
#define FM_INFO_UNICODE_COMPLIANT 0x00040000
|
||||
#define FM_INFO_RIGHT_HANDED 0x00080000
|
||||
#define FM_INFO_INTEGRAL_SCALING 0x00100000
|
||||
#define FM_INFO_90DEGREE_ROTATIONS 0x00200000
|
||||
#define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000
|
||||
#define FM_INFO_DO_NOT_ENUMERATE 0x00800000
|
||||
#define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000
|
||||
#define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000
|
||||
#define FM_INFO_TID_EMBEDDED 0x04000000
|
||||
#define FM_INFO_FAMILY_EQUIV 0x08000000
|
||||
#define FM_INFO_DBCS_FIXED_PITCH 0x10000000
|
||||
#define FM_INFO_NONNEGATIVE_AC 0x20000000
|
||||
#define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000
|
||||
#define FM_INFO_TECH_TYPE1 0x80000000
|
||||
|
||||
#define FM_SEL_ITALIC 0x00000001
|
||||
#define FM_SEL_UNDERSCORE 0x00000002
|
||||
#define FM_SEL_NEGATIVE 0x00000004
|
||||
#define FM_SEL_OUTLINED 0x00000008
|
||||
#define FM_SEL_STRIKEOUT 0x00000010
|
||||
#define FM_SEL_BOLD 0x00000020
|
||||
#define FM_SEL_REGULAR 0x00000040
|
||||
|
||||
#define FM_TYPE_LICENSED 0x00000002
|
||||
#define FM_READONLY_EMBED 0x00000004
|
||||
#define FM_EDITABLE_EMBED 0x00000008
|
||||
#define FM_NO_EMBEDDING 0x00000002
|
||||
|
||||
#define FO_TYPE_RASTER RASTER_FONTTYPE
|
||||
#define FO_TYPE_DEVICE DEVICE_FONTTYPE
|
||||
#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
|
||||
#define FO_SIM_BOLD 0x00002000
|
||||
#define FO_SIM_ITALIC 0x00004000
|
||||
#define FO_EM_HEIGHT 0x00008000
|
||||
#define FO_GRAY16 0x00010000
|
||||
#define FO_NOGRAY16 0x00020000
|
||||
#define FO_NOHINTS 0x00040000
|
||||
#define FO_NO_CHOICE 0x00080000
|
||||
|
||||
enum _FP_MODES
|
||||
{
|
||||
FP_ALTERNATEMODE = 1,
|
||||
FP_WINDINGMODE
|
||||
};
|
||||
|
||||
enum _GLYPH_MODE
|
||||
{
|
||||
FO_HGLYPHS,
|
||||
FO_GLYPHBITS,
|
||||
FO_PATHOBJ
|
||||
};
|
||||
|
||||
/* EngAssocateSurface hook flags */
|
||||
#define HOOK_BITBLT 0x00000001
|
||||
#define HOOK_STRETCHBLT 0x00000002
|
||||
#define HOOK_PLGBLT 0x00000004
|
||||
#define HOOK_TEXTOUT 0x00000008
|
||||
#define HOOK_PAINT 0x00000010
|
||||
#define HOOK_STROKEPATH 0x00000020
|
||||
#define HOOK_FILLPATH 0x00000040
|
||||
#define HOOK_STROKEANDFILLPATH 0x00000080
|
||||
#define HOOK_LINETO 0x00000100
|
||||
#define HOOK_COPYBITS 0x00000400
|
||||
#define HOOK_SYNCHRONIZE 0x00001000
|
||||
#define HOOK_SYNCHRONIZEACCESS 0x00004000
|
||||
|
||||
enum _DRV_HOOK_FUNCS
|
||||
{
|
||||
INDEX_DrvEnablePDEV,
|
||||
INDEX_DrvCompletePDEV,
|
||||
INDEX_DrvDisablePDEV,
|
||||
INDEX_DrvEnableSurface,
|
||||
INDEX_DrvDisableSurface,
|
||||
INDEX_DrvAssertMode,
|
||||
INDEX_DrvResetPDEV = 7,
|
||||
INDEX_DrvCreateDeviceBitmap = 10,
|
||||
INDEX_DrvDeleteDeviceBitmap,
|
||||
INDEX_DrvRealizeBrush,
|
||||
INDEX_DrvDitherColor,
|
||||
INDEX_DrvStrokePath,
|
||||
INDEX_DrvFillPath,
|
||||
INDEX_DrvStrokeAndFillPath,
|
||||
INDEX_DrvPaint
|
||||
INDEX_DrvBitBlt,
|
||||
INDEX_DrvCopyBits,
|
||||
INDEX_DrvStretchBlt,
|
||||
INDEX_DrvSetPalette = 22,
|
||||
INDEX_DrvTextOut,
|
||||
INDEX_DrvEscape,
|
||||
INDEX_DrvDrawEscape,
|
||||
INDEX_DrvQueryFont,
|
||||
INDEX_DrvQueryFontTree,
|
||||
INDEX_DrvQueryFontData,
|
||||
INDEX_DrvSetPointerShape,
|
||||
INDEX_DrvMovePointer,
|
||||
INDEX_DrvLineTo,
|
||||
INDEX_DrvSendPage,
|
||||
INDEX_DrvStartPage,
|
||||
INDEX_DrvEndDoc,
|
||||
INDEX_DrvStartDoc,
|
||||
INDEX_DrvGetGlyphMode = 37,
|
||||
INDEX_DrvSynchronize,
|
||||
INDEX_DrvSaveScreenBits = 40,
|
||||
INDEX_DrvGetModes,
|
||||
INDEX_DrvFree,
|
||||
INDEX_DrvDestroyFont,
|
||||
INDEX_DrvQueryFontCaps,
|
||||
INDEX_DrvLoadFontFile,
|
||||
INDEX_DrvUnloadFontFile,
|
||||
INDEX_DrvFontManagement,
|
||||
INDEX_DrvQueryTrueTypeTable,
|
||||
INDEX_DrvQueryTrueTypeOutline,
|
||||
INDEX_DrvGetTrueTypeFile,
|
||||
INDEX_DrvQueryFontFile,
|
||||
INDEX_DrvQueryAdvanceWidths = 53,
|
||||
INDEX_DrvSetPixelFormat,
|
||||
INDEX_DrvDescribePixelFormat,
|
||||
INDEX_DrvSwapBuffers,
|
||||
INDEX_DrvStartBanding,
|
||||
INDEX_DrvNextBand,
|
||||
INDEX_DrvGetDirectDrawInfo,
|
||||
INDEX_DrvEnableDirectDraw,
|
||||
INDEX_DrvDisableDirectDraw,
|
||||
INDEX_DrvQuerySpoolType,
|
||||
INDEX_LAST
|
||||
};
|
||||
|
||||
/* EngCreatePalette mode types */
|
||||
#define PAL_INDEXED 0x00000001
|
||||
#define PAL_BITFIELDS 0x00000002
|
||||
#define PAL_RGB 0x00000004
|
||||
#define PAL_BGR 0x00000008
|
||||
|
||||
enum _QUERY_ADVANCE_WIDTH_TYPES
|
||||
{
|
||||
QAW_GETWIDTHS = 1,
|
||||
QAW_GETEASYWIDTHS
|
||||
};
|
||||
|
||||
#define QC_OUTLINES 0x00000001
|
||||
#define QC_1BIT 0x00000002
|
||||
#define QC_4BIT 0x00000004
|
||||
|
||||
enum _QFF_MODES
|
||||
{
|
||||
QFF_DESCRIPTION = 1,
|
||||
QFF_NUMFACES
|
||||
};
|
||||
|
||||
#define RB_DITHERCOLOR 0x80000000
|
||||
|
||||
enum _SPS_RC
|
||||
{
|
||||
SPS_ERROR,
|
||||
SPS_DECLINE,
|
||||
SPS_ACCEPT_NOEXCLUDE,
|
||||
SPS_ACCEPT_EXCLUDE
|
||||
};
|
||||
|
||||
#define SPS_CHANGE 0x00000001L
|
||||
#define SPS_ASYNCCHANGE 0x00000002L
|
||||
#define SPS_ANIMATESTART 0x00000004L
|
||||
#define SPS_ANIMATEUPDATE 0x00000008L
|
||||
|
||||
#define SS_SAVE 0
|
||||
#define SS_RESTORE 1
|
||||
#define SS_FREE 2
|
||||
|
||||
enum _SURF_TYPES
|
||||
{
|
||||
STYPE_BITMAP = 1,
|
||||
STYPE_DEVICE,
|
||||
STYPE_DEVBITMAP
|
||||
};
|
||||
|
||||
#define WO_RGN_CLIENT_DELTA 0x00000001
|
||||
#define WO_RGN_CLIENT 0x00000002
|
||||
#define WO_RGN_SURFACE_DELTA 0x00000004
|
||||
#define WO_RGN_SURFACE 0x00000008
|
||||
#define WO_RGN_UPDATE_ALL 0x00000010
|
||||
|
||||
#define WOC_RGN_CLIENT_DELTA 0x00000001
|
||||
#define WOC_RGN_CLIENT 0x00000002
|
||||
#define WOC_RGN_SURFACE_DELTA 0x00000004
|
||||
#define WOC_RGN_SURFACE 0x00000008
|
||||
#define WOC_CHANGED 0x00000010
|
||||
#define WOC_DELETE 0x00000020
|
||||
|
||||
enum _WIN_CHARSET
|
||||
{
|
||||
ANSI_CHARSET = 1,
|
||||
SYMBOL_CHARSET,
|
||||
SHIFTJIS_CHARSET,
|
||||
HANGEUL_CHARSET,
|
||||
CHINESEBIG5_CHARSET,
|
||||
OEM_CHARSET
|
||||
};
|
||||
|
||||
typedef HANDLE HDEV;
|
||||
|
||||
typedef HANDLE DHPDEV;
|
||||
|
||||
typedef ULONG (*PFN)();
|
||||
typedef VOID (CALLBACK * WNDOBJCHANGEPROC)(PWNDOBJ WndObj, ULONG Flags);
|
||||
|
||||
typedef struct _DRVFN
|
||||
{
|
||||
|
@ -41,9 +306,6 @@ typedef struct _DEVINFO
|
|||
HPALETTE hpalDefault;
|
||||
} DEVINFO, *PDEVINFO;
|
||||
|
||||
#define DMMAXDEVICENAME 32
|
||||
#define DMMAXFORMNAME 32
|
||||
|
||||
typedef struct _DEVMODEW
|
||||
{
|
||||
WCHAR dmDeviceName[DMMAXDEVICENAME];
|
||||
|
@ -173,7 +435,10 @@ typedef struct _IFIMETRICS
|
|||
PANOSE panose;
|
||||
} IFIMETRICS, *PIFIMETRICS;
|
||||
|
||||
|
||||
typedef struct _PALOBJ
|
||||
{
|
||||
ULONG ulReserved;
|
||||
} PALOBJ, *PPALOBJ;
|
||||
|
||||
typedef struct _PATHOBJ
|
||||
{
|
||||
|
@ -208,186 +473,12 @@ typedef struct _XLATEOBJ
|
|||
ULONG *pulXlate;
|
||||
} XLATEOBJ, *PXLATEOBJ;
|
||||
|
||||
/* Options for CLIPOBJ_cEnumStart Type field */
|
||||
#define CT_RECTANGLE 1
|
||||
|
||||
/* Options for CLIPOBJ_cEnumStart BuildOrder field */
|
||||
enum _CD_ORDERS
|
||||
{
|
||||
CD_RIGHTDOWN = 1,
|
||||
CD_LEFTDOWN,
|
||||
CD_RIGHTUP,
|
||||
CD_LEFTUP,
|
||||
CD_ANY
|
||||
};
|
||||
|
||||
/* EngAssocateSurface hook flags */
|
||||
#define HOOK_BITBLT 0x00000001
|
||||
#define HOOK_STRETCHBLT 0x00000002
|
||||
#define HOOK_TEXTOUT 0x00000004
|
||||
#define HOOK_PAINT 0x00000008
|
||||
#define HOOK_STROKEPATH 0x00000010
|
||||
#define HOOK_FILLPATH 0x00000020
|
||||
#define HOOK_STROKEANDFILLPATH 0x00000040
|
||||
#define HOOK_LINETO 0x00000080
|
||||
#define HOOK_COPYBITS 0x00000100
|
||||
#define HOOK_SYNCHRONIZE 0x00000200
|
||||
#define HOOK_SYNCHRONIZEACCESS 0x00000400
|
||||
|
||||
/* EngCreateBitmap format types */
|
||||
enum _BMF_TYPES
|
||||
{
|
||||
BMF_1BPP = 1,
|
||||
BMF_4BPP,
|
||||
BMF_8BPP,
|
||||
BMF_16BPP,
|
||||
BMF_24BPP,
|
||||
BMF_32BPP,
|
||||
BMF_4RLE,
|
||||
BMF_8RLE
|
||||
};
|
||||
|
||||
#define RASTER_FONTTYPE 0x00000001
|
||||
#define DEVICE_FONTTYPE 0x00000002
|
||||
#define TRUETYPE_FONTTYPE 0x00000004
|
||||
#define FO_SIM_ITALIC 0x00000008
|
||||
#define FO_SIM_BOLD 0x00000010
|
||||
#define FO_EM_HEIGHT 0x00000020
|
||||
#define FO_4_LEVEL 0x00000040
|
||||
#define FO_16_LEVEL 0x00000080
|
||||
#define FO_64_LEVEL 0x00000100
|
||||
|
||||
enum _SURF_TYPES
|
||||
{
|
||||
STYPE_BITMAP = 1,
|
||||
STYPE_DEVICE,
|
||||
STYPE_DEVBITMAP
|
||||
};
|
||||
|
||||
#define BMF_TOPDOWN 0x00000001
|
||||
#define BMF_NOZEROINIT 0x00000002
|
||||
#define BMF_USERMEM 0x00000004
|
||||
|
||||
/* EngCreatePalette mode types */
|
||||
enum _PAL_TYPES
|
||||
{
|
||||
PAL_INDEXED = 1,
|
||||
PAL_BITFIELDS,
|
||||
PAL_RGB,
|
||||
PAL_BGR
|
||||
};
|
||||
|
||||
enum _DITHER_COLOR_MODES
|
||||
{
|
||||
DM_DEFAULT,
|
||||
DM_MONOCHROME
|
||||
};
|
||||
|
||||
enum _ESCAPE_CODES
|
||||
{
|
||||
ESC_PASSTHROUGH,
|
||||
ESC_QUERYESCSUPPORT
|
||||
};
|
||||
|
||||
enum _END_DOC_FLAGS
|
||||
{
|
||||
ED_ABORTDOC
|
||||
};
|
||||
|
||||
#define FP_WINDINGMODE 0x00000001
|
||||
#define FP_ALTERNATEMODE 0x00000002
|
||||
|
||||
enum _GLYPH_MODE
|
||||
{
|
||||
FO_GLYPHBITS = 1,
|
||||
FO_HGLYPHS,
|
||||
FO_PATHOBJ
|
||||
};
|
||||
|
||||
enum _QUERY_ADVANCE_WIDTH_TYPES
|
||||
{
|
||||
QAW_GETWIDTHS = 1,
|
||||
QAW_GETEASYWIDTHS
|
||||
};
|
||||
|
||||
enum _WIN_CHARSET
|
||||
{
|
||||
ANSI_CHARSET = 1,
|
||||
SYMBOL_CHARSET,
|
||||
SHIFTJIS_CHARSET,
|
||||
HANGEUL_CHARSET,
|
||||
CHINESEBIG5_CHARSET,
|
||||
OEM_CHARSET
|
||||
};
|
||||
|
||||
#define FIXED_PITCH 0x00000000
|
||||
#define VARIABLE_PITCH 0x00000001
|
||||
#define FF_DECORATIVE 0x00000010
|
||||
#define FF_DONTCARE 0x00000020
|
||||
#define FF_MODERN 0x00000030
|
||||
#define FF_ROMAN 0x00000040
|
||||
#define FF_SCRIPT 0x00000050
|
||||
#define FF_SWISS 0x00000060
|
||||
|
||||
#define FM_INFO_TECH_TRUETYPE 0x00000001
|
||||
#define FM_INFO_TECH_BITMAP 0x00000002
|
||||
#define FM_INFO_TECH_STROKE 0x00000004
|
||||
#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
|
||||
#define FM_INFO_ARB_XFORMS 0x00000010
|
||||
#define FM_INFO_1BBP 0x00000020
|
||||
#define FM_INFO_INTEGER_WIDTH 0x00000040
|
||||
#define FM_INFO_CONSTANT_WIDTH 0x00000080
|
||||
#define FM_INFO_NOT_CONTIGUOUS 0x00000100
|
||||
#define FM_INFO_PID_EMBEDDED 0x00000200
|
||||
#define FM_INFO_RETURNS_OUTLINES 0x00000400
|
||||
#define FM_INFO_RETURNS_STROKES 0x00000800
|
||||
#define FM_INFO_RETURNS_BITMAPS 0x00001000
|
||||
#define FM_INFO_UNICODE_COMPLIANT 0x00002000
|
||||
#define FM_INFO_RIGHT_HANDED 0x00004000
|
||||
#define FM_INFO_INTEGRAL_SCALING 0x00008000
|
||||
#define FM_INFO_90_DEGREE_ROTATIONS 0x00010000
|
||||
#define FM_INFO_OPTICALLY_FIXED_PITCH 0x00020000
|
||||
#define FM_INFO_DO_NOT_ENUMERATE 0x00040000
|
||||
#define FM_INFO_ISOTROPIC_SCALING_ONLY 0x00080000
|
||||
#define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x00100000
|
||||
#define FM_INFO_TID_EMBEDDED 0x00200000
|
||||
#define FM_INFO_FAMILY_EQUIV 0x00400000
|
||||
#define FM_INFO_DBCS_FIXED_PITCH 0x00800000
|
||||
#define FM_INFO_NONNEGATIVE_AC 0x01000000
|
||||
#define FM_INFO_IGNORE_TC_RA_ABLE 0x02000000
|
||||
|
||||
#define FM_SEL_ITALIC 0x00000001
|
||||
#define FM_SEL_UNDERSCORE 0x00000002
|
||||
#define FM_SEL_NEGATIVE 0x00000004
|
||||
#define FM_SEL_OUTLINED 0x00000008
|
||||
#define FM_SEL_STRIKEOUT 0x00000010
|
||||
#define FM_SEL_BOLD 0x00000020
|
||||
#define FM_SEL_REGULAR 0x00000040
|
||||
|
||||
#define FM_TYPE_LICENSED 0x00000001
|
||||
#define FM_READONLY_EMBED 0x00000002
|
||||
#define FM_EDITABLE_EMBED 0x00000004
|
||||
|
||||
/*
|
||||
* Functions Prefixed with Drv are calls made from GDI to DDI, and
|
||||
* everything else are calls made from DDI to GDI. DDI is
|
||||
* not allowed to make calls to any other kernel or user modules.
|
||||
*/
|
||||
|
||||
/* DDI --> GDI calls */
|
||||
PVOID BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
|
||||
IN ULONG ObjSize);
|
||||
PVOID BRUSHOBJ_pvGetRbrush(IN PBRUSHOBJ BrushObj);
|
||||
BOOL CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
|
||||
IN ULONG ObjSize,
|
||||
OUT ULONG *EnumRects);
|
||||
ULONG CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
|
||||
IN BOOL ShouldDoAll,
|
||||
IN ULONG ClipType,
|
||||
IN ULONG BuildOrder,
|
||||
IN ULONG MaxRects);
|
||||
PPATHOBJ CLIPOBJ_ppoGetPath(PCLIPOBJ ClipObj);
|
||||
|
||||
/* GDI --> DDI calls */
|
||||
VOID DrvAssertMode(IN DHPDEV PDev,
|
||||
IN BOOL ShouldEnable);
|
||||
|
@ -419,6 +510,7 @@ LONG DrvDescribePixelFormat(IN DHPDEV DPev,
|
|||
IN ULONG DescriptorSize,
|
||||
OUT PPIXELFORMATDESCRIPTOR PFD);
|
||||
VOID DrvDestroyFont(IN PFONTOBJ FontObj);
|
||||
VOID DrvDisableDirectDraw(IN DHPDEV PDev);
|
||||
VOID DrvDisableDriver(VOID);
|
||||
VOID DrvDisablePDEV(IN DHPDEV PDev);
|
||||
VOID DrvDisableSurface(IN DHPDEV PDev);
|
||||
|
@ -432,6 +524,10 @@ ULONG DrvDrawEscape(IN PSURFOBJ SurfObj,
|
|||
IN PRECTL RectL,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID *InputData);
|
||||
BOOL DrvEnableDirectDraw(IN DHPDEV PDev,
|
||||
IN PDD_CALLBACKS Callbacks,
|
||||
IN PDD_SURFACECALLBACKS SurfaceCallbacks,
|
||||
IN PDD_PALETTECALLBACKS PaletteCallbacks);
|
||||
BOOL DrvEnableDriver(IN ULONG Version,
|
||||
IN ULONG DEDSize,
|
||||
OUT PDRVENABLEDATA DED);
|
||||
|
@ -471,6 +567,12 @@ ULONG DrvFontManagement(IN PSURFOBJ SurfObj,
|
|||
OUT PVOID OutputData);
|
||||
VOID DrvFree(IN PVOID Obj,
|
||||
IN ULONG ID);
|
||||
BOOL DrvGetDirectDrawInfo(IN DHPDEV PDev,
|
||||
IN PDD_HALINFO HalInfo,
|
||||
IN PDWORD NumHeaps,
|
||||
IN PVIDEOMEMORY List,
|
||||
IN PDWORD NumFourCCCodes,
|
||||
IN PDWORD FourCC);
|
||||
ULONG DrvGetGlyphMode(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj);
|
||||
ULONG DrvGetModes(IN HANDLE Driver,
|
||||
|
@ -521,24 +623,320 @@ LONG DrvQueryFontData(IN DHPDEV DPev,
|
|||
IN PGLYPHDATA GlyphData,
|
||||
IN PVOID DataBuffer,
|
||||
IN ULONG BufferSize);
|
||||
|
||||
LONG DrvQueryFontFile(IN ULONG FileNumber,
|
||||
IN ULONG Mode,
|
||||
IN ULONG BufSize,
|
||||
OUT PULONG Buf);
|
||||
PVOID DrvQueryFontTree(IN DHPDEV PDev,
|
||||
IN ULONG FileNumber,
|
||||
IN ULONG FaceIndex,
|
||||
IN ULONG Mode,
|
||||
OUT ULONG *ID);
|
||||
BOOL DrvQuerySpoolType(DHPDEV PDev,
|
||||
LPWSTR SpoolType);
|
||||
LONG DrvQueryTrueTypeOutline(IN DHPDEV PDev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN HGLYPH Glyph,
|
||||
IN BOOL MetricsOnly,
|
||||
IN PGLYPHDATA GlyphData,
|
||||
IN ULONG BufSize,
|
||||
OUT PTTPOLYGONHEADER Polygons);
|
||||
LONG DrvQueryTrueTypeTable(IN ULONG FileNumber,
|
||||
IN ULONG Font,
|
||||
IN ULONG Tag,
|
||||
IN PTRDIFF Start,
|
||||
IN ULONG BufSize,
|
||||
OUT BYTE *Buf);
|
||||
BOOL DrvRealizeBrush(IN PBRUSHOBJ BrushObj,
|
||||
IN PSURFOBJ TargetSurface,
|
||||
IN PSURFOBJ PatternSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN ULONG iHatch);
|
||||
BOOL DrvResetPDEV(IN DHPDEV PDevOld,
|
||||
IN DHPDEV PDevNew);
|
||||
ULONG DrvSaveScreenBits(IN PSURFOBJ SurfObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG ID,
|
||||
IN PRECTL RectL);
|
||||
BOOL DrvSendPage(IN PSURFOBJ SurfObj);
|
||||
BOOL DrvSetPalette(IN DHPDEV PDev,
|
||||
IN PPALOBJ PaletteObj,
|
||||
IN ULONG Flags,
|
||||
IN ULONG Start,
|
||||
IN ULONG NumColors);
|
||||
ULONG DrvSetPointerShape(IN PSURFOBJ SurfObj,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PSURFOBJ ColorSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN LONG xHot,
|
||||
IN LONG yHot,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL RectL,
|
||||
IN ULONG Flags);
|
||||
BOOL DrvStartBanding(IN PSURFOBJ SurfObj,
|
||||
IN PPOINTL PointL);
|
||||
BOOL DrvStartDoc(IN PSURFOBJ SurfObj,
|
||||
IN LPWSTR DocName,
|
||||
IN DWORD JobID);
|
||||
BOOL DrvStartPage(IN PSURFOBJ SurfObj);
|
||||
BOOL DrvStretchBlt(IN PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN PCOLORADJUSTMENT CA,
|
||||
IN PPOINTL HTOrg,
|
||||
IN PRECTL Dest,
|
||||
IN PRECTL Src,
|
||||
IN PPOINTL Mask,
|
||||
IN ULONG Mode);
|
||||
BOOL DrvStrokeAndFillPath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ StrokeBrush,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN PBRUSHOBJ FillBrush,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX MixFill,
|
||||
IN ULONG Options);
|
||||
BOOL DrvStrokePath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ PClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN MIX Mix);
|
||||
VOID DrvSynchronize(IN DHPDEV PDev,
|
||||
IN PRECTL RectL);
|
||||
BOOL DrvTextOut(IN PSURFOBJ SurfObj,
|
||||
IN PSTROBJ StrObj,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PRECTL ExtraRect,
|
||||
IN PRECTL OpaqueRect,
|
||||
IN PBRUSHOBJ ForegroundBrush,
|
||||
IN PBRUSHOBJ OpaqueBrush,
|
||||
IN PPOINTL OrgPoint,
|
||||
IN MIX Mix);
|
||||
BOOL DrvUnloadFontFile(IN ULONG FileNumber);
|
||||
|
||||
/* DDI --> GDI calls */
|
||||
PVOID BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
|
||||
IN ULONG ObjSize);
|
||||
PVOID BRUSHOBJ_pvGetRbrush(IN PBRUSHOBJ BrushObj);
|
||||
BOOL CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
|
||||
IN ULONG ObjSize,
|
||||
OUT ULONG *EnumRects);
|
||||
ULONG CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
|
||||
IN BOOL ShouldDoAll,
|
||||
IN ULONG ClipType,
|
||||
IN ULONG BuildOrder,
|
||||
IN ULONG MaxRects);
|
||||
PPATHOBJ CLIPOBJ_ppoGetPath(PCLIPOBJ ClipObj);
|
||||
|
||||
/*
|
||||
EngAcquireSemaphore
|
||||
EngAllocMem
|
||||
EngAllocUserMem
|
||||
*/
|
||||
|
||||
BOOL EngAssociateSurface(IN HSURF Surface,
|
||||
IN HDEV Dev,
|
||||
IN ULONG Hooks);
|
||||
|
||||
/*
|
||||
EngBitBlt
|
||||
EngCheckAbort
|
||||
EngComputeGlyphSet
|
||||
EngCopyBits
|
||||
*/
|
||||
|
||||
HBITMAP EngCreateBitmap(IN SIZEL Size,
|
||||
IN LONG Width,
|
||||
IN ULONG Format,
|
||||
IN ULONG Flags,
|
||||
IN PVOID Bits);
|
||||
|
||||
/*
|
||||
EngCreateClip
|
||||
EngCreateDeviceBitmap
|
||||
*/
|
||||
|
||||
HSURF EngCreateDeviceSurface(IN DHSURF Surface,
|
||||
IN SIZEL Size,
|
||||
IN ULONG FormatVersion);
|
||||
|
||||
/*
|
||||
EngCreateDriverObj
|
||||
EngCreateEvent
|
||||
*/
|
||||
|
||||
HPALETTE EngCreatePalette(IN ULONG Mode,
|
||||
IN ULONG Colors,
|
||||
IN PULONG *Colors,
|
||||
IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue);
|
||||
/*
|
||||
EngCreatePath
|
||||
EngCreateSemaphore
|
||||
EngCreateWnd
|
||||
EngDebugBreak = NTOSKRNL.DbgBreakPoint
|
||||
EngDebugPrint
|
||||
EngDeleteClip
|
||||
EngDeleteDriverObj
|
||||
EngDeleteEvent
|
||||
EngDeletePalette
|
||||
EngDeletePath
|
||||
EngDeleteSemaphore
|
||||
EngDeleteSurface
|
||||
EngDeleteWnd
|
||||
EngDeviceIoControl
|
||||
EngEnumForms
|
||||
EngEraseSurface
|
||||
EngFillPath
|
||||
EngFindImageProcAddress
|
||||
EngFindResource
|
||||
EngFreeMem
|
||||
EngFreeModule
|
||||
EngFreeUserMem
|
||||
EngGetCurrentCodePage
|
||||
EngGetDriverName
|
||||
EngGetFileChangeTime
|
||||
EngGetFilePath
|
||||
EngGetForm
|
||||
EngGetLastError
|
||||
EngGetPrinter
|
||||
EngGetPrinterData
|
||||
EngGetPrinterDataFileName
|
||||
EngGetProcessHandle
|
||||
EngGetType1FontList
|
||||
EngLineTo
|
||||
EngLoadImage
|
||||
EngLoadModule
|
||||
EngLoadModuleForWrite
|
||||
EngLockDriverObj
|
||||
EngLockSurface
|
||||
EngMapEvent
|
||||
EngMapFontFile
|
||||
EngMapModule
|
||||
EngMarkBandingSurface
|
||||
EngMovePointer
|
||||
EngMulDiv
|
||||
EngMultiByteToUnicodeN
|
||||
EngMultiByteToWideChar
|
||||
EngPaint
|
||||
EngProbeForRead
|
||||
EngProbeForReadAndWrite = NTOSKRNL.ProbeForWrite
|
||||
EngQueryLocalTime
|
||||
EngQueryPalette
|
||||
EngQueryPerformanceCounter
|
||||
EngQueryPerformanceFrequency
|
||||
EngReleaseSemaphore
|
||||
EngRestoreFloatingPointState
|
||||
EngSaveFloatingPointState
|
||||
EngSecureMem
|
||||
EngSetEvent
|
||||
EngSetLastError
|
||||
EngSetPointerShape
|
||||
EngSetPointerTag
|
||||
EngSetPrinterData
|
||||
EngSort
|
||||
EngStretchBlt
|
||||
EngStrokeAndFillPath
|
||||
EngStrokePath
|
||||
EngTextOut
|
||||
EngUnicodeToMultiByteN
|
||||
EngUnloadImage
|
||||
EngUnlockDriverObj
|
||||
EngUnlockSurface
|
||||
EngUnmapEvent
|
||||
EngUnmapFontFile
|
||||
EngUnsecureMem = NTOSKRNL.MmUnsecureVirtualMemory
|
||||
EngWaitForSingleObject
|
||||
EngWideCharToMultiByte
|
||||
EngWritePrinter
|
||||
FLOATOBJ_Add
|
||||
FLOATOBJ_AddFloat
|
||||
FLOATOBJ_AddFloatObj
|
||||
FLOATOBJ_AddLong
|
||||
FLOATOBJ_Div
|
||||
FLOATOBJ_DivFloat
|
||||
FLOATOBJ_DivFloatObj
|
||||
FLOATOBJ_DivLong
|
||||
FLOATOBJ_Equal
|
||||
FLOATOBJ_EqualLong
|
||||
FLOATOBJ_GetFloat
|
||||
FLOATOBJ_GetLong
|
||||
FLOATOBJ_GreaterThan
|
||||
FLOATOBJ_GreaterThanLong
|
||||
FLOATOBJ_LessThan
|
||||
FLOATOBJ_LessThanLong
|
||||
FLOATOBJ_Mul
|
||||
FLOATOBJ_MulFloat
|
||||
FLOATOBJ_MulFloatObj
|
||||
FLOATOBJ_MulLong
|
||||
FLOATOBJ_Neg
|
||||
FLOATOBJ_SetFloat
|
||||
FLOATOBJ_SetLong
|
||||
FLOATOBJ_Sub
|
||||
FLOATOBJ_SubFloat
|
||||
FLOATOBJ_SubFloatObj
|
||||
FLOATOBJ_SubLong
|
||||
*/
|
||||
|
||||
ULONG FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj,
|
||||
IN HGLYPH *Glyphs);
|
||||
ULONG FONTOBJ_cGetGlyphs(IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG NumGlyphs,
|
||||
IN HGLYPH *GlyphHandles,
|
||||
IN PVOID *OutGlyphs);
|
||||
GAMMA_TABLES *FONTOBJ_pGetGammaTables(IN PFONTOBJ FontObj);
|
||||
IFIMETRICS *FONTOBJ_pifi(IN PFONTOBJ FontObj);
|
||||
PVOID FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj,
|
||||
IN ULONG *FileSize);
|
||||
XFORMOBJ *FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj);
|
||||
VOID FONTOBJ_vGetInfo(IN PFONTOBJ FontObj,
|
||||
IN ULONG InfoSize,
|
||||
OUT PFONTINFO FontInfo);
|
||||
|
||||
/*
|
||||
HT_ComputeRGBGammaTable
|
||||
HT_Get8BPPFormatPalette
|
||||
PALOBJ_cGetColors
|
||||
PATHOBJ_bCloseFigure
|
||||
PATHOBJ_bEnum
|
||||
PATHOBJ_bEnumClipLines
|
||||
PATHOBJ_bMoveTo
|
||||
PATHOBJ_bPolyBezierTo
|
||||
PATHOBJ_bPolyLineTo
|
||||
PATHOBJ_vEnumStart
|
||||
PATHOBJ_vEnumStartClipLines
|
||||
PATHOBJ_vGetBounds
|
||||
RtlAnsiCharToUnicodeChar = NTOSKRNL.RtlAnsiCharToUnicodeChar
|
||||
RtlMultiByteToUnicodeN = NTOSKRNL.RtlMultiByteToUnicodeN
|
||||
RtlRaiseException = NTOSKRNL.RtlRaiseException
|
||||
RtlUnicodeToMultiByteN = NTOSKRNL.RtlUnicodeToMultiByteN
|
||||
RtlUnicodeToMultiByteSize = NTOSKRNL.RtlUnicodeToMultiByteSize
|
||||
RtlUnwind = NTOSKRNL.RtlUnwind
|
||||
RtlUpcaseUnicodeChar = NTOSKRNL.RtlUpcaseUnicodeChar
|
||||
RtlUpcaseUnicodeToMultiByteN = NTOSKRNL.RtlUpcaseUnicodeToMultiByteN
|
||||
STROBJ_bEnum
|
||||
STROBJ_dwGetCodePage
|
||||
STROBJ_vEnumStart
|
||||
WNDOBJ_bEnum
|
||||
WNDOBJ_cEnumStart
|
||||
WNDOBJ_vSetConsumer
|
||||
XFORMOBJ_bApplyXform
|
||||
XFORMOBJ_iGetFloatObjXform
|
||||
XFORMOBJ_iGetXform
|
||||
XLATEOBJ_cGetPalette
|
||||
XLATEOBJ_iXlate
|
||||
XLATEOBJ_piVector
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in a new issue