diff options
Diffstat (limited to 'winsup/w32api/include/ddk/winddi.h')
-rw-r--r-- | winsup/w32api/include/ddk/winddi.h | 4258 |
1 files changed, 0 insertions, 4258 deletions
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h deleted file mode 100644 index fefb15def..000000000 --- a/winsup/w32api/include/ddk/winddi.h +++ /dev/null @@ -1,4258 +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 */ |