diff options
Diffstat (limited to 'winsup/w32api/include/ddk/winddi.h')
-rw-r--r-- | winsup/w32api/include/ddk/winddi.h | 4156 |
1 files changed, 0 insertions, 4156 deletions
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h deleted file mode 100644 index 3aa8f346d..000000000 --- a/winsup/w32api/include/ddk/winddi.h +++ /dev/null @@ -1,4156 +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> - -#ifndef __DD_INCLUDED__ -/* FIXME: Some DirectDraw structures not added yet */ -typedef ULONG_PTR FLATPTR; -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 _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 - -#ifndef __DDRAWI_INCLUDED__ -typedef PVOID LPVIDMEM; -#endif - -#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__) -typedef struct _DDSCAPS { -} DDSCAPS, *PDDSCAPS; -typedef struct _DDSCAPSEX { -} DDSCAPSEX, *PDDSCAPSEX; -typedef PVOID LPVMEMHEAP; -#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 { - DWORD nSize; - HDC hdc; - PBYTE pvEMF; - PBYTE pvCurrentRecord; -} EMFINFO, *PEMFINFO; - -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 *glypptfx; -} 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 PGLYPHPOS *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); - -#ifdef __cplusplus -} -#endif - -#endif /* defined __VIDEO_H */ - -#endif /* __WINDDI_H */ |