Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/ddk/winddi.h')
-rw-r--r--winsup/w32api/include/ddk/winddi.h4146
1 files changed, 0 insertions, 4146 deletions
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h
deleted file mode 100644
index 5659e6f89..000000000
--- a/winsup/w32api/include/ddk/winddi.h
+++ /dev/null
@@ -1,4146 +0,0 @@
-/*
- * winddi.h
- *
- * GDI device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINDDI_H
-#define __WINDDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __VIDEO_H
-#error video.h cannot be included with winddi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include <wingdi.h>
-
-#if 1
-/* FIXME: Some DirectDraw structures not added yet */
-typedef ULONG_PTR FLATPTR;
-typedef PVOID LPVIDMEM;
-typedef PVOID LPVMEMHEAP;
-typedef PVOID PGLYPHOS;
-typedef struct _DD_SURFACECALLBACKS {
-} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
-typedef struct _DD_PALETTECALLBACKS {
-} DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS;
-typedef struct _DD_CALLBACKS {
-} DD_CALLBACKS, *PDD_CALLBACKS;
-typedef struct _DD_HALINFO {
-} DD_HALINFO, *PDD_HALINFO;
-typedef struct _DDSCAPS {
-} DDSCAPS, *PDDSCAPS;
-typedef struct _DDSCAPSEX {
-} DDSCAPSEX, *PDDSCAPSEX;
-typedef struct _VIDEOMEMORY {
-} VIDEOMEMORY, *LPVIDEOMEMORY;
-typedef struct _DD_DIRECTDRAW_GLOBAL {
-} DD_DIRECTDRAW_GLOBAL, *LPDD_DIRECTDRAW_GLOBAL;
-typedef struct _DD_SURFACE_LOCAL {
-} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL;
-#endif
-
-#if defined(_WIN32K_)
-#define WIN32KAPI DECL_EXPORT
-#else
-#define WIN32KAPI DECL_IMPORT
-#endif
-
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-#define GDI_DRIVER_VERSION 0x4000
-
-#ifdef _X86_
-
-typedef DWORD FLOATL;
-
-#else /* !_X86_ */
-
-typedef FLOAT FLOATL;
-
-#endif
-
-typedef SHORT FWORD;
-typedef LONG LDECI4;
-typedef ULONG IDENT;
-
-typedef ULONG_PTR HFF;
-typedef ULONG_PTR HFC;
-
-typedef LONG PTRDIFF;
-typedef PTRDIFF *PPTRDIFF;
-typedef LONG FIX;
-typedef FIX *PFIX;
-typedef ULONG ROP4;
-typedef ULONG MIX;
-typedef ULONG HGLYPH;
-typedef HGLYPH *PHGLYPH;
-
-typedef LONG_PTR (DDKAPI *PFN)();
-
-DECLARE_HANDLE(HBM);
-DECLARE_HANDLE(HDEV);
-DECLARE_HANDLE(HSURF);
-DECLARE_HANDLE(DHSURF);
-DECLARE_HANDLE(DHPDEV);
-DECLARE_HANDLE(HDRVOBJ);
-
-
-#define GDI_DRIVER_VERSION 0x4000
-
-typedef struct _ENG_EVENT *PEVENT;
-
-#define OPENGL_CMD 4352
-#define OPENGL_GETINFO 4353
-#define WNDOBJ_SETUP 4354
-
-#define FD_ERROR 0xFFFFFFFF
-#define DDI_ERROR 0xFFFFFFFF
-
-#define HFF_INVALID ((HFF) 0)
-#define HFC_INVALID ((HFC) 0)
-#define HGLYPH_INVALID ((HGLYPH) -1)
-
-#define FP_ALTERNATEMODE 1
-#define FP_WINDINGMODE 2
-
-#define DN_ACCELERATION_LEVEL 1
-#define DN_DEVICE_ORIGIN 2
-#define DN_SLEEP_MODE 3
-#define DN_DRAWING_BEGIN 4
-
-#define DCR_SOLID 0
-#define DCR_DRIVER 1
-#define DCR_HALFTONE 2
-
-#define GX_IDENTITY 0
-#define GX_OFFSET 1
-#define GX_SCALE 2
-#define GX_GENERAL 3
-
-typedef struct _POINTE {
- FLOATL x;
- FLOATL y;
-} POINTE, *PPOINTE;
-
-typedef union _FLOAT_LONG {
- FLOATL e;
- LONG l;
-} FLOAT_LONG, *PFLOAT_LONG;
-
-typedef struct _POINTFIX {
- FIX x;
- FIX y;
-} POINTFIX, *PPOINTFIX;
-
-typedef struct _RECTFX {
- FIX xLeft;
- FIX yTop;
- FIX xRight;
- FIX yBottom;
-} RECTFX, *PRECTFX;
-
-typedef struct _POINTQF {
- LARGE_INTEGER x;
- LARGE_INTEGER y;
-} POINTQF, *PPOINTQF;
-
-
-typedef struct _BLENDOBJ {
- BLENDFUNCTION BlendFunction;
-} BLENDOBJ,*PBLENDOBJ;
-
-/* BRUSHOBJ.flColorType */
-#define BR_DEVICE_ICM 0x01
-#define BR_HOST_ICM 0x02
-#define BR_CMYKCOLOR 0x04
-#define BR_ORIGCOLOR 0x08
-
-typedef struct _BRUSHOBJ {
- ULONG iSolidColor;
- PVOID pvRbrush;
- FLONG flColorType;
-} BRUSHOBJ;
-
-typedef struct _CIECHROMA {
- LDECI4 x;
- LDECI4 y;
- LDECI4 Y;
-} CIECHROMA;
-
-typedef struct _RUN {
- LONG iStart;
- LONG iStop;
-} RUN, *PRUN;
-
-typedef struct _CLIPLINE {
- POINTFIX ptfxA;
- POINTFIX ptfxB;
- LONG lStyleState;
- ULONG c;
- RUN arun[1];
-} CLIPLINE, *PCLIPLINE;
-
-/* CLIPOBJ.iDComplexity constants */
-#define DC_TRIVIAL 0
-#define DC_RECT 1
-#define DC_COMPLEX 3
-
-/* CLIPOBJ.iFComplexity constants */
-#define FC_RECT 1
-#define FC_RECT4 2
-#define FC_COMPLEX 3
-
-/* CLIPOBJ.iMode constants */
-#define TC_RECTANGLES 0
-#define TC_PATHOBJ 2
-
-/* CLIPOBJ.fjOptions constants */
-#define OC_BANK_CLIP 1
-
-typedef struct _CLIPOBJ {
- ULONG iUniq;
- RECTL rclBounds;
- BYTE iDComplexity;
- BYTE iFComplexity;
- BYTE iMode;
- BYTE fjOptions;
-} CLIPOBJ;
-
-typedef struct _COLORINFO {
- CIECHROMA Red;
- CIECHROMA Green;
- CIECHROMA Blue;
- CIECHROMA Cyan;
- CIECHROMA Magenta;
- CIECHROMA Yellow;
- CIECHROMA AlignmentWhite;
- LDECI4 RedGamma;
- LDECI4 GreenGamma;
- LDECI4 BlueGamma;
- LDECI4 MagentaInCyanDye;
- LDECI4 YellowInCyanDye;
- LDECI4 CyanInMagentaDye;
- LDECI4 YellowInMagentaDye;
- LDECI4 CyanInYellowDye;
- LDECI4 MagentaInYellowDye;
-} COLORINFO, *PCOLORINFO;
-
-/* DEVHTADJDATA.DeviceFlags constants */
-#define DEVHTADJF_COLOR_DEVICE 0x00000001
-#define DEVHTADJF_ADDITIVE_DEVICE 0x00000002
-
-typedef struct _DEVHTINFO {
- DWORD HTFlags;
- DWORD HTPatternSize;
- DWORD DevPelsDPI;
- COLORINFO ColorInfo;
-} DEVHTINFO, *PDEVHTINFO;
-
-typedef struct _DEVHTADJDATA {
- DWORD DeviceFlags;
- DWORD DeviceXDPI;
- DWORD DeviceYDPI;
- PDEVHTINFO pDefHTInfo;
- PDEVHTINFO pAdjHTInfo;
-} DEVHTADJDATA, *PDEVHTADJDATA;
-
-/* DEVINFO.flGraphicsCaps flags */
-#define GCAPS_BEZIERS 0x00000001
-#define GCAPS_GEOMETRICWIDE 0x00000002
-#define GCAPS_ALTERNATEFILL 0x00000004
-#define GCAPS_WINDINGFILL 0x00000008
-#define GCAPS_HALFTONE 0x00000010
-#define GCAPS_COLOR_DITHER 0x00000020
-#define GCAPS_HORIZSTRIKE 0x00000040
-#define GCAPS_VERTSTRIKE 0x00000080
-#define GCAPS_OPAQUERECT 0x00000100
-#define GCAPS_VECTORFONT 0x00000200
-#define GCAPS_MONO_DITHER 0x00000400
-#define GCAPS_ASYNCCHANGE 0x00000800
-#define GCAPS_ASYNCMOVE 0x00001000
-#define GCAPS_DONTJOURNAL 0x00002000
-#define GCAPS_DIRECTDRAW 0x00004000
-#define GCAPS_ARBRUSHOPAQUE 0x00008000
-#define GCAPS_PANNING 0x00010000
-#define GCAPS_HIGHRESTEXT 0x00040000
-#define GCAPS_PALMANAGED 0x00080000
-#define GCAPS_DITHERONREALIZE 0x00200000
-#define GCAPS_NO64BITMEMACCESS 0x00400000
-#define GCAPS_FORCEDITHER 0x00800000
-#define GCAPS_GRAY16 0x01000000
-#define GCAPS_ICM 0x02000000
-#define GCAPS_CMYKCOLOR 0x04000000
-#define GCAPS_LAYERED 0x08000000
-#define GCAPS_ARBRUSHTEXT 0x10000000
-#define GCAPS_SCREENPRECISION 0x20000000
-#define GCAPS_FONT_RASTERIZER 0x40000000
-#define GCAPS_NUP 0x80000000
-
-/* DEVINFO.iDitherFormat constants */
-#define BMF_1BPP 1L
-#define BMF_4BPP 2L
-#define BMF_8BPP 3L
-#define BMF_16BPP 4L
-#define BMF_24BPP 5L
-#define BMF_32BPP 6L
-#define BMF_4RLE 7L
-#define BMF_8RLE 8L
-#define BMF_JPEG 9L
-#define BMF_PNG 10L
-
-/* DEVINFO.flGraphicsCaps2 flags */
-#define GCAPS2_JPEGSRC 0x00000001
-#define GCAPS2_xxxx 0x00000002
-#define GCAPS2_PNGSRC 0x00000008
-#define GCAPS2_CHANGEGAMMARAMP 0x00000010
-#define GCAPS2_ALPHACURSOR 0x00000020
-#define GCAPS2_SYNCFLUSH 0x00000040
-#define GCAPS2_SYNCTIMER 0x00000080
-#define GCAPS2_ICD_MULTIMON 0x00000100
-#define GCAPS2_MOUSETRAILS 0x00000200
-#define GCAPS2_RESERVED1 0x00000400
-
-typedef struct _DEVINFO {
- FLONG flGraphicsCaps;
- LOGFONTW lfDefaultFont;
- LOGFONTW lfAnsiVarFont;
- LOGFONTW lfAnsiFixFont;
- ULONG cFonts;
- ULONG iDitherFormat;
- USHORT cxDither;
- USHORT cyDither;
- HPALETTE hpalDefault;
- FLONG flGraphicsCaps2;
-} DEVINFO, *PDEVINFO;
-
-typedef struct _DRIVEROBJ *PDRIVEROBJ;
-
-typedef BOOL DDKAPI CALLBACK
-(*FREEOBJPROC)(
- IN PDRIVEROBJ pDriverObj);
-
-typedef struct _DRIVEROBJ {
- PVOID pvObj;
- FREEOBJPROC pFreeProc;
- HDEV hdev;
- DHPDEV dhpdev;
-} DRIVEROBJ;
-
-/* DRVFN.iFunc constants */
-#define INDEX_DrvEnablePDEV 0L
-#define INDEX_DrvCompletePDEV 1L
-#define INDEX_DrvDisablePDEV 2L
-#define INDEX_DrvEnableSurface 3L
-#define INDEX_DrvDisableSurface 4L
-#define INDEX_DrvAssertMode 5L
-#define INDEX_DrvOffset 6L
-#define INDEX_DrvResetPDEV 7L
-#define INDEX_DrvDisableDriver 8L
-#define INDEX_DrvCreateDeviceBitmap 10L
-#define INDEX_DrvDeleteDeviceBitmap 11L
-#define INDEX_DrvRealizeBrush 12L
-#define INDEX_DrvDitherColor 13L
-#define INDEX_DrvStrokePath 14L
-#define INDEX_DrvFillPath 15L
-#define INDEX_DrvStrokeAndFillPath 16L
-#define INDEX_DrvPaint 17L
-#define INDEX_DrvBitBlt 18L
-#define INDEX_DrvCopyBits 19L
-#define INDEX_DrvStretchBlt 20L
-#define INDEX_DrvSetPalette 22L
-#define INDEX_DrvTextOut 23L
-#define INDEX_DrvEscape 24L
-#define INDEX_DrvDrawEscape 25L
-#define INDEX_DrvQueryFont 26L
-#define INDEX_DrvQueryFontTree 27L
-#define INDEX_DrvQueryFontData 28L
-#define INDEX_DrvSetPointerShape 29L
-#define INDEX_DrvMovePointer 30L
-#define INDEX_DrvLineTo 31L
-#define INDEX_DrvSendPage 32L
-#define INDEX_DrvStartPage 33L
-#define INDEX_DrvEndDoc 34L
-#define INDEX_DrvStartDoc 35L
-#define INDEX_DrvGetGlyphMode 37L
-#define INDEX_DrvSynchronize 38L
-#define INDEX_DrvSaveScreenBits 40L
-#define INDEX_DrvGetModes 41L
-#define INDEX_DrvFree 42L
-#define INDEX_DrvDestroyFont 43L
-#define INDEX_DrvQueryFontCaps 44L
-#define INDEX_DrvLoadFontFile 45L
-#define INDEX_DrvUnloadFontFile 46L
-#define INDEX_DrvFontManagement 47L
-#define INDEX_DrvQueryTrueTypeTable 48L
-#define INDEX_DrvQueryTrueTypeOutline 49L
-#define INDEX_DrvGetTrueTypeFile 50L
-#define INDEX_DrvQueryFontFile 51L
-#define INDEX_DrvMovePanning 52L
-#define INDEX_DrvQueryAdvanceWidths 53L
-#define INDEX_DrvSetPixelFormat 54L
-#define INDEX_DrvDescribePixelFormat 55L
-#define INDEX_DrvSwapBuffers 56L
-#define INDEX_DrvStartBanding 57L
-#define INDEX_DrvNextBand 58L
-#define INDEX_DrvGetDirectDrawInfo 59L
-#define INDEX_DrvEnableDirectDraw 60L
-#define INDEX_DrvDisableDirectDraw 61L
-#define INDEX_DrvQuerySpoolType 62L
-#define INDEX_DrvIcmCreateColorTransform 64L
-#define INDEX_DrvIcmDeleteColorTransform 65L
-#define INDEX_DrvIcmCheckBitmapBits 66L
-#define INDEX_DrvIcmSetDeviceGammaRamp 67L
-#define INDEX_DrvGradientFill 68L
-#define INDEX_DrvStretchBltROP 69L
-#define INDEX_DrvPlgBlt 70L
-#define INDEX_DrvAlphaBlend 71L
-#define INDEX_DrvSynthesizeFont 72L
-#define INDEX_DrvGetSynthesizedFontFiles 73L
-#define INDEX_DrvTransparentBlt 74L
-#define INDEX_DrvQueryPerBandInfo 75L
-#define INDEX_DrvQueryDeviceSupport 76L
-#define INDEX_DrvReserved1 77L
-#define INDEX_DrvReserved2 78L
-#define INDEX_DrvReserved3 79L
-#define INDEX_DrvReserved4 80L
-#define INDEX_DrvReserved5 81L
-#define INDEX_DrvReserved6 82L
-#define INDEX_DrvReserved7 83L
-#define INDEX_DrvReserved8 84L
-#define INDEX_DrvDeriveSurface 85L
-#define INDEX_DrvQueryGlyphAttrs 86L
-#define INDEX_DrvNotify 87L
-#define INDEX_DrvSynchronizeSurface 88L
-#define INDEX_DrvResetDevice 89L
-#define INDEX_DrvReserved9 90L
-#define INDEX_DrvReserved10 91L
-#define INDEX_DrvReserved11 92L
-#define INDEX_LAST 93L
-
-typedef struct _DRVFN {
- ULONG iFunc;
- PFN pfn;
-} DRVFN, *PDRVFN;
-
-/* DRVENABLEDATA.iDriverVersion constants */
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-typedef struct _DRVENABLEDATA {
- ULONG iDriverVersion;
- ULONG c;
- DRVFN *pdrvfn;
-} DRVENABLEDATA, *PDRVENABLEDATA;
-
-DECLARE_HANDLE(HSEMAPHORE);
-
-typedef struct _ENGSAFESEMAPHORE {
- HSEMAPHORE hsem;
- LONG lCount;
-} ENGSAFESEMAPHORE;
-
-typedef struct _ENG_TIME_FIELDS {
- USHORT usYear;
- USHORT usMonth;
- USHORT usDay;
- USHORT usHour;
- USHORT usMinute;
- USHORT usSecond;
- USHORT usMilliseconds;
- USHORT usWeekday;
-} ENG_TIME_FIELDS, *PENG_TIME_FIELDS;
-
-typedef struct _ENUMRECTS {
- ULONG c;
- RECTL arcl[1];
-} ENUMRECTS;
-
-typedef struct _FD_XFORM {
- FLOATL eXX;
- FLOATL eXY;
- FLOATL eYX;
- FLOATL eYY;
-} FD_XFORM, *PFD_XFORM;
-
-/* FD_DEVICEMETRICS.flRealizedType constants */
-#define FDM_TYPE_BM_SIDE_CONST 0x00000001
-#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE 0x00000002
-#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE 0x00000004
-#define FDM_TYPE_ZERO_BEARINGS 0x00000008
-#define FDM_TYPE_CONST_BEARINGS 0x00000010
-
-typedef struct _FD_DEVICEMETRICS {
- FLONG flRealizedType;
- POINTE pteBase;
- POINTE pteSide;
- LONG lD;
- FIX fxMaxAscender;
- FIX fxMaxDescender;
- POINTL ptlUnderline1;
- POINTL ptlStrikeout;
- POINTL ptlULThickness;
- POINTL ptlSOThickness;
- ULONG cxMax;
- ULONG cyMax;
- ULONG cjGlyphMax;
- FD_XFORM fdxQuantized;
- LONG lNonLinearExtLeading;
- LONG lNonLinearIntLeading;
- LONG lNonLinearMaxCharWidth;
- LONG lNonLinearAvgCharWidth;
- LONG lMinA;
- LONG lMinC;
- LONG lMinD;
- LONG alReserved[1];
-} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
-
-/* FD_GLYPHATTR.iMode constants */
-#define FO_ATTR_MODE_ROTATE 1
-
-typedef struct _FD_GLYPHATTR {
- ULONG cjThis;
- ULONG cGlyphs;
- ULONG iMode;
- BYTE aGlyphAttr[1];
-} FD_GLYPHATTR, *PFD_GLYPHATTR;
-
-/* FD_GLYPHSET.flAccel */
-#define GS_UNICODE_HANDLES 0x00000001
-#define GS_8BIT_HANDLES 0x00000002
-#define GS_16BIT_HANDLES 0x00000004
-
-typedef struct _WCRUN {
- WCHAR wcLow;
- USHORT cGlyphs;
- HGLYPH *phg;
-} WCRUN, *PWCRUN;
-
-typedef struct _FD_GLYPHSET {
- ULONG cjThis;
- FLONG flAccel;
- ULONG cGlyphsSupported;
- ULONG cRuns;
- WCRUN awcrun[1];
-} FD_GLYPHSET, *PFD_GLYPHSET;
-
-typedef struct _FD_KERNINGPAIR {
- WCHAR wcFirst;
- WCHAR wcSecond;
- FWORD fwdKern;
-} FD_KERNINGPAIR;
-
-typedef struct _FLOATOBJ
-{
- ULONG ul1;
- ULONG ul2;
-} FLOATOBJ, *PFLOATOBJ;
-
-typedef struct _FLOATOBJ_XFORM {
- FLOATOBJ eM11;
- FLOATOBJ eM12;
- FLOATOBJ eM21;
- FLOATOBJ eM22;
- FLOATOBJ eDx;
- FLOATOBJ eDy;
-} FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM;
-
-/* FONTDIFF.fsSelection */
-#define FM_SEL_ITALIC 0x0001
-#define FM_SEL_UNDERSCORE 0x0002
-#define FM_SEL_NEGATIVE 0x0004
-#define FM_SEL_OUTLINED 0x0008
-#define FM_SEL_STRIKEOUT 0x0010
-#define FM_SEL_BOLD 0x0020
-#define FM_SEL_REGULAR 0x0040
-
-typedef struct _FONTDIFF {
- BYTE jReserved1;
- BYTE jReserved2;
- BYTE jReserved3;
- BYTE bWeight;
- USHORT usWinWeight;
- FSHORT fsSelection;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- POINTL ptlCaret;
-} FONTDIFF;
-
-typedef struct _FONTSIM {
- PTRDIFF dpBold;
- PTRDIFF dpItalic;
- PTRDIFF dpBoldItalic;
-} FONTSIM;
-
-/* FONTINFO.flCaps constants */
-#define FO_DEVICE_FONT 1L
-#define FO_OUTLINE_CAPABLE 2L
-
-typedef struct _FONTINFO {
- ULONG cjThis;
- FLONG flCaps;
- ULONG cGlyphsSupported;
- ULONG cjMaxGlyph1;
- ULONG cjMaxGlyph4;
- ULONG cjMaxGlyph8;
- ULONG cjMaxGlyph32;
-} FONTINFO, *PFONTINFO;
-
-/* FONTOBJ.flFontType constants */
-#define FO_TYPE_RASTER RASTER_FONTTYPE
-#define FO_TYPE_DEVICE DEVICE_FONTTYPE
-#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
-#define FO_TYPE_OPENTYPE OPENTYPE_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
-#define FO_CFF 0x00100000
-#define FO_POSTSCRIPT 0x00200000
-#define FO_MULTIPLEMASTER 0x00400000
-#define FO_VERT_FACE 0x00800000
-#define FO_DBCS_FONT 0X01000000
-#define FO_NOCLEARTYPE 0x02000000
-#define FO_CLEARTYPE_X 0x10000000
-#define FO_CLEARTYPE_Y 0x20000000
-
-typedef struct _FONTOBJ {
- ULONG iUniq;
- ULONG iFace;
- ULONG cxMax;
- FLONG flFontType;
- ULONG_PTR iTTUniq;
- ULONG_PTR iFile;
- SIZE sizLogResPpi;
- ULONG ulStyleSize;
- PVOID pvConsumer;
- PVOID pvProducer;
-} FONTOBJ;
-
-typedef struct _GAMMARAMP {
- WORD Red[256];
- WORD Green[256];
- WORD Blue[256];
-} GAMMARAMP, *PGAMMARAMP;
-
-/* GDIINFO.ulPrimaryOrder constants */
-#define PRIMARY_ORDER_ABC 0
-#define PRIMARY_ORDER_ACB 1
-#define PRIMARY_ORDER_BAC 2
-#define PRIMARY_ORDER_BCA 3
-#define PRIMARY_ORDER_CBA 4
-#define PRIMARY_ORDER_CAB 5
-
-/* GDIINFO.ulHTPatternSize constants */
-#define HT_PATSIZE_2x2 0
-#define HT_PATSIZE_2x2_M 1
-#define HT_PATSIZE_4x4 2
-#define HT_PATSIZE_4x4_M 3
-#define HT_PATSIZE_6x6 4
-#define HT_PATSIZE_6x6_M 5
-#define HT_PATSIZE_8x8 6
-#define HT_PATSIZE_8x8_M 7
-#define HT_PATSIZE_10x10 8
-#define HT_PATSIZE_10x10_M 9
-#define HT_PATSIZE_12x12 10
-#define HT_PATSIZE_12x12_M 11
-#define HT_PATSIZE_14x14 12
-#define HT_PATSIZE_14x14_M 13
-#define HT_PATSIZE_16x16 14
-#define HT_PATSIZE_16x16_M 15
-#define HT_PATSIZE_SUPERCELL 16
-#define HT_PATSIZE_SUPERCELL_M 17
-#define HT_PATSIZE_USER 18
-#define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER
-#define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M
-#define HT_USERPAT_CX_MIN 4
-#define HT_USERPAT_CX_MAX 256
-#define HT_USERPAT_CY_MIN 4
-#define HT_USERPAT_CY_MAX 256
-
-/* GDIINFO.ulHTOutputFormat constants */
-#define HT_FORMAT_1BPP 0
-#define HT_FORMAT_4BPP 2
-#define HT_FORMAT_4BPP_IRGB 3
-#define HT_FORMAT_8BPP 4
-#define HT_FORMAT_16BPP 5
-#define HT_FORMAT_24BPP 6
-#define HT_FORMAT_32BPP 7
-
-/* GDIINFO.flHTFlags */
-#define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001
-#define HT_FLAG_HAS_BLACK_DYE 0x00000002
-#define HT_FLAG_ADDITIVE_PRIMS 0x00000004
-#define HT_FLAG_USE_8BPP_BITMASK 0x00000008
-#define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010
-#define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060
-#define HT_FLAG_DO_DEVCLR_XFORM 0x00000080
-#define HT_FLAG_OUTPUT_CMY 0x00000100
-#define HT_FLAG_PRINT_DRAFT_MODE 0x00000200
-#define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400
-#define HT_FLAG_8BPP_CMY332_MASK 0xFF000000
-
-#define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \
- |(BYTE)(((BYTE)(m) & 0x07) << 2) \
- |(BYTE)((BYTE)(y) & 0x03))
-
-#define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\
- |(DWORD)(((DWORD)(m) & 0x07) << 26)\
- |(DWORD)(((DWORD)(y) & 0x03) << 24))
-
-/* GDIINFO.flHTFlags constants */
-#define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000
-#define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020
-#define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040
-#define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060
-
-#define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX3)
-#define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX2)
-#define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX1)
-#define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0
-#define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1
-#define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2
-#define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3
-
-#define HT_BITMASKPALRGB (DWORD)'0BGR'
-#define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
-#define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0)
-
-/* GDIINFO.ulPhysicalPixelCharacteristics constants */
-#define PPC_DEFAULT 0x0
-#define PPC_UNDEFINED 0x1
-#define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2
-#define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3
-#define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4
-#define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5
-
-#define PPG_DEFAULT 0
-#define PPG_SRGB 1
-
-typedef struct _GDIINFO {
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG cBitsPixel;
- ULONG cPlanes;
- ULONG ulNumColors;
- ULONG flRaster;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG flTextCaps;
- ULONG ulDACRed;
- ULONG ulDACGreen;
- ULONG ulDACBlue;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- LONG xStyleStep;
- LONG yStyleStep;
- LONG denStyleStep;
- POINTL ptlPhysOffset;
- SIZEL szlPhysSize;
- ULONG ulNumPalReg;
- COLORINFO ciDevice;
- ULONG ulDevicePelsDPI;
- ULONG ulPrimaryOrder;
- ULONG ulHTPatternSize;
- ULONG ulHTOutputFormat;
- ULONG flHTFlags;
- ULONG ulVRefresh;
- ULONG ulBltAlignment;
- ULONG ulPanningHorzRes;
- ULONG ulPanningVertRes;
- ULONG xPanningAlignment;
- ULONG yPanningAlignment;
- ULONG cxHTPat;
- ULONG cyHTPat;
- LPBYTE pHTPatA;
- LPBYTE pHTPatB;
- LPBYTE pHTPatC;
- ULONG flShadeBlend;
- ULONG ulPhysicalPixelCharacteristics;
- ULONG ulPhysicalPixelGamma;
-} GDIINFO, *PGDIINFO;
-
-/* PATHDATA.flags constants */
-#define PD_BEGINSUBPATH 0x00000001
-#define PD_ENDSUBPATH 0x00000002
-#define PD_RESETSTYLE 0x00000004
-#define PD_CLOSEFIGURE 0x00000008
-#define PD_BEZIERS 0x00000010
-#define PD_ALL (PD_BEGINSUBPATH \
- |PD_ENDSUBPATH \
- |PD_RESETSTYLE \
- |PD_CLOSEFIGURE \
- PD_BEZIERS)
-
-typedef struct _PATHDATA {
- FLONG flags;
- ULONG count;
- POINTFIX pptfx;
-} PATHDATA, *PPATHDATA;
-
-/* PATHOBJ.fl constants */
-#define PO_BEZIERS 0x00000001
-#define PO_ELLIPSE 0x00000002
-#define PO_ALL_INTEGERS 0x00000004
-#define PO_ENUM_AS_INTEGERS 0x00000008
-
-typedef struct _PATHOBJ {
- FLONG fl;
- ULONG cCurves;
-} PATHOBJ;
-
-typedef struct _GLYPHBITS {
- POINTL ptlOrigin;
- SIZEL sizlBitmap;
- BYTE aj[1];
-} GLYPHBITS;
-
-typedef union _GLYPHDEF {
- GLYPHBITS *pgb;
- PATHOBJ *ppo;
-} GLYPHDEF;
-
-typedef struct _GLYPHPOS {
- HGLYPH hg;
- GLYPHDEF *pgdf;
- POINTL *ptl;
-} GLYPHPOS, *PGLYPHPOS;
-
-typedef struct _GLYPHDATA {
- GLYPHDEF gdf;
- HGLYPH hg;
- FIX fxD;
- FIX fxA;
- FIX fxAB;
- FIX fxInkTop;
- FIX fxInkBottom;
- RECTL rclInk;
- POINTQF ptqD;
-} GLYPHDATA;
-
-typedef struct _IFIEXTRA {
- ULONG ulIdentifier;
- PTRDIFF dpFontSig;
- ULONG cig;
- PTRDIFF dpDesignVector;
- PTRDIFF dpAxesInfoW;
- ULONG aulReserved[1];
-} IFIEXTRA, *PIFIEXTRA;
-
-/* IFIMETRICS constants */
-
-#define FM_VERSION_NUMBER 0x0
-
-/* IFIMETRICS.fsType constants */
-#define FM_TYPE_LICENSED 0x2
-#define FM_READONLY_EMBED 0x4
-#define FM_EDITABLE_EMBED 0x8
-#define FM_NO_EMBEDDING FM_TYPE_LICENSED
-
-/* IFIMETRICS.flInfo constants */
-#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_TECH_MM 0x00004000
-#define FM_INFO_RETURNS_OUTLINES 0x00008000
-#define FM_INFO_RETURNS_STROKES 0x00010000
-#define FM_INFO_RETURNS_BITMAPS 0x00020000
-#define FM_INFO_DSIG 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_TECH_CFF 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 MAXCHARSETS 16
-
-/* IFIMETRICS.ulPanoseCulture constants */
-#define FM_PANOSE_CULTURE_LATIN 0x0
-
-typedef struct _IFIMETRICS {
- ULONG cjThis;
- ULONG cjIfiExtra;
- PTRDIFF dpwszFamilyName;
- PTRDIFF dpwszStyleName;
- PTRDIFF dpwszFaceName;
- PTRDIFF dpwszUniqueName;
- PTRDIFF dpFontSim;
- LONG lEmbedId;
- LONG lItalicAngle;
- LONG lCharBias;
- PTRDIFF dpCharSets;
- BYTE jWinCharSet;
- BYTE jWinPitchAndFamily;
- USHORT usWinWeight;
- ULONG flInfo;
- USHORT fsSelection;
- USHORT fsType;
- FWORD fwdUnitsPerEm;
- FWORD fwdLowestPPEm;
- FWORD fwdWinAscender;
- FWORD fwdWinDescender;
- FWORD fwdMacAscender;
- FWORD fwdMacDescender;
- FWORD fwdMacLineGap;
- FWORD fwdTypoAscender;
- FWORD fwdTypoDescender;
- FWORD fwdTypoLineGap;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- FWORD fwdCapHeight;
- FWORD fwdXHeight;
- FWORD fwdSubscriptXSize;
- FWORD fwdSubscriptYSize;
- FWORD fwdSubscriptXOffset;
- FWORD fwdSubscriptYOffset;
- FWORD fwdSuperscriptXSize;
- FWORD fwdSuperscriptYSize;
- FWORD fwdSuperscriptXOffset;
- FWORD fwdSuperscriptYOffset;
- FWORD fwdUnderscoreSize;
- FWORD fwdUnderscorePosition;
- FWORD fwdStrikeoutSize;
- FWORD fwdStrikeoutPosition;
- BYTE chFirstChar;
- BYTE chLastChar;
- BYTE chDefaultChar;
- BYTE chBreakChar;
- WCHAR wcFirstChar;
- WCHAR wcLastChar;
- WCHAR wcDefaultChar;
- WCHAR wcBreakChar;
- POINTL ptlBaseline;
- POINTL ptlAspect;
- POINTL ptlCaret;
- RECTL rclFontBox;
- BYTE achVendId[4];
- ULONG cKerningPairs;
- ULONG ulPanoseCulture;
- PANOSE panose;
-#if defined(_WIN64)
- PVOID Align;
-#endif
-} IFIMETRICS, *PIFIMETRICS;
-
-/* LINEATTRS.fl */
-#define LA_GEOMETRIC 0x00000001
-#define LA_ALTERNATE 0x00000002
-#define LA_STARTGAP 0x00000004
-#define LA_STYLED 0x00000008
-
-/* LINEATTRS.iJoin */
-#define JOIN_ROUND 0L
-#define JOIN_BEVEL 1L
-#define JOIN_MITER 2L
-
-/* LINEATTRS.iEndCap */
-#define ENDCAP_ROUND 0L
-#define ENDCAP_SQUARE 1L
-#define ENDCAP_BUTT 2L
-
-typedef struct _LINEATTRS {
- FLONG fl;
- ULONG iJoin;
- ULONG iEndCap;
- FLOAT_LONG elWidth;
- FLOATL eMiterLimit;
- ULONG cstyle;
- PFLOAT_LONG pstyle;
- FLOAT_LONG elStyleState;
-} LINEATTRS, *PLINEATTRS;
-
-typedef struct _PALOBJ {
- ULONG ulReserved;
-} PALOBJ;
-
-typedef struct _PERBANDINFO {
- BOOL bRepeatThisBand;
- SIZEL szlBand;
- ULONG ulHorzRes;
- ULONG ulVertRes;
-} PERBANDINFO, *PPERBANDINFO;
-
-/* STROBJ.flAccel constants */
-#define SO_FLAG_DEFAULT_PLACEMENT 0x00000001
-#define SO_HORIZONTAL 0x00000002
-#define SO_VERTICAL 0x00000004
-#define SO_REVERSED 0x00000008
-#define SO_ZERO_BEARINGS 0x00000010
-#define SO_CHAR_INC_EQUAL_BM_BASE 0x00000020
-#define SO_MAXEXT_EQUAL_BM_SIDE 0x00000040
-#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080
-#define SO_GLYPHINDEX_TEXTOUT 0x00000100
-#define SO_ESC_NOT_ORIENT 0x00000200
-#define SO_DXDY 0x00000400
-#define SO_CHARACTER_EXTRA 0x00000800
-#define SO_BREAK_EXTRA 0x00001000
-
-typedef struct _STROBJ {
- ULONG cGlyphs;
- FLONG flAccel;
- ULONG ulCharInc;
- RECTL rclBkGround;
- GLYPHPOS *pgp;
- LPWSTR pwszOrg;
-} STROBJ;
-
-typedef struct _SURFACEALIGNMENT {
- union {
- struct {
- DWORD dwStartAlignment;
- DWORD dwPitchAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Linear;
- struct {
- DWORD dwXAlignment;
- DWORD dwYAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Rectangular;
- };
-} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;
-
-/* SURFOBJ.iType constants */
-#define STYPE_BITMAP 0L
-#define STYPE_DEVICE 1L
-#define STYPE_DEVBITMAP 3L
-
-/* SURFOBJ.fjBitmap constants */
-#define BMF_TOPDOWN 0x0001
-#define BMF_NOZEROINIT 0x0002
-#define BMF_DONTCACHE 0x0004
-#define BMF_USERMEM 0x0008
-#define BMF_KMSECTION 0x0010
-#define BMF_NOTSYSMEM 0x0020
-#define BMF_WINDOW_BLT 0x0040
-#define BMF_UMPDMEM 0x0080
-#define BMF_RESERVED 0xFF00
-
-typedef struct _SURFOBJ {
- DHSURF dhsurf;
- HSURF hsurf;
- DHPDEV dhpdev;
- HDEV hdev;
- SIZEL sizlBitmap;
- ULONG cjBits;
- PVOID pvBits;
- PVOID pvScan0;
- LONG lDelta;
- ULONG iUniq;
- ULONG iBitmapFormat;
- USHORT iType;
- USHORT fjBitmap;
-} SURFOBJ;
-
-typedef struct _TYPE1_FONT {
- HANDLE hPFM;
- HANDLE hPFB;
- ULONG ulIdentifier;
-} TYPE1_FONT;
-
-typedef struct _WNDOBJ {
- CLIPOBJ coClient;
- PVOID pvConsumer;
- RECTL rclClient;
- SURFOBJ *psoOwner;
-} WNDOBJ, *PWNDOBJ;
-
-typedef struct _XFORML {
- FLOATL eM11;
- FLOATL eM12;
- FLOATL eM21;
- FLOATL eM22;
- FLOATL eDx;
- FLOATL eDy;
-} XFORML, *PXFORML;
-
-typedef struct _XFORMOBJ {
- ULONG ulReserved;
-} XFORMOBJ;
-
-/* XLATEOBJ.flXlate constants */
-#define XO_TRIVIAL 0x00000001
-#define XO_TABLE 0x00000002
-#define XO_TO_MONO 0x00000004
-#define XO_FROM_CMYK 0x00000008
-#define XO_DEVICE_ICM 0x00000010
-#define XO_HOST_ICM 0x00000020
-
-typedef struct _XLATEOBJ {
- ULONG iUniq;
- FLONG flXlate;
- USHORT iSrcType;
- USHORT iDstType;
- ULONG cEntries;
- ULONG *pulXlate;
-} XLATEOBJ;
-
-typedef VOID DDKAPI (CALLBACK *WNDOBJCHANGEPROC)(
- IN WNDOBJ *pwo,
- IN FLONG fl);
-
-
-WIN32KAPI
-HANDLE
-DDKAPI
-BRUSHOBJ_hGetColorTransform(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvAllocRbrush(
- IN BRUSHOBJ *pbo,
- IN ULONG cj);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvGetRbrush(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-BRUSHOBJ_ulGetBrushColor(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-CLIPOBJ_bEnum(
- IN CLIPOBJ *pco,
- IN ULONG cj,
- OUT ULONG *pv);
-
-/* CLIPOBJ_cEnumStart.iType constants */
-#define CT_RECTANGLES 0L
-
-/* CLIPOBJ_cEnumStart.iDirection constants */
-#define CD_RIGHTDOWN 0x00000000
-#define CD_LEFTDOWN 0x00000001
-#define CD_LEFTWARDS 0x00000001
-#define CD_RIGHTUP 0x00000002
-#define CD_UPWARDS 0x00000002
-#define CD_LEFTUP 0x00000003
-#define CD_ANY 0x00000004
-
-WIN32KAPI
-ULONG
-DDKAPI
-CLIPOBJ_cEnumStart(
- IN CLIPOBJ *pco,
- IN BOOL bAll,
- IN ULONG iType,
- IN ULONG iDirection,
- IN ULONG cLimit);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-CLIPOBJ_ppoGetPath(
- IN CLIPOBJ *pco);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngAcquireSemaphore(
- IN HSEMAPHORE hsem);
-
-#define FL_ZERO_MEMORY 0x00000001
-#define FL_NONPAGED_MEMORY 0x00000002
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocMem(
- IN ULONG Flags,
- IN ULONG MemSize,
- IN ULONG Tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocPrivateUserMem(
- IN PDD_SURFACE_LOCAL psl,
- IN SIZE_T cj,
- IN ULONG tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocUserMem(
- IN SIZE_T cj,
- IN ULONG tag);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAlphaBlend(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-/* EngAssociateSurface.flHooks constants */
-#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_MOVEPANNING 0x00000800
-#define HOOK_SYNCHRONIZE 0x00001000
-#define HOOK_STRETCHBLTROP 0x00002000
-#define HOOK_SYNCHRONIZEACCESS 0x00004000
-#define HOOK_TRANSPARENTBLT 0x00008000
-#define HOOK_ALPHABLEND 0x00010000
-#define HOOK_GRADIENTFILL 0x00020000
-#define HOOK_FLAGS 0x0003b5ff
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAssociateSurface(
- IN HSURF hsurf,
- IN HDEV hdev,
- IN FLONG flHooks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngBitBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCheckAbort(
- IN SURFOBJ *pso);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngClearEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-EngComputeGlyphSet(
- IN INT nCodePage,
- IN INT nFirstChar,
- IN INT cChars);
-
-/* EngControlSprites.fl constants */
-#define ECS_TEARDOWN 0x00000001
-#define ECS_REDRAW 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngControlSprites(
- IN WNDOBJ *pwo,
- IN FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCopyBits(
- OUT SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateBitmap(
- IN SIZEL sizl,
- IN LONG lWidth,
- IN ULONG iFormat,
- IN FLONG fl,
- IN PVOID pvBits);
-
-WIN32KAPI
-CLIPOBJ*
-DDKAPI
-EngCreateClip(
- VOID);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateDeviceBitmap(
- IN DHSURF dhsurf,
- IN SIZEL sizl,
- IN ULONG iFormatCompat);
-
-WIN32KAPI
-HSURF
-DDKAPI
-EngCreateDeviceSurface(
- DHSURF dhsurf,
- SIZEL sizl,
- ULONG iFormatCompat);
-
-#if 0
-WIN32KAPI
-HDRVOBJ
-DDKAPI
-EngCreateDriverObj(
- PVOID pvObj,
- FREEOBJPROC pFreeObjProc,
- HDEV hdev);
-#endif
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCreateEvent(
- OUT PEVENT *ppEvent);
-
-/* EngCreatePalette.iMode constants */
-#define PAL_INDEXED 0x00000001
-#define PAL_BITFIELDS 0x00000002
-#define PAL_RGB 0x00000004
-#define PAL_BGR 0x00000008
-#define PAL_CMYK 0x00000010
-
-WIN32KAPI
-HPALETTE
-DDKAPI
-EngCreatePalette(
- IN ULONG iMode,
- IN ULONG cColors,
- IN ULONG *pulColors,
- IN FLONG flRed,
- IN FLONG flGreen,
- IN FLONG flBlue);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-EngCreatePath(
- VOID);
-
-WIN32KAPI
-HSEMAPHORE
-DDKAPI
-EngCreateSemaphore(
- VOID);
-
-/* EngCreateWnd.fl constants */
-#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 WO_RGN_WINDOW 0x00000020
-#define WO_DRAW_NOTIFY 0x00000040
-#define WO_SPRITE_NOTIFY 0x00000080
-#define WO_RGN_DESKTOP_COORD 0x00000100
-
-WIN32KAPI
-WNDOBJ*
-DDKAPI
-EngCreateWnd(
- SURFOBJ *pso,
- HWND hwnd,
- WNDOBJCHANGEPROC pfn,
- FLONG fl,
- int iPixelFormat);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugBreak(
- VOID);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugPrint(
- IN PCHAR StandardPrefix,
- IN PCHAR DebugMessage,
- IN va_list ap);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteClip(
- IN CLIPOBJ *pco);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteDriverObj(
- IN HDRVOBJ hdo,
- IN BOOL bCallBack,
- IN BOOL bLocked);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteFile(
- IN LPWSTR pwszFileName);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeletePalette(
- IN HPALETTE hpal);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeletePath(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSafeSemaphore(
- IN OUT ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSemaphore(
- IN OUT HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteSurface(
- IN HSURF hsurf);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteWnd(
- IN WNDOBJ *pwo);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngDeviceIoControl(
- IN HANDLE hDevice,
- IN DWORD dwIoControlCode,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- IN OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesReturned);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngDitherColor(
- IN HDEV hdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEnumForms(
- IN HANDLE hPrinter,
- IN DWORD Level,
- OUT LPBYTE pForm,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded,
- OUT LPDWORD pcReturned);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEraseSurface(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN ULONG iColor);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindImageProcAddress(
- IN HANDLE hModule,
- IN LPSTR lpProcName);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindResource(
- IN HANDLE h,
- IN int iName,
- IN int iType,
- OUT PULONG pulSize);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheAlloc(
- IN ULONG FastCheckSum,
- IN ULONG ulSize);
-
-/* EngFntCacheFault.iFaultMode constants */
-#define ENG_FNT_CACHE_READ_FAULT 0x00000001
-#define ENG_FNT_CACHE_WRITE_FAULT 0x00000002
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFntCacheFault(
- IN ULONG ulFastCheckSum,
- IN ULONG iFaultMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheLookUp(
- IN ULONG FastCheckSum,
- OUT ULONG *pulSize);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeMem(
- IN PVOID Mem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeModule(
- IN HANDLE h);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreePrivateUserMem(
- IN PDD_SURFACE_LOCAL psl,
- IN PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeUserMem(
- IN PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngGetCurrentCodePage(
- OUT PUSHORT OemCodePage,
- OUT PUSHORT AnsiCodePage);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentProcessId(
- VOID);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentThreadId(
- VOID);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetDriverName(
- IN HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFileChangeTime(
- IN HANDLE h,
- OUT LARGE_INTEGER *pChangeTime);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFilePath(
- IN HANDLE h,
- OUT WCHAR (*pDest)[MAX_PATH+1]);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetForm(
- IN HANDLE hPrinter,
- IN LPWSTR pFormName,
- IN DWORD Level,
- OUT LPBYTE pForm,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngGetLastError(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinter(
- IN HANDLE hPrinter,
- IN DWORD dwLevel,
- OUT LPBYTE pPrinter,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngGetPrinterData(
- IN HANDLE hPrinter,
- IN LPWSTR pValueName,
- OUT LPDWORD pType,
- OUT LPBYTE pData,
- IN DWORD nSize,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetPrinterDataFileName(
- IN HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinterDriver(
- IN HANDLE hPrinter,
- IN LPWSTR pEnvironment,
- IN DWORD dwLevel,
- OUT BYTE *lpbDrvInfo,
- IN DWORD cbBuf,
- OUT DWORD *pcbNeeded);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetProcessHandle(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetType1FontList(
- IN HDEV hdev,
- OUT TYPE1_FONT *pType1Buffer,
- IN ULONG cjType1Buffer,
- OUT PULONG pulLocalFonts,
- OUT PULONG pulRemoteFonts,
- OUT LARGE_INTEGER *pLastModified);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGradientFill(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-/* EngHangNotification return values */
-#define EHN_RESTORED 0x00000000
-#define EHN_ERROR 0x00000001
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngHangNotification(
- IN HDEV hDev,
- IN PVOID Reserved);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngInitializeSafeSemaphore(
- OUT ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwned(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwnedByCurrentThread(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadImage(
- IN LPWSTR pwszDriver);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModule(
- IN LPWSTR pwsz);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModuleForWrite(
- IN LPWSTR pwsz,
- IN ULONG cjSizeOfModule);
-
-WIN32KAPI
-PDD_SURFACE_LOCAL
-DDKAPI
-EngLockDirectDrawSurface(
- IN HANDLE hSurface);
-
-WIN32KAPI
-DRIVEROBJ*
-DDKAPI
-EngLockDriverObj(
- IN HDRVOBJ hdo);
-
-WIN32KAPI
-SURFOBJ*
-DDKAPI
-EngLockSurface(
- IN HSURF hsurf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLpkInstalled(
- VOID);
-
-WIN32KAPI
-PEVENT
-DDKAPI
-EngMapEvent(
- IN HDEV hDev,
- IN HANDLE hUserObject,
- IN PVOID Reserved1,
- IN PVOID Reserved2,
- IN PVOID Reserved3);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapFile(
- IN LPWSTR pwsz,
- IN ULONG cjSize,
- OUT ULONG_PTR *piFile);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFile(
- ULONG_PTR iFile,
- PULONG *ppjBuf,
- ULONG *pcjBuf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFileFD(
- IN ULONG_PTR iFile,
- OUT PULONG *ppjBuf,
- OUT ULONG *pcjBuf);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapModule(
- IN HANDLE h,
- OUT PULONG pSize);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMarkBandingSurface(
- IN HSURF hsurf);
-
-/* EngModifySurface.flSurface constants */
-#define MS_NOTSYSTEMMEMORY 0x00000001
-#define MS_SHAREDACCESS 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngModifySurface(
- IN HSURF hsurf,
- IN HDEV hdev,
- IN FLONG flHooks,
- IN FLONG flSurface,
- IN DHSURF dhsurf,
- IN VOID *pvScan0,
- IN LONG lDelta,
- IN VOID *pvReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMovePointer(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-WIN32KAPI
-int
-DDKAPI
-EngMulDiv(
- IN int a,
- IN int b,
- IN int c);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMultiByteToUnicodeN(
- OUT LPWSTR UnicodeString,
- IN ULONG MaxBytesInUnicodeString,
- OUT PULONG BytesInUnicodeString,
- IN PCHAR MultiByteString,
- IN ULONG BytesInMultiByteString);
-
-WIN32KAPI
-INT
-DDKAPI
-EngMultiByteToWideChar(
- IN UINT CodePage,
- OUT LPWSTR WideCharString,
- IN INT BytesInWideCharString,
- IN LPSTR MultiByteString,
- IN INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPaint(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPlgBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForRead(
- IN PVOID Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForReadAndWrite(
- IN PVOID Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-typedef enum _ENG_DEVICE_ATTRIBUTE {
- QDA_RESERVED = 0,
- QDA_ACCELERATION_LEVEL
-} ENG_DEVICE_ATTRIBUTE;
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQueryDeviceAttribute(
- IN HDEV hdev,
- IN ENG_DEVICE_ATTRIBUTE devAttr,
- IN VOID *pvIn,
- IN ULONG ulInSize,
- OUT VOID *pvOut,
- OUT ULONG ulOutSize);
-
-WIN32KAPI
-LARGE_INTEGER
-DDKAPI
-EngQueryFileTimeStamp(
- IN LPWSTR pwsz);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryLocalTime(
- OUT PENG_TIME_FIELDS ptf);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngQueryPalette(
- IN HPALETTE hPal,
- OUT ULONG *piMode,
- IN ULONG cColors,
- OUT ULONG *pulColors);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceCounter(
- OUT LONGLONG *pPerformanceCount);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceFrequency(
- OUT LONGLONG *pFrequency);
-
-typedef enum _ENG_SYSTEM_ATTRIBUTE {
- EngProcessorFeature = 1,
- EngNumberOfProcessors,
- EngOptimumAvailableUserMemory,
- EngOptimumAvailableSystemMemory,
-} ENG_SYSTEM_ATTRIBUTE;
-
-#define QSA_MMX 0x00000100
-#define QSA_SSE 0x00002000
-#define QSA_3DNOW 0x00004000
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQuerySystemAttribute(
- IN ENG_SYSTEM_ATTRIBUTE CapNum,
- OUT PDWORD pCapability);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngReadStateEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngReleaseSemaphore(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngRestoreFloatingPointState(
- IN VOID *pBuffer);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSaveFloatingPointState(
- OUT VOID *pBuffer,
- IN ULONG cjBufferSize);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngSecureMem(
- IN PVOID Address,
- IN ULONG Length);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngSetEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSetLastError(
- IN ULONG iError);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSetPointerShape(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngSetPointerTag(
- IN HDEV hdev,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN FLONG fl);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngSetPrinterData(
- IN HANDLE hPrinter,
- IN LPWSTR pType,
- IN DWORD dwType,
- IN LPBYTE lpbPrinterData,
- IN DWORD cjPrinterData);
-
-typedef int DDKCDECLAPI (*SORTCOMP)(const void *pv1, const void *pv2);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSort(
- IN OUT PBYTE pjBuf,
- IN ULONG c,
- IN ULONG cjElem,
- IN SORTCOMP pfnComp);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBlt(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBltROP(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokeAndFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokePath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTextOut(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL pptlOrg,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTransparentBlt(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnicodeToMultiByteN(
- OUT PCHAR MultiByteString,
- IN ULONG MaxBytesInMultiByteString,
- OUT PULONG BytesInMultiByteString,
- IN PWSTR UnicodeString,
- IN ULONG BytesInUnicodeString);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnloadImage(
- IN HANDLE hModule);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDirectDrawSurface(
- IN PDD_SURFACE_LOCAL pSurface);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDriverObj(
- IN HDRVOBJ hdo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnlockSurface(
- IN SURFOBJ *pso);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapFile(
- IN ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFile(
- ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFileFD(
- IN ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnsecureMem(
- IN HANDLE hSecure);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWaitForSingleObject(
- IN PEVENT pEvent,
- IN PLARGE_INTEGER pTimeOut);
-
-WIN32KAPI
-INT
-DDKAPI
-EngWideCharToMultiByte(
- IN UINT CodePage,
- IN LPWSTR WideCharString,
- IN INT BytesInWideCharString,
- OUT LPSTR MultiByteString,
- IN INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWritePrinter(
- IN HANDLE hPrinter,
- IN LPVOID pBuf,
- IN DWORD cbBuf,
- OUT LPDWORD pcWritten);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Add(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Div(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_Equal(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_EqualLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetFloat(
- IN PFLOATOBJ pf);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetLong(
- IN PFLOATOBJ pf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThan(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThanLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThan(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThanLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Mul(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Neg(
- IN OUT PFLOATOBJ pf);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetFloat(
- OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetLong(
- OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Sub(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetAllGlyphHandles(
- IN FONTOBJ *pfo,
- OUT HGLYPH *phg);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetGlyphs(
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cGlyph,
- IN HGLYPH *phg,
- OUT PVOID **ppvGlyph);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-FONTOBJ_pfdg(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-IFIMETRICS*
-DDKAPI
-FONTOBJ_pifi(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-PBYTE
-DDKAPI
-FONTOBJ_pjOpenTypeTablePointer(
- IN FONTOBJ *pfo,
- IN ULONG ulTag,
- OUT ULONG *pcjTable);
-
-WIN32KAPI
-PFD_GLYPHATTR
-DDKAPI
-FONTOBJ_pQueryGlyphAttrs(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-FONTOBJ_pvTrueTypeFontFile(
- IN FONTOBJ *pfo,
- OUT ULONG *pcjFile);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-FONTOBJ_pwszFontFilePaths(
- IN FONTOBJ *pfo,
- OUT ULONG *pcwc);
-
-WIN32KAPI
-XFORMOBJ*
-DDKAPI
-FONTOBJ_pxoGetXform(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-VOID
-DDKAPI
-FONTOBJ_vGetInfo(
- IN FONTOBJ *pfo,
- IN ULONG cjSize,
- OUT FONTINFO *pfi);
-
-WIN32KAPI
-FLATPTR
-DDKAPI
-HeapVidMemAllocAligned(
- IN LPVIDMEM lpVidMem,
- IN DWORD dwWidth,
- IN DWORD dwHeight,
- IN LPSURFACEALIGNMENT lpAlignment,
- OUT LPLONG lpNewPitch);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_ComputeRGBGammaTable(
- IN USHORT GammaTableEntries,
- IN USHORT GammaTableType,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma,
- OUT LPBYTE pGammaTable);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPFormatPalette(
- OUT LPPALETTEENTRY pPaletteEntry,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPMaskPalette(
- IN OUT LPPALETTEENTRY pPaletteEntry,
- IN BOOL Use8BPPMaskPal,
- IN BYTE CMYMask,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HTUI_DeviceColorAdjustment(
- IN LPSTR pDeviceName,
- OUT PDEVHTADJDATA pDevHTAdjData);
-
-WIN32KAPI
-ULONG
-DDKAPI
-PALOBJ_cGetColors(
- IN PALOBJ *ppalo,
- IN ULONG iStart,
- IN ULONG cColors,
- OUT ULONG *pulColors);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bCloseFigure(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnum(
- IN PATHOBJ *ppo,
- OUT PATHDATA *ppd);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnumClipLines(
- IN PATHOBJ *ppo,
- IN ULONG cb,
- OUT CLIPLINE *pcl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bMoveTo(
- IN PATHOBJ *ppo,
- IN POINTFIX ptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyBezierTo(
- IN PATHOBJ *ppo,
- IN POINTFIX *pptfx,
- IN ULONG cptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyLineTo(
- IN PATHOBJ *ppo,
- IN POINTFIX *pptfx,
- IN ULONG cptfx);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStart(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStartClipLines(
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN SURFOBJ *pso,
- IN LINEATTRS *pla);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vGetBounds(
- IN PATHOBJ *ppo,
- OUT PRECTFX prectfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnum(
- IN STROBJ *pstro,
- OUT ULONG *pc,
- OUT PGLYPHPOS *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnumPositionsOnly(
- IN STROBJ *pstro,
- OUT ULONG *pc,
- OUT PGLYPHOS **ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bGetAdvanceWidths(
- IN STROBJ *pso,
- IN ULONG iFirst,
- IN ULONG c,
- OUT POINTQF *pptqD);
-
-WIN32KAPI
-DWORD
-DDKAPI
-STROBJ_dwGetCodePage(
- IN STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxBreakExtra(
- IN STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxCharacterExtra(
- IN STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-STROBJ_vEnumStart(
- IN STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-VidMemFree(
- IN LPVMEMHEAP pvmh,
- IN FLATPTR ptr);
-
-WIN32KAPI
-BOOL
-DDKAPI
-WNDOBJ_bEnum(
- IN WNDOBJ *pwo,
- IN ULONG cj,
- OUT ULONG *pul);
-
-WIN32KAPI
-ULONG
-DDKAPI
-WNDOBJ_cEnumStart(
- IN WNDOBJ *pwo,
- IN ULONG iType,
- IN ULONG iDirection,
- IN ULONG cLimit);
-
-WIN32KAPI
-VOID
-DDKAPI
-WNDOBJ_vSetConsumer(
- IN WNDOBJ *pwo,
- IN PVOID pvConsumer);
-
-/* XFORMOBJ_bApplyXform.iMode constants */
-#define XF_LTOL 0L
-#define XF_INV_LTOL 1L
-#define XF_LTOFX 2L
-#define XF_INV_FXTOL 3L
-
-WIN32KAPI
-BOOL
-DDKAPI
-XFORMOBJ_bApplyXform(
- IN XFORMOBJ *pxo,
- IN ULONG iMode,
- IN ULONG cPoints,
- IN PVOID pvIn,
- OUT PVOID pvOut);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetFloatObjXform(
- IN XFORMOBJ *pxo,
- OUT FLOATOBJ_XFORM *pxfo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetXform(
- IN XFORMOBJ *pxo,
- OUT XFORML *pxform);
-
-/* XLATEOBJ_cGetPalette.iPal constants */
-#define XO_SRCPALETTE 1
-#define XO_DESTPALETTE 2
-#define XO_DESTDCPALETTE 3
-#define XO_SRCBITFIELDS 4
-#define XO_DESTBITFIELDS 5
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_cGetPalette(
- IN XLATEOBJ *pxlo,
- IN ULONG iPal,
- IN ULONG cPal,
- OUT ULONG *pPal);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-XLATEOBJ_hGetColorTransform(
- IN XLATEOBJ *pxlo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_iXlate(
- IN XLATEOBJ *pxlo,
- IN ULONG iColor);
-
-WIN32KAPI
-ULONG*
-DDKAPI
-XLATEOBJ_piVector(
- IN XLATEOBJ *pxlo);
-
-
-
-/* Graphics Driver Functions */
-
-BOOL
-DDKAPI
-DrvAlphaBlend(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-BOOL
-DDKAPI
-DrvAssertMode(
- IN DHPDEV dhpdev,
- IN BOOL bEnable);
-
-BOOL
-DDKAPI
-DrvBitBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-VOID
-DDKAPI
-DrvCompletePDEV(
- IN DHPDEV dhpdev,
- IN HDEV hdev);
-
-BOOL
-DDKAPI
-DrvCopyBits(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-HBITMAP
-DDKAPI
-DrvCreateDeviceBitmap(
- IN DHPDEV dhpdev,
- IN SIZEL sizl,
- IN ULONG iFormat);
-
-VOID
-DDKAPI
-DrvDeleteDeviceBitmap(
- IN DHSURF dhsurf);
-
-HBITMAP
-DDKAPI
-DrvDeriveSurface(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-LONG
-DDKAPI
-DrvDescribePixelFormat(
- IN DHPDEV dhpdev,
- IN LONG iPixelFormat,
- IN ULONG cjpfd,
- OUT PIXELFORMATDESCRIPTOR *ppfd);
-
-VOID
-DDKAPI
-DrvDestroyFont(
- IN FONTOBJ *pfo);
-
-VOID
-DDKAPI
-DrvDisableDriver(
- VOID);
-
-VOID
-DDKAPI
-DrvDisablePDEV(
- IN DHPDEV dhpdev);
-
-VOID
-DDKAPI
-DrvDisableSurface(
- IN DHPDEV dhpdev);
-
-#define DM_DEFAULT 0x00000001
-#define DM_MONOCHROME 0x00000002
-
-ULONG
-DDKAPI
-DrvDitherColor(
- IN DHPDEV dhpdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-ULONG
-DDKAPI
-DrvDrawEscape(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN CLIPOBJ *pco,
- IN RECTL *prcl,
- IN ULONG cjIn,
- IN PVOID pvIn);
-
-BOOL
-DDKAPI
-DrvEnableDriver(
- IN ULONG iEngineVersion,
- IN ULONG cj,
- OUT DRVENABLEDATA *pded);
-
-DHPDEV
-DDKAPI
-DrvEnablePDEV(
- IN DEVMODEW *pdm,
- IN LPWSTR pwszLogAddress,
- IN ULONG cPat,
- OUT HSURF *phsurfPatterns,
- IN ULONG cjCaps,
- OUT ULONG *pdevcaps,
- IN ULONG cjDevInfo,
- OUT DEVINFO *pdi,
- IN HDEV hdev,
- IN LPWSTR pwszDeviceName,
- IN HANDLE hDriver);
-
-HSURF
-DDKAPI
-DrvEnableSurface(
- IN DHPDEV dhpdev);
-
-/* DrvEndDoc.fl constants */
-#define ED_ABORTDOC 0x00000001
-
-BOOL
-DDKAPI
-DrvEndDoc(
- IN SURFOBJ *pso,
- IN FLONG fl);
-
-ULONG
-DDKAPI
-DrvEscape(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-BOOL
-DDKAPI
-DrvFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-ULONG
-DDKAPI
-DrvFontManagement(
- IN SURFOBJ *pso,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-VOID
-DDKAPI
-DrvFree(
- IN PVOID pv,
- IN ULONG_PTR id);
-
-/* DrvGetGlyphMode return values */
-#define FO_HGLYPHS 0L
-#define FO_GLYPHBITS 1L
-#define FO_PATHOBJ 2L
-
-ULONG
-DDKAPI
-DrvGetGlyphMode(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo);
-
-ULONG
-DDKAPI
-DrvGetModes(
- IN HANDLE hDriver,
- IN ULONG cjSize,
- OUT DEVMODEW *pdm);
-
-PVOID
-DDKAPI
-DrvGetTrueTypeFile(
- IN ULONG_PTR iFile,
- IN ULONG *pcj);
-
-BOOL
-DDKAPI
-DrvGradientFill(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-BOOL
-DDKAPI
-DrvIcmCheckBitmapBits(
- IN DHPDEV dhpdev,
- IN HANDLE hColorTransform,
- IN SURFOBJ *pso,
- OUT PBYTE paResults);
-
-HANDLE
-DDKAPI
-DrvIcmCreateColorTransform(
- IN DHPDEV dhpdev,
- IN LPLOGCOLORSPACEW pLogColorSpace,
- IN PVOID pvSourceProfile,
- IN ULONG cjSourceProfile,
- IN PVOID pvDestProfile,
- IN ULONG cjDestProfile,
- IN PVOID pvTargetProfile,
- IN ULONG cjTargetProfile,
- IN DWORD dwReserved);
-
-BOOL
-DDKAPI
-DrvIcmDeleteColorTransform(
- IN DHPDEV dhpdev,
- IN HANDLE hcmXform);
-
-/* DrvIcmSetDeviceGammaRamp.iFormat constants */
-#define IGRF_RGB_256BYTES 0x00000000
-#define IGRF_RGB_256WORDS 0x00000001
-
-BOOL
-DDKAPI
-DrvIcmSetDeviceGammaRamp(
- IN DHPDEV dhpdev,
- IN ULONG iFormat,
- IN LPVOID lpRamp);
-
-BOOL
-DDKAPI
-DrvLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-ULONG_PTR
-DDKAPI
-DrvLoadFontFile(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-VOID
-DDKAPI
-DrvMovePointer(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvNextBand(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-VOID
-DDKAPI
-DrvNotify(
- IN SURFOBJ *pso,
- IN ULONG iType,
- IN PVOID pvData);
-
-BOOL
-DDKAPI
-DrvOffset(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN FLONG flReserved);
-
-BOOL
-DDKAPI
-DrvPaint(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvPlgBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-/* DrvQueryAdvanceWidths.iMode constants */
-#define QAW_GETWIDTHS 0
-#define QAW_GETEASYWIDTHS 1
-
-BOOL
-DDKAPI
-DrvQueryAdvanceWidths(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH *phg,
- OUT PVOID pvWidths,
- IN ULONG cGlyphs);
-
-/* DrvQueryDeviceSupport.iType constants */
-#define QDS_CHECKJPEGFORMAT 0x00000000
-#define QDS_CHECKPNGFORMAT 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDeviceSupport(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-/* DrvQueryDriverInfo.dwMode constants */
-#define DRVQUERY_USERMODE 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDriverInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-PIFIMETRICS
-DDKAPI
-DrvQueryFont(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG_PTR *pid);
-
-/* DrvQueryFontCaps.pulCaps constants */
-#define QC_OUTLINES 0x00000001
-#define QC_1BIT 0x00000002
-#define QC_4BIT 0x00000004
-
-#define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT)
-
-LONG
-DDKAPI
-DrvQueryFontCaps(
- IN ULONG culCaps,
- OUT ULONG *pulCaps);
-
-/* DrvQueryFontData.iMode constants */
-#define QFD_GLYPHANDBITMAP 1L
-#define QFD_GLYPHANDOUTLINE 2L
-#define QFD_MAXEXTENTS 3L
-#define QFD_TT_GLYPHANDBITMAP 4L
-#define QFD_TT_GRAY1_BITMAP 5L
-#define QFD_TT_GRAY2_BITMAP 6L
-#define QFD_TT_GRAY4_BITMAP 8L
-#define QFD_TT_GRAY8_BITMAP 9L
-
-#define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP
-
-LONG
-DDKAPI
-DrvQueryFontData(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH hg,
- IN OUT GLYPHDATA *pgd,
- IN OUT PVOID pv,
- IN ULONG cjSize);
-
-/* DrvQueryFontFile.ulMode constants */
-#define QFF_DESCRIPTION 0x00000001
-#define QFF_NUMFACES 0x00000002
-
-LONG
-DDKAPI
-DrvQueryFontFile(
- IN ULONG_PTR iFile,
- IN ULONG ulMode,
- IN ULONG cjBuf,
- IN ULONG *pulBuf);
-
-/* DrvQueryFontTree.iMode constants */
-#define QFT_UNICODE 0L
-#define QFT_LIGATURES 1L
-#define QFT_KERNPAIRS 2L
-#define QFT_GLYPHSET 3L
-
-PVOID
-DDKAPI
-DrvQueryFontTree(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG iMode,
- IN ULONG_PTR *pid);
-
-PFD_GLYPHATTR
-DDKAPI
-DrvQueryGlyphAttrs(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-ULONG
-DDKAPI
-DrvQueryPerBandInfo(
- IN SURFOBJ *pso,
- IN OUT PERBANDINFO *pbi);
-
-/* DrvQueryTrueTypeOutline.bMetricsOnly constants */
-#define TTO_METRICS_ONLY 0x00000001
-#define TTO_QUBICS 0x00000002
-#define TTO_UNHINTED 0x00000004
-
-LONG
-DDKAPI
-DrvQueryTrueTypeOutline(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN HGLYPH hglyph,
- IN BOOL bMetricsOnly,
- IN GLYPHDATA *pgldt,
- IN ULONG cjBuf,
- OUT TTPOLYGONHEADER *ppoly);
-
-LONG
-DDKAPI
-DrvQueryTrueTypeTable(
- IN ULONG_PTR iFile,
- IN ULONG ulFont,
- IN ULONG ulTag,
- IN PTRDIFF dpStart,
- IN ULONG cjBuf,
- OUT BYTE *pjBuf,
- OUT PBYTE *ppjTable,
- OUT ULONG *pcjTable);
-
-/* DrvRealizeBrush.iHatch constants */
-#define RB_DITHERCOLOR 0x80000000L
-
-#define HS_DDI_MAX 6
-
-BOOL
-DDKAPI
-DrvRealizeBrush(
- IN BRUSHOBJ *pbo,
- IN SURFOBJ *psoTarget,
- IN SURFOBJ *psoPattern,
- IN SURFOBJ *psoMask,
- IN XLATEOBJ *pxlo,
- IN ULONG iHatch);
-
-/* DrvResetDevice return values */
-#define DRD_SUCCESS 0
-#define DRD_ERROR 1
-
-ULONG
-DDKAPI
-DrvResetDevice(
- IN DHPDEV dhpdev,
- IN PVOID Reserved);
-
-BOOL
-DDKAPI
-DrvResetPDEV(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-/* DrvSaveScreenBits.iMode constants */
-#define SS_SAVE 0x00000000
-#define SS_RESTORE 0x00000001
-#define SS_FREE 0x00000002
-
-ULONG_PTR
-DDKAPI
-DrvSaveScreenBits(
- IN SURFOBJ *pso,
- IN ULONG iMode,
- IN ULONG_PTR ident,
- IN RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvSendPage(
- IN SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvSetPalette(
- IN DHPDEV dhpdev,
- IN PALOBJ *ppalo,
- IN FLONG fl,
- IN ULONG iStart,
- IN ULONG cColors);
-
-BOOL
-DDKAPI
-DrvSetPixelFormat(
- IN SURFOBJ *pso,
- IN LONG iPixelFormat,
- IN HWND hwnd);
-
-/* DrvSetPointerShape return values */
-#define SPS_ERROR 0x00000000
-#define SPS_DECLINE 0x00000001
-#define SPS_ACCEPT_NOEXCLUDE 0x00000002
-#define SPS_ACCEPT_EXCLUDE 0x00000003
-#define SPS_ACCEPT_SYNCHRONOUS 0x00000004
-
-/* DrvSetPointerShape.fl constants */
-#define SPS_CHANGE 0x00000001L
-#define SPS_ASYNCCHANGE 0x00000002L
-#define SPS_ANIMATESTART 0x00000004L
-#define SPS_ANIMATEUPDATE 0x00000008L
-#define SPS_ALPHA 0x00000010L
-#define SPS_LENGTHMASK 0x00000F00L
-#define SPS_FREQMASK 0x000FF000L
-
-ULONG
-DDKAPI
-DrvSetPointerShape(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-BOOL
-DDKAPI
-DrvStartBanding(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-BOOL
-DDKAPI
-DrvStartDoc(
- IN SURFOBJ *pso,
- IN LPWSTR pwszDocName,
- IN DWORD dwJobId);
-
-BOOL
-DDKAPI
-DrvStartPage(
- IN SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvStretchBlt(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-BOOL
-DDKAPI
-DrvStretchBltROP(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-BOOL
-DDKAPI
-DrvStrokeAndFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-BOOL
-DDKAPI
-DrvStrokePath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvSwapBuffers(
- IN SURFOBJ *pso,
- IN WNDOBJ *pwo);
-
-VOID
-DDKAPI
-DrvSynchronize(
- IN DHPDEV dhpdev,
- IN RECTL *prcl);
-
-/* DrvSynchronizeSurface.fl constants */
-#define DSS_TIMER_EVENT 0x00000001
-#define DSS_FLUSH_EVENT 0x00000002
-
-VOID
-DDKAPI
-DrvSynchronizeSurface(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN FLONG fl);
-
-BOOL
-DDKAPI
-DrvTextOut(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL *pptlOrg,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvTransparentBlt(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-BOOL
-DDKAPI
-DrvUnloadFontFile(
- IN ULONG_PTR iFile);
-
-/* WNDOBJCHANGEPROC.fl constants */
-#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
-#define WOC_DRAWN 0x00000040
-#define WOC_SPRITE_OVERLAP 0x00000080
-#define WOC_SPRITE_NO_OVERLAP 0x00000100
-
-typedef VOID DDKAPI
-(CALLBACK * WNDOBJCHANGEPROC)(
- WNDOBJ *pwo,
- FLONG fl);
-
-
-typedef BOOL DDKAPI
-(*PFN_DrvAlphaBlend)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvAssertMode)(
- IN DHPDEV dhpdev,
- IN BOOL bEnable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvBitBlt)(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-typedef VOID DDKAPI
-(*PFN_DrvCompletePDEV)(
- IN DHPDEV dhpdev,
- IN HDEV hdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvCopyBits)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvCreateDeviceBitmap)(
- IN DHPDEV dhpdev,
- IN SIZEL sizl,
- IN ULONG iFormat);
-
-typedef VOID DDKAPI
-(*PFN_DrvDeleteDeviceBitmap)(
- IN DHSURF dhsurf);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvDeriveSurface)(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-typedef LONG DDKAPI
-(*PFN_DrvDescribePixelFormat)(
- IN DHPDEV dhpdev,
- IN LONG iPixelFormat,
- IN ULONG cjpfd,
- OUT PIXELFORMATDESCRIPTOR *ppfd);
-
-typedef VOID DDKAPI
-(*PFN_DrvDestroyFont)(
- IN FONTOBJ *pfo);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableDriver)(
- VOID);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisablePDEV)(
- IN DHPDEV dhpdev);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableSurface)(
- IN DHPDEV dhpdev);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDitherColor)(
- IN DHPDEV dhpdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDrawEscape)(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN CLIPOBJ *pco,
- IN RECTL *prcl,
- IN ULONG cjIn,
- IN PVOID pvIn);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEnableDriver)(
- IN ULONG iEngineVersion,
- IN ULONG cj,
- OUT DRVENABLEDATA *pded);
-#if 0
-typedef DHPDEV DDKAPI
-(*PFN_DrvEnablePDEV)(
- IN DEVMODEW *pdm,
- IN LPWSTR pwszLogAddress,
- IN ULONG cPat,
- OUT HSURF *phsurfPatterns,
- IN ULONG cjCaps,
- OUT ULONG *pdevcaps,
- IN ULONG cjDevInfo,
- OUT DEVINFO *pdi,
- IN HDEV hdev,
- IN LPWSTR pwszDeviceName,
- IN HANDLE hDriver);
-#endif
-typedef HSURF DDKAPI
-(*PFN_DrvEnableSurface)(
- IN DHPDEV dhpdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEndDoc)(
- IN SURFOBJ *pso,
- IN FLONG fl);
-
-typedef ULONG DDKAPI
-(*PFN_DrvEscape)(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvFillPath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-typedef ULONG DDKAPI
-(*PFN_DrvFontManagement)(
- IN SURFOBJ *pso,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-typedef VOID DDKAPI
-(*PFN_DrvFree)(
- IN PVOID pv,
- IN ULONG_PTR id);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetGlyphMode)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetModes)(
- IN HANDLE hDriver,
- IN ULONG cjSize,
- OUT DEVMODEW *pdm);
-
-typedef PVOID DDKAPI
-(*PFN_DrvGetTrueTypeFile)(
- IN ULONG_PTR iFile,
- IN ULONG *pcj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvGradientFill)(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmCheckBitmapBits)(
- IN DHPDEV dhpdev,
- IN HANDLE hColorTransform,
- IN SURFOBJ *pso,
- OUT PBYTE paResults);
-
-typedef HANDLE DDKAPI
-(*PFN_DrvIcmCreateColorTransform)(
- IN DHPDEV dhpdev,
- IN LPLOGCOLORSPACEW pLogColorSpace,
- IN PVOID pvSourceProfile,
- IN ULONG cjSourceProfile,
- IN PVOID pvDestProfile,
- IN ULONG cjDestProfile,
- IN PVOID pvTargetProfile,
- IN ULONG cjTargetProfile,
- IN DWORD dwReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmDeleteColorTransform)(
- IN DHPDEV dhpdev,
- IN HANDLE hcmXform);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmSetDeviceGammaRamp)(
- IN DHPDEV dhpdev,
- IN ULONG iFormat,
- IN LPVOID lpRamp);
-
-typedef BOOL DDKAPI
-(*PFN_DrvLineTo)(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvLoadFontFile)(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-typedef VOID DDKAPI
-(*PFN_DrvMovePointer)(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvNextBand)(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-typedef VOID DDKAPI
-(*PFN_DrvNotify)(
- IN SURFOBJ *pso,
- IN ULONG iType,
- IN PVOID pvData);
-
-typedef BOOL DDKAPI
-(*PFN_DrvOffset)(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN FLONG flReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPaint)(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPlgBlt)(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryAdvanceWidths)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH *phg,
- OUT PVOID pvWidths,
- IN ULONG cGlyphs);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDeviceSupport)(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDriverInfo)(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-typedef PIFIMETRICS DDKAPI
-(*PFN_DrvQueryFont)(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG_PTR *pid);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontCaps)(
- IN ULONG culCaps,
- OUT ULONG *pulCaps);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontData)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH hg,
- IN OUT GLYPHDATA *pgd,
- IN OUT PVOID pv,
- IN ULONG cjSize);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontFile)(
- IN ULONG_PTR iFile,
- IN ULONG ulMode,
- IN ULONG cjBuf,
- IN ULONG *pulBuf);
-
-typedef PVOID DDKAPI
-(*PFN_DrvQueryFontTree)(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG iMode,
- IN ULONG_PTR *pid);
-
-typedef PFD_GLYPHATTR DDKAPI
-(*PFN_DrvQueryGlyphAttrs)(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-typedef ULONG DDKAPI
-(*PFN_DrvQueryPerBandInfo)(
- IN SURFOBJ *pso,
- IN OUT PERBANDINFO *pbi);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeOutline)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN HGLYPH hglyph,
- IN BOOL bMetricsOnly,
- IN GLYPHDATA *pgldt,
- IN ULONG cjBuf,
- OUT TTPOLYGONHEADER *ppoly);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeTable)(
- IN ULONG_PTR iFile,
- IN ULONG ulFont,
- IN ULONG ulTag,
- IN PTRDIFF dpStart,
- IN ULONG cjBuf,
- OUT BYTE *pjBuf,
- OUT PBYTE *ppjTable,
- OUT ULONG *pcjTable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvRealizeBrush)(
- IN BRUSHOBJ *pbo,
- IN SURFOBJ *psoTarget,
- IN SURFOBJ *psoPattern,
- IN SURFOBJ *psoMask,
- IN XLATEOBJ *pxlo,
- IN ULONG iHatch);
-
-typedef ULONG DDKAPI
-(*PFN_DrvResetDevice)(
- IN DHPDEV dhpdev,
- IN PVOID Reserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvResetPDEV)(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvSaveScreenBits)(
- IN SURFOBJ *pso,
- IN ULONG iMode,
- IN ULONG_PTR ident,
- IN RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSendPage)(
- IN SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPalette)(
- IN DHPDEV dhpdev,
- IN PALOBJ *ppalo,
- IN FLONG fl,
- IN ULONG iStart,
- IN ULONG cColors);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPixelFormat)(
- IN SURFOBJ *pso,
- IN LONG iPixelFormat,
- IN HWND hwnd);
-
-typedef ULONG DDKAPI
-(*PFN_DrvSetPointerShape)(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartBanding)(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartDoc)(
- IN SURFOBJ *pso,
- IN LPWSTR pwszDocName,
- IN DWORD dwJobId);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartPage)(
- IN SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBlt)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBltROP)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokeAndFillPath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokePath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSwapBuffers)(
- IN SURFOBJ *pso,
- IN WNDOBJ *pwo);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronize)(
- IN DHPDEV dhpdev,
- IN RECTL *prcl);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronizeSurface)(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTextOut)(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL *pptlOrg,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTransparentBlt)(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvUnloadFontFile)(
- IN ULONG_PTR iFile);
-
-
-WIN32KAPI
-VOID
-DDKAPI
-DrvDisableDirectDraw(
- IN DHPDEV dhpdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvEnableDirectDraw(
- IN DHPDEV dhpdev,
- OUT DD_CALLBACKS *pCallBacks,
- OUT DD_SURFACECALLBACKS *pSurfaceCallBacks,
- OUT DD_PALETTECALLBACKS *pPaletteCallBacks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvGetDirectDrawInfo(
- IN DHPDEV dhpdev,
- OUT DD_HALINFO *pHalInfo,
- OUT DWORD *pdwNumHeaps,
- OUT VIDEOMEMORY *pvmList,
- OUT DWORD *pdwNumFourCCCodes,
- OUT DWORD *pdwFourCC);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __VIDEO_H */
-
-#endif /* __WINDDI_H */