| /* | |
| * 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_ | |
| #define _WINDDI_ | |
| #ifdef __VIDEO_H__ | |
| #error video.h cannot be included with winddi.h | |
| #else | |
| #include <ddrawint.h> | |
| #include <d3dnthal.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifndef DECLSPEC_IMPORT | |
| #ifndef __WIDL__ | |
| #define DECLSPEC_IMPORT __declspec(dllimport) | |
| #else | |
| #define DECLSPEC_IMPORT | |
| #endif | |
| #endif | |
| #ifndef WIN32KAPI | |
| #define WIN32KAPI DECLSPEC_ADDRSAFE | |
| #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 (APIENTRY *PFN)(); | |
| DECLARE_HANDLE(HBM); | |
| DECLARE_HANDLE(HDEV); | |
| DECLARE_HANDLE(HSURF); | |
| DECLARE_HANDLE(DHSURF); | |
| DECLARE_HANDLE(DHPDEV); | |
| DECLARE_HANDLE(HDRVOBJ); | |
| #ifndef _NTDDVDEO_ | |
| typedef struct _ENG_EVENT *PEVENT; | |
| #endif | |
| #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 | |
| #define LTOFX(x) ((x) << 4) | |
| #define FXTOL(x) ((x) >> 4) | |
| #define FXTOLFLOOR(x) ((x) >> 4) | |
| #define FXTOLCEILING(x) ((x + 0x0F) >> 4) | |
| #define FXTOLROUND(x) ((((x) >> 3) + 1) >> 1) | |
| 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 __MSABI_LONG(1) | |
| #define BMF_4BPP __MSABI_LONG(2) | |
| #define BMF_8BPP __MSABI_LONG(3) | |
| #define BMF_16BPP __MSABI_LONG(4) | |
| #define BMF_24BPP __MSABI_LONG(5) | |
| #define BMF_32BPP __MSABI_LONG(6) | |
| #define BMF_4RLE __MSABI_LONG(7) | |
| #define BMF_8RLE __MSABI_LONG(8) | |
| #define BMF_JPEG __MSABI_LONG(9) | |
| #define BMF_PNG __MSABI_LONG(10) | |
| /* 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; | |
| struct _DRIVEROBJ; | |
| typedef WINBOOL | |
| (APIENTRY CALLBACK *FREEOBJPROC)( | |
| struct _DRIVEROBJ *pDriverObj); | |
| typedef struct _DRIVEROBJ { | |
| PVOID pvObj; | |
| FREEOBJPROC pFreeProc; | |
| HDEV hdev; | |
| DHPDEV dhpdev; | |
| } DRIVEROBJ; | |
| /* DRVFN.iFunc constants */ | |
| #define INDEX_DrvEnablePDEV __MSABI_LONG(0) | |
| #define INDEX_DrvCompletePDEV __MSABI_LONG(1) | |
| #define INDEX_DrvDisablePDEV __MSABI_LONG(2) | |
| #define INDEX_DrvEnableSurface __MSABI_LONG(3) | |
| #define INDEX_DrvDisableSurface __MSABI_LONG(4) | |
| #define INDEX_DrvAssertMode __MSABI_LONG(5) | |
| #define INDEX_DrvOffset __MSABI_LONG(6) | |
| #define INDEX_DrvResetPDEV __MSABI_LONG(7) | |
| #define INDEX_DrvDisableDriver __MSABI_LONG(8) | |
| #define INDEX_DrvUnknown1 __MSABI_LONG(9) | |
| #define INDEX_DrvCreateDeviceBitmap __MSABI_LONG(10) | |
| #define INDEX_DrvDeleteDeviceBitmap __MSABI_LONG(11) | |
| #define INDEX_DrvRealizeBrush __MSABI_LONG(12) | |
| #define INDEX_DrvDitherColor __MSABI_LONG(13) | |
| #define INDEX_DrvStrokePath __MSABI_LONG(14) | |
| #define INDEX_DrvFillPath __MSABI_LONG(15) | |
| #define INDEX_DrvStrokeAndFillPath __MSABI_LONG(16) | |
| #define INDEX_DrvPaint __MSABI_LONG(17) | |
| #define INDEX_DrvBitBlt __MSABI_LONG(18) | |
| #define INDEX_DrvCopyBits __MSABI_LONG(19) | |
| #define INDEX_DrvStretchBlt __MSABI_LONG(20) | |
| #define INDEX_DrvUnknown2 __MSABI_LONG(21) | |
| #define INDEX_DrvSetPalette __MSABI_LONG(22) | |
| #define INDEX_DrvTextOut __MSABI_LONG(23) | |
| #define INDEX_DrvEscape __MSABI_LONG(24) | |
| #define INDEX_DrvDrawEscape __MSABI_LONG(25) | |
| #define INDEX_DrvQueryFont __MSABI_LONG(26) | |
| #define INDEX_DrvQueryFontTree __MSABI_LONG(27) | |
| #define INDEX_DrvQueryFontData __MSABI_LONG(28) | |
| #define INDEX_DrvSetPointerShape __MSABI_LONG(29) | |
| #define INDEX_DrvMovePointer __MSABI_LONG(30) | |
| #define INDEX_DrvLineTo __MSABI_LONG(31) | |
| #define INDEX_DrvSendPage __MSABI_LONG(32) | |
| #define INDEX_DrvStartPage __MSABI_LONG(33) | |
| #define INDEX_DrvEndDoc __MSABI_LONG(34) | |
| #define INDEX_DrvStartDoc __MSABI_LONG(35) | |
| #define INDEX_DrvUnknown3 __MSABI_LONG(36) | |
| #define INDEX_DrvGetGlyphMode __MSABI_LONG(37) | |
| #define INDEX_DrvSynchronize __MSABI_LONG(38) | |
| #define INDEX_DrvUnknown4 __MSABI_LONG(39) | |
| #define INDEX_DrvSaveScreenBits __MSABI_LONG(40) | |
| #define INDEX_DrvGetModes __MSABI_LONG(41) | |
| #define INDEX_DrvFree __MSABI_LONG(42) | |
| #define INDEX_DrvDestroyFont __MSABI_LONG(43) | |
| #define INDEX_DrvQueryFontCaps __MSABI_LONG(44) | |
| #define INDEX_DrvLoadFontFile __MSABI_LONG(45) | |
| #define INDEX_DrvUnloadFontFile __MSABI_LONG(46) | |
| #define INDEX_DrvFontManagement __MSABI_LONG(47) | |
| #define INDEX_DrvQueryTrueTypeTable __MSABI_LONG(48) | |
| #define INDEX_DrvQueryTrueTypeOutline __MSABI_LONG(49) | |
| #define INDEX_DrvGetTrueTypeFile __MSABI_LONG(50) | |
| #define INDEX_DrvQueryFontFile __MSABI_LONG(51) | |
| #define INDEX_DrvMovePanning __MSABI_LONG(52) | |
| #define INDEX_DrvQueryAdvanceWidths __MSABI_LONG(53) | |
| #define INDEX_DrvSetPixelFormat __MSABI_LONG(54) | |
| #define INDEX_DrvDescribePixelFormat __MSABI_LONG(55) | |
| #define INDEX_DrvSwapBuffers __MSABI_LONG(56) | |
| #define INDEX_DrvStartBanding __MSABI_LONG(57) | |
| #define INDEX_DrvNextBand __MSABI_LONG(58) | |
| #define INDEX_DrvGetDirectDrawInfo __MSABI_LONG(59) | |
| #define INDEX_DrvEnableDirectDraw __MSABI_LONG(60) | |
| #define INDEX_DrvDisableDirectDraw __MSABI_LONG(61) | |
| #define INDEX_DrvQuerySpoolType __MSABI_LONG(62) | |
| #define INDEX_DrvUnknown5 __MSABI_LONG(63) | |
| #define INDEX_DrvIcmCreateColorTransform __MSABI_LONG(64) | |
| #define INDEX_DrvIcmDeleteColorTransform __MSABI_LONG(65) | |
| #define INDEX_DrvIcmCheckBitmapBits __MSABI_LONG(66) | |
| #define INDEX_DrvIcmSetDeviceGammaRamp __MSABI_LONG(67) | |
| #define INDEX_DrvGradientFill __MSABI_LONG(68) | |
| #define INDEX_DrvStretchBltROP __MSABI_LONG(69) | |
| #define INDEX_DrvPlgBlt __MSABI_LONG(70) | |
| #define INDEX_DrvAlphaBlend __MSABI_LONG(71) | |
| #define INDEX_DrvSynthesizeFont __MSABI_LONG(72) | |
| #define INDEX_DrvGetSynthesizedFontFiles __MSABI_LONG(73) | |
| #define INDEX_DrvTransparentBlt __MSABI_LONG(74) | |
| #define INDEX_DrvQueryPerBandInfo __MSABI_LONG(75) | |
| #define INDEX_DrvQueryDeviceSupport __MSABI_LONG(76) | |
| #define INDEX_DrvReserved1 __MSABI_LONG(77) | |
| #define INDEX_DrvReserved2 __MSABI_LONG(78) | |
| #define INDEX_DrvReserved3 __MSABI_LONG(79) | |
| #define INDEX_DrvReserved4 __MSABI_LONG(80) | |
| #define INDEX_DrvReserved5 __MSABI_LONG(81) | |
| #define INDEX_DrvReserved6 __MSABI_LONG(82) | |
| #define INDEX_DrvReserved7 __MSABI_LONG(83) | |
| #define INDEX_DrvReserved8 __MSABI_LONG(84) | |
| #define INDEX_DrvDeriveSurface __MSABI_LONG(85) | |
| #define INDEX_DrvQueryGlyphAttrs __MSABI_LONG(86) | |
| #define INDEX_DrvNotify __MSABI_LONG(87) | |
| #define INDEX_DrvSynchronizeSurface __MSABI_LONG(88) | |
| #define INDEX_DrvResetDevice __MSABI_LONG(89) | |
| #define INDEX_DrvReserved9 __MSABI_LONG(90) | |
| #define INDEX_DrvReserved10 __MSABI_LONG(91) | |
| #define INDEX_DrvReserved11 __MSABI_LONG(92) | |
| #define INDEX_LAST __MSABI_LONG(93) | |
| 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 | |
| #define DDI_DRIVER_VERSION_NT5_01_SP1 0x00030101 | |
| 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; | |
| #if defined(_X86_) && !defined(USERMODE_DRIVER) | |
| typedef struct _FLOATOBJ | |
| { | |
| ULONG ul1; | |
| ULONG ul2; | |
| } FLOATOBJ, *PFLOATOBJ; | |
| #else | |
| typedef FLOAT FLOATOBJ, *PFLOATOBJ; | |
| #endif | |
| 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 __MSABI_LONG(1) | |
| #define FO_OUTLINE_CAPABLE __MSABI_LONG(2) | |
| typedef struct _FONTINFO { | |
| ULONG cjThis; | |
| FLONG flCaps; | |
| ULONG cGlyphsSupported; | |
| ULONG cjMaxGlyph1; | |
| ULONG cjMaxGlyph4; | |
| ULONG cjMaxGlyph8; | |
| ULONG cjMaxGlyph32; | |
| } FONTINFO, *PFONTINFO; | |
| /* FONTOBJ.flFontType constants */ | |
| #define FO_TYPE_RASTER RASTER_FONTTYPE | |
| #define FO_TYPE_DEVICE DEVICE_FONTTYPE | |
| #define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE | |
| #define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE | |
| #define FO_SIM_BOLD 0x00002000 | |
| #define FO_SIM_ITALIC 0x00004000 | |
| #define FO_EM_HEIGHT 0x00008000 | |
| #define FO_GRAY16 0x00010000 | |
| #define FO_NOGRAY16 0x00020000 | |
| #define FO_NOHINTS 0x00040000 | |
| #define FO_NO_CHOICE 0x00080000 | |
| #define FO_CFF 0x00100000 | |
| #define FO_POSTSCRIPT 0x00200000 | |
| #define FO_MULTIPLEMASTER 0x00400000 | |
| #define FO_VERT_FACE 0x00800000 | |
| #define FO_DBCS_FONT 0X01000000 | |
| #define FO_NOCLEARTYPE 0x02000000 | |
| #define FO_CLEARTYPE_X 0x10000000 | |
| #define FO_CLEARTYPE_Y 0x20000000 | |
| typedef struct _FONTOBJ { | |
| ULONG iUniq; | |
| ULONG iFace; | |
| ULONG cxMax; | |
| FLONG flFontType; | |
| ULONG_PTR iTTUniq; | |
| ULONG_PTR iFile; | |
| SIZE sizLogResPpi; | |
| ULONG ulStyleSize; | |
| PVOID pvConsumer; | |
| PVOID pvProducer; | |
| } FONTOBJ; | |
| typedef struct _GAMMARAMP { | |
| WORD Red[256]; | |
| WORD Green[256]; | |
| WORD Blue[256]; | |
| } GAMMARAMP, *PGAMMARAMP; | |
| /* GDIINFO.ulPrimaryOrder constants */ | |
| #define PRIMARY_ORDER_ABC 0 | |
| #define PRIMARY_ORDER_ACB 1 | |
| #define PRIMARY_ORDER_BAC 2 | |
| #define PRIMARY_ORDER_BCA 3 | |
| #define PRIMARY_ORDER_CBA 4 | |
| #define PRIMARY_ORDER_CAB 5 | |
| /* GDIINFO.ulHTPatternSize constants */ | |
| #define HT_PATSIZE_2x2 0 | |
| #define HT_PATSIZE_2x2_M 1 | |
| #define HT_PATSIZE_4x4 2 | |
| #define HT_PATSIZE_4x4_M 3 | |
| #define HT_PATSIZE_6x6 4 | |
| #define HT_PATSIZE_6x6_M 5 | |
| #define HT_PATSIZE_8x8 6 | |
| #define HT_PATSIZE_8x8_M 7 | |
| #define HT_PATSIZE_10x10 8 | |
| #define HT_PATSIZE_10x10_M 9 | |
| #define HT_PATSIZE_12x12 10 | |
| #define HT_PATSIZE_12x12_M 11 | |
| #define HT_PATSIZE_14x14 12 | |
| #define HT_PATSIZE_14x14_M 13 | |
| #define HT_PATSIZE_16x16 14 | |
| #define HT_PATSIZE_16x16_M 15 | |
| #define HT_PATSIZE_SUPERCELL 16 | |
| #define HT_PATSIZE_SUPERCELL_M 17 | |
| #define HT_PATSIZE_USER 18 | |
| #define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER | |
| #define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M | |
| #define HT_USERPAT_CX_MIN 4 | |
| #define HT_USERPAT_CX_MAX 256 | |
| #define HT_USERPAT_CY_MIN 4 | |
| #define HT_USERPAT_CY_MAX 256 | |
| /* GDIINFO.ulHTOutputFormat constants */ | |
| #define HT_FORMAT_1BPP 0 | |
| #define HT_FORMAT_4BPP 2 | |
| #define HT_FORMAT_4BPP_IRGB 3 | |
| #define HT_FORMAT_8BPP 4 | |
| #define HT_FORMAT_16BPP 5 | |
| #define HT_FORMAT_24BPP 6 | |
| #define HT_FORMAT_32BPP 7 | |
| /* GDIINFO.flHTFlags */ | |
| #define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001 | |
| #define HT_FLAG_HAS_BLACK_DYE 0x00000002 | |
| #define HT_FLAG_ADDITIVE_PRIMS 0x00000004 | |
| #define HT_FLAG_USE_8BPP_BITMASK 0x00000008 | |
| #define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010 | |
| #define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060 | |
| #define HT_FLAG_DO_DEVCLR_XFORM 0x00000080 | |
| #define HT_FLAG_OUTPUT_CMY 0x00000100 | |
| #define HT_FLAG_PRINT_DRAFT_MODE 0x00000200 | |
| #define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400 | |
| #define HT_FLAG_8BPP_CMY332_MASK 0xFF000000 | |
| #define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \ | |
| |(BYTE)(((BYTE)(m) & 0x07) << 2) \ | |
| |(BYTE)((BYTE)(y) & 0x03)) | |
| #define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\ | |
| |(DWORD)(((DWORD)(m) & 0x07) << 26)\ | |
| |(DWORD)(((DWORD)(y) & 0x03) << 24)) | |
| /* GDIINFO.flHTFlags constants */ | |
| #define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000 | |
| #define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020 | |
| #define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040 | |
| #define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060 | |
| #define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ | |
| |HT_FLAG_INK_ABSORPTION_IDX3) | |
| #define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ | |
| |HT_FLAG_INK_ABSORPTION_IDX2) | |
| #define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ | |
| |HT_FLAG_INK_ABSORPTION_IDX1) | |
| #define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0 | |
| #define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1 | |
| #define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2 | |
| #define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3 | |
| #define HT_BITMASKPALRGB (DWORD)'0BGR' | |
| #define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB) | |
| #define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0) | |
| /* GDIINFO.ulPhysicalPixelCharacteristics constants */ | |
| #define PPC_DEFAULT 0x0 | |
| #define PPC_UNDEFINED 0x1 | |
| #define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2 | |
| #define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3 | |
| #define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4 | |
| #define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5 | |
| #define PPG_DEFAULT 0 | |
| #define PPG_SRGB 1 | |
| typedef struct _GDIINFO { | |
| ULONG ulVersion; | |
| ULONG ulTechnology; | |
| ULONG ulHorzSize; | |
| ULONG ulVertSize; | |
| ULONG ulHorzRes; | |
| ULONG ulVertRes; | |
| ULONG cBitsPixel; | |
| ULONG cPlanes; | |
| ULONG ulNumColors; | |
| ULONG flRaster; | |
| ULONG ulLogPixelsX; | |
| ULONG ulLogPixelsY; | |
| ULONG flTextCaps; | |
| ULONG ulDACRed; | |
| ULONG ulDACGreen; | |
| ULONG ulDACBlue; | |
| ULONG ulAspectX; | |
| ULONG ulAspectY; | |
| ULONG ulAspectXY; | |
| LONG xStyleStep; | |
| LONG yStyleStep; | |
| LONG denStyleStep; | |
| POINTL ptlPhysOffset; | |
| SIZEL szlPhysSize; | |
| ULONG ulNumPalReg; | |
| COLORINFO ciDevice; | |
| ULONG ulDevicePelsDPI; | |
| ULONG ulPrimaryOrder; | |
| ULONG ulHTPatternSize; | |
| ULONG ulHTOutputFormat; | |
| ULONG flHTFlags; | |
| ULONG ulVRefresh; | |
| ULONG ulBltAlignment; | |
| ULONG ulPanningHorzRes; | |
| ULONG ulPanningVertRes; | |
| ULONG xPanningAlignment; | |
| ULONG yPanningAlignment; | |
| ULONG cxHTPat; | |
| ULONG cyHTPat; | |
| LPBYTE pHTPatA; | |
| LPBYTE pHTPatB; | |
| LPBYTE pHTPatC; | |
| ULONG flShadeBlend; | |
| ULONG ulPhysicalPixelCharacteristics; | |
| ULONG ulPhysicalPixelGamma; | |
| } GDIINFO, *PGDIINFO; | |
| /* PATHDATA.flags constants */ | |
| #define PD_BEGINSUBPATH 0x00000001 | |
| #define PD_ENDSUBPATH 0x00000002 | |
| #define PD_RESETSTYLE 0x00000004 | |
| #define PD_CLOSEFIGURE 0x00000008 | |
| #define PD_BEZIERS 0x00000010 | |
| #define PD_ALL (PD_BEGINSUBPATH \ | |
| |PD_ENDSUBPATH \ | |
| |PD_RESETSTYLE \ | |
| |PD_CLOSEFIGURE \ | |
| PD_BEZIERS) | |
| typedef struct _PATHDATA { | |
| FLONG flags; | |
| ULONG count; | |
| POINTFIX *pptfx; | |
| } PATHDATA, *PPATHDATA; | |
| /* PATHOBJ.fl constants */ | |
| #define PO_BEZIERS 0x00000001 | |
| #define PO_ELLIPSE 0x00000002 | |
| #define PO_ALL_INTEGERS 0x00000004 | |
| #define PO_ENUM_AS_INTEGERS 0x00000008 | |
| typedef struct _PATHOBJ { | |
| FLONG fl; | |
| ULONG cCurves; | |
| } PATHOBJ; | |
| typedef struct _GLYPHBITS { | |
| POINTL ptlOrigin; | |
| SIZEL sizlBitmap; | |
| BYTE aj[1]; | |
| } GLYPHBITS; | |
| typedef union _GLYPHDEF { | |
| GLYPHBITS *pgb; | |
| PATHOBJ *ppo; | |
| } GLYPHDEF; | |
| typedef struct _GLYPHPOS { | |
| HGLYPH hg; | |
| GLYPHDEF *pgdf; | |
| POINTL ptl; | |
| } GLYPHPOS, *PGLYPHPOS; | |
| typedef struct _GLYPHDATA { | |
| GLYPHDEF gdf; | |
| HGLYPH hg; | |
| FIX fxD; | |
| FIX fxA; | |
| FIX fxAB; | |
| FIX fxInkTop; | |
| FIX fxInkBottom; | |
| RECTL rclInk; | |
| POINTQF ptqD; | |
| } GLYPHDATA; | |
| typedef struct _IFIEXTRA { | |
| ULONG ulIdentifier; | |
| PTRDIFF dpFontSig; | |
| ULONG cig; | |
| PTRDIFF dpDesignVector; | |
| PTRDIFF dpAxesInfoW; | |
| ULONG aulReserved[1]; | |
| } IFIEXTRA, *PIFIEXTRA; | |
| /* IFIMETRICS constants */ | |
| #define FM_VERSION_NUMBER 0x0 | |
| /* IFIMETRICS.fsType constants */ | |
| #define FM_TYPE_LICENSED 0x2 | |
| #define FM_READONLY_EMBED 0x4 | |
| #define FM_EDITABLE_EMBED 0x8 | |
| #define FM_NO_EMBEDDING FM_TYPE_LICENSED | |
| /* IFIMETRICS.flInfo constants */ | |
| #define FM_INFO_TECH_TRUETYPE 0x00000001 | |
| #define FM_INFO_TECH_BITMAP 0x00000002 | |
| #define FM_INFO_TECH_STROKE 0x00000004 | |
| #define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008 | |
| #define FM_INFO_ARB_XFORMS 0x00000010 | |
| #define FM_INFO_1BPP 0x00000020 | |
| #define FM_INFO_4BPP 0x00000040 | |
| #define FM_INFO_8BPP 0x00000080 | |
| #define FM_INFO_16BPP 0x00000100 | |
| #define FM_INFO_24BPP 0x00000200 | |
| #define FM_INFO_32BPP 0x00000400 | |
| #define FM_INFO_INTEGER_WIDTH 0x00000800 | |
| #define FM_INFO_CONSTANT_WIDTH 0x00001000 | |
| #define FM_INFO_NOT_CONTIGUOUS 0x00002000 | |
| #define FM_INFO_TECH_MM 0x00004000 | |
| #define FM_INFO_RETURNS_OUTLINES 0x00008000 | |
| #define FM_INFO_RETURNS_STROKES 0x00010000 | |
| #define FM_INFO_RETURNS_BITMAPS 0x00020000 | |
| #define FM_INFO_DSIG 0x00040000 | |
| #define FM_INFO_RIGHT_HANDED 0x00080000 | |
| #define FM_INFO_INTEGRAL_SCALING 0x00100000 | |
| #define FM_INFO_90DEGREE_ROTATIONS 0x00200000 | |
| #define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000 | |
| #define FM_INFO_DO_NOT_ENUMERATE 0x00800000 | |
| #define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000 | |
| #define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000 | |
| #define FM_INFO_TECH_CFF 0x04000000 | |
| #define FM_INFO_FAMILY_EQUIV 0x08000000 | |
| #define FM_INFO_DBCS_FIXED_PITCH 0x10000000 | |
| #define FM_INFO_NONNEGATIVE_AC 0x20000000 | |
| #define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000 | |
| #define FM_INFO_TECH_TYPE1 0x80000000 | |
| #define MAXCHARSETS 16 | |
| /* IFIMETRICS.ulPanoseCulture constants */ | |
| #define FM_PANOSE_CULTURE_LATIN 0x0 | |
| typedef struct _IFIMETRICS { | |
| ULONG cjThis; | |
| ULONG cjIfiExtra; | |
| PTRDIFF dpwszFamilyName; | |
| PTRDIFF dpwszStyleName; | |
| PTRDIFF dpwszFaceName; | |
| PTRDIFF dpwszUniqueName; | |
| PTRDIFF dpFontSim; | |
| LONG lEmbedId; | |
| LONG lItalicAngle; | |
| LONG lCharBias; | |
| PTRDIFF dpCharSets; | |
| BYTE jWinCharSet; | |
| BYTE jWinPitchAndFamily; | |
| USHORT usWinWeight; | |
| ULONG flInfo; | |
| USHORT fsSelection; | |
| USHORT fsType; | |
| FWORD fwdUnitsPerEm; | |
| FWORD fwdLowestPPEm; | |
| FWORD fwdWinAscender; | |
| FWORD fwdWinDescender; | |
| FWORD fwdMacAscender; | |
| FWORD fwdMacDescender; | |
| FWORD fwdMacLineGap; | |
| FWORD fwdTypoAscender; | |
| FWORD fwdTypoDescender; | |
| FWORD fwdTypoLineGap; | |
| FWORD fwdAveCharWidth; | |
| FWORD fwdMaxCharInc; | |
| FWORD fwdCapHeight; | |
| FWORD fwdXHeight; | |
| FWORD fwdSubscriptXSize; | |
| FWORD fwdSubscriptYSize; | |
| FWORD fwdSubscriptXOffset; | |
| FWORD fwdSubscriptYOffset; | |
| FWORD fwdSuperscriptXSize; | |
| FWORD fwdSuperscriptYSize; | |
| FWORD fwdSuperscriptXOffset; | |
| FWORD fwdSuperscriptYOffset; | |
| FWORD fwdUnderscoreSize; | |
| FWORD fwdUnderscorePosition; | |
| FWORD fwdStrikeoutSize; | |
| FWORD fwdStrikeoutPosition; | |
| BYTE chFirstChar; | |
| BYTE chLastChar; | |
| BYTE chDefaultChar; | |
| BYTE chBreakChar; | |
| WCHAR wcFirstChar; | |
| WCHAR wcLastChar; | |
| WCHAR wcDefaultChar; | |
| WCHAR wcBreakChar; | |
| POINTL ptlBaseline; | |
| POINTL ptlAspect; | |
| POINTL ptlCaret; | |
| RECTL rclFontBox; | |
| BYTE achVendId[4]; | |
| ULONG cKerningPairs; | |
| ULONG ulPanoseCulture; | |
| PANOSE panose; | |
| #if defined(_WIN64) | |
| PVOID Align; | |
| #endif | |
| } IFIMETRICS, *PIFIMETRICS; | |
| /* LINEATTRS.fl */ | |
| #define LA_GEOMETRIC 0x00000001 | |
| #define LA_ALTERNATE 0x00000002 | |
| #define LA_STARTGAP 0x00000004 | |
| #define LA_STYLED 0x00000008 | |
| /* LINEATTRS.iJoin */ | |
| #define JOIN_ROUND __MSABI_LONG(0) | |
| #define JOIN_BEVEL __MSABI_LONG(1) | |
| #define JOIN_MITER __MSABI_LONG(2) | |
| /* LINEATTRS.iEndCap */ | |
| #define ENDCAP_ROUND __MSABI_LONG(0) | |
| #define ENDCAP_SQUARE __MSABI_LONG(1) | |
| #define ENDCAP_BUTT __MSABI_LONG(2) | |
| 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 { | |
| WINBOOL 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; | |
| /* SURFOBJ.iType constants */ | |
| #define STYPE_BITMAP __MSABI_LONG(0) | |
| #define STYPE_DEVICE __MSABI_LONG(1) | |
| #define STYPE_DEVBITMAP __MSABI_LONG(3) | |
| /* 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; | |
| /* 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 (APIENTRY CALLBACK *WNDOBJCHANGEPROC)( | |
| WNDOBJ *pwo, | |
| FLONG fl); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| BRUSHOBJ_hGetColorTransform( | |
| BRUSHOBJ *pbo); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| BRUSHOBJ_pvAllocRbrush( | |
| BRUSHOBJ *pbo, | |
| ULONG cj); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| BRUSHOBJ_pvGetRbrush( | |
| BRUSHOBJ *pbo); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| BRUSHOBJ_ulGetBrushColor( | |
| BRUSHOBJ *pbo); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| CLIPOBJ_bEnum( | |
| CLIPOBJ *pco, | |
| ULONG cj, | |
| ULONG *pv); | |
| /* CLIPOBJ_cEnumStart.iType constants */ | |
| #define CT_RECTANGLES __MSABI_LONG(0) | |
| /* 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 | |
| APIENTRY | |
| CLIPOBJ_cEnumStart( | |
| CLIPOBJ *pco, | |
| WINBOOL bAll, | |
| ULONG iType, | |
| ULONG iDirection, | |
| ULONG cLimit); | |
| WIN32KAPI | |
| PATHOBJ* | |
| APIENTRY | |
| CLIPOBJ_ppoGetPath( | |
| CLIPOBJ *pco); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngAcquireSemaphore( | |
| HSEMAPHORE hsem); | |
| #define FL_ZERO_MEMORY 0x00000001 | |
| #define FL_NONPAGED_MEMORY 0x00000002 | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngAllocMem( | |
| ULONG Flags, | |
| ULONG MemSize, | |
| ULONG Tag); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngAllocPrivateUserMem( | |
| PDD_SURFACE_LOCAL psl, | |
| SIZE_T cj, | |
| ULONG tag); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngAllocUserMem( | |
| SIZE_T cj, | |
| ULONG tag); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngAlphaBlend( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| 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 | |
| WINBOOL | |
| APIENTRY | |
| EngAssociateSurface( | |
| HSURF hsurf, | |
| HDEV hdev, | |
| FLONG flHooks); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngBitBlt( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclTrg, | |
| POINTL *pptlSrc, | |
| POINTL *pptlMask, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrush, | |
| ROP4 rop4); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngCheckAbort( | |
| SURFOBJ *pso); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngClearEvent( | |
| PEVENT pEvent); | |
| WIN32KAPI | |
| FD_GLYPHSET* | |
| APIENTRY | |
| EngComputeGlyphSet( | |
| INT nCodePage, | |
| INT nFirstChar, | |
| INT cChars); | |
| /* EngControlSprites.fl constants */ | |
| #define ECS_TEARDOWN 0x00000001 | |
| #define ECS_REDRAW 0x00000002 | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngControlSprites( | |
| WNDOBJ *pwo, | |
| FLONG fl); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngCopyBits( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| POINTL *pptlSrc); | |
| WIN32KAPI | |
| HBITMAP | |
| APIENTRY | |
| EngCreateBitmap( | |
| SIZEL sizl, | |
| LONG lWidth, | |
| ULONG iFormat, | |
| FLONG fl, | |
| PVOID pvBits); | |
| WIN32KAPI | |
| CLIPOBJ* | |
| APIENTRY | |
| EngCreateClip( | |
| VOID); | |
| WIN32KAPI | |
| HBITMAP | |
| APIENTRY | |
| EngCreateDeviceBitmap( | |
| DHSURF dhsurf, | |
| SIZEL sizl, | |
| ULONG iFormatCompat); | |
| WIN32KAPI | |
| HSURF | |
| APIENTRY | |
| EngCreateDeviceSurface( | |
| DHSURF dhsurf, | |
| SIZEL sizl, | |
| ULONG iFormatCompat); | |
| #if 0 | |
| WIN32KAPI | |
| HDRVOBJ | |
| APIENTRY | |
| EngCreateDriverObj( | |
| PVOID pvObj, | |
| FREEOBJPROC pFreeObjProc, | |
| HDEV hdev); | |
| #endif | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngCreateEvent( | |
| 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 | |
| APIENTRY | |
| EngCreatePalette( | |
| ULONG iMode, | |
| ULONG cColors, | |
| ULONG *pulColors, | |
| FLONG flRed, | |
| FLONG flGreen, | |
| FLONG flBlue); | |
| WIN32KAPI | |
| PATHOBJ* | |
| APIENTRY | |
| EngCreatePath( | |
| VOID); | |
| WIN32KAPI | |
| HSEMAPHORE | |
| APIENTRY | |
| 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* | |
| APIENTRY | |
| EngCreateWnd( | |
| SURFOBJ *pso, | |
| HWND hwnd, | |
| WNDOBJCHANGEPROC pfn, | |
| FLONG fl, | |
| int iPixelFormat); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDebugBreak( | |
| VOID); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDebugPrint( | |
| PCHAR StandardPrefix, | |
| PCHAR DebugMessage, | |
| va_list ap); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDeleteClip( | |
| CLIPOBJ *pco); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngDeleteDriverObj( | |
| HDRVOBJ hdo, | |
| WINBOOL bCallBack, | |
| WINBOOL bLocked); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngDeleteEvent( | |
| PEVENT pEvent); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngDeleteFile( | |
| LPWSTR pwszFileName); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngDeletePalette( | |
| HPALETTE hpal); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDeletePath( | |
| PATHOBJ *ppo); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDeleteSafeSemaphore( | |
| ENGSAFESEMAPHORE *pssem); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDeleteSemaphore( | |
| HSEMAPHORE hsem); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngDeleteSurface( | |
| HSURF hsurf); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngDeleteWnd( | |
| WNDOBJ *pwo); | |
| WIN32KAPI | |
| DWORD | |
| APIENTRY | |
| EngDeviceIoControl( | |
| HANDLE hDevice, | |
| DWORD dwIoControlCode, | |
| LPVOID lpInBuffer, | |
| DWORD nInBufferSize, | |
| LPVOID lpOutBuffer, | |
| DWORD nOutBufferSize, | |
| LPDWORD lpBytesReturned); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngDitherColor( | |
| HDEV hdev, | |
| ULONG iMode, | |
| ULONG rgb, | |
| ULONG *pul); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngEnumForms( | |
| HANDLE hPrinter, | |
| DWORD Level, | |
| LPBYTE pForm, | |
| DWORD cbBuf, | |
| LPDWORD pcbNeeded, | |
| LPDWORD pcReturned); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngEraseSurface( | |
| SURFOBJ *pso, | |
| RECTL *prcl, | |
| ULONG iColor); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngFillPath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix, | |
| FLONG flOptions); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngFindImageProcAddress( | |
| HANDLE hModule, | |
| LPSTR lpProcName); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngFindResource( | |
| HANDLE h, | |
| int iName, | |
| int iType, | |
| PULONG pulSize); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngFntCacheAlloc( | |
| ULONG FastCheckSum, | |
| ULONG ulSize); | |
| /* EngFntCacheFault.iFaultMode constants */ | |
| #define ENG_FNT_CACHE_READ_FAULT 0x00000001 | |
| #define ENG_FNT_CACHE_WRITE_FAULT 0x00000002 | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngFntCacheFault( | |
| ULONG ulFastCheckSum, | |
| ULONG iFaultMode); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngFntCacheLookUp( | |
| ULONG FastCheckSum, | |
| ULONG *pulSize); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngFreeMem( | |
| PVOID Mem); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngFreeModule( | |
| HANDLE h); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngFreePrivateUserMem( | |
| PDD_SURFACE_LOCAL psl, | |
| PVOID pv); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngFreeUserMem( | |
| PVOID pv); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngGetCurrentCodePage( | |
| PUSHORT OemCodePage, | |
| PUSHORT AnsiCodePage); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngGetCurrentProcessId( | |
| VOID); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngGetCurrentThreadId( | |
| VOID); | |
| WIN32KAPI | |
| LPWSTR | |
| APIENTRY | |
| EngGetDriverName( | |
| HDEV hdev); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetFileChangeTime( | |
| HANDLE h, | |
| LARGE_INTEGER *pChangeTime); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetFilePath( | |
| HANDLE h, | |
| WCHAR (*pDest)[MAX_PATH+1]); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetForm( | |
| HANDLE hPrinter, | |
| LPWSTR pFormName, | |
| DWORD Level, | |
| LPBYTE pForm, | |
| DWORD cbBuf, | |
| LPDWORD pcbNeeded); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngGetLastError( | |
| VOID); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetPrinter( | |
| HANDLE hPrinter, | |
| DWORD dwLevel, | |
| LPBYTE pPrinter, | |
| DWORD cbBuf, | |
| LPDWORD pcbNeeded); | |
| WIN32KAPI | |
| DWORD | |
| APIENTRY | |
| EngGetPrinterData( | |
| HANDLE hPrinter, | |
| LPWSTR pValueName, | |
| LPDWORD pType, | |
| LPBYTE pData, | |
| DWORD nSize, | |
| LPDWORD pcbNeeded); | |
| WIN32KAPI | |
| LPWSTR | |
| APIENTRY | |
| EngGetPrinterDataFileName( | |
| HDEV hdev); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetPrinterDriver( | |
| HANDLE hPrinter, | |
| LPWSTR pEnvironment, | |
| DWORD dwLevel, | |
| BYTE *lpbDrvInfo, | |
| DWORD cbBuf, | |
| DWORD *pcbNeeded); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngGetProcessHandle( | |
| VOID); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGetType1FontList( | |
| HDEV hdev, | |
| TYPE1_FONT *pType1Buffer, | |
| ULONG cjType1Buffer, | |
| PULONG pulLocalFonts, | |
| PULONG pulRemoteFonts, | |
| LARGE_INTEGER *pLastModified); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngGradientFill( | |
| SURFOBJ *psoDest, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| TRIVERTEX *pVertex, | |
| ULONG nVertex, | |
| PVOID pMesh, | |
| ULONG nMesh, | |
| RECTL *prclExtents, | |
| POINTL *pptlDitherOrg, | |
| ULONG ulMode); | |
| /* EngHangNotification return values */ | |
| #define EHN_RESTORED 0x00000000 | |
| #define EHN_ERROR 0x00000001 | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngHangNotification( | |
| HDEV hDev, | |
| PVOID Reserved); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngInitializeSafeSemaphore( | |
| ENGSAFESEMAPHORE *pssem); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngIsSemaphoreOwned( | |
| HSEMAPHORE hsem); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngIsSemaphoreOwnedByCurrentThread( | |
| HSEMAPHORE hsem); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngLineTo( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| LONG x1, | |
| LONG y1, | |
| LONG x2, | |
| LONG y2, | |
| RECTL *prclBounds, | |
| MIX mix); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngLoadImage( | |
| LPWSTR pwszDriver); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngLoadModule( | |
| LPWSTR pwsz); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngLoadModuleForWrite( | |
| LPWSTR pwsz, | |
| ULONG cjSizeOfModule); | |
| WIN32KAPI | |
| PDD_SURFACE_LOCAL | |
| APIENTRY | |
| EngLockDirectDrawSurface( | |
| HANDLE hSurface); | |
| WIN32KAPI | |
| DRIVEROBJ* | |
| APIENTRY | |
| EngLockDriverObj( | |
| HDRVOBJ hdo); | |
| WIN32KAPI | |
| SURFOBJ* | |
| APIENTRY | |
| EngLockSurface( | |
| HSURF hsurf); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngLpkInstalled( | |
| VOID); | |
| WIN32KAPI | |
| PEVENT | |
| APIENTRY | |
| EngMapEvent( | |
| HDEV hDev, | |
| HANDLE hUserObject, | |
| PVOID Reserved1, | |
| PVOID Reserved2, | |
| PVOID Reserved3); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngMapFile( | |
| LPWSTR pwsz, | |
| ULONG cjSize, | |
| ULONG_PTR *piFile); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngMapFontFile( | |
| ULONG_PTR iFile, | |
| PULONG *ppjBuf, | |
| ULONG *pcjBuf); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngMapFontFileFD( | |
| ULONG_PTR iFile, | |
| PULONG *ppjBuf, | |
| ULONG *pcjBuf); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| EngMapModule( | |
| HANDLE h, | |
| PULONG pSize); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngMarkBandingSurface( | |
| HSURF hsurf); | |
| /* EngModifySurface.flSurface constants */ | |
| #define MS_NOTSYSTEMMEMORY 0x00000001 | |
| #define MS_SHAREDACCESS 0x00000002 | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngModifySurface( | |
| HSURF hsurf, | |
| HDEV hdev, | |
| FLONG flHooks, | |
| FLONG flSurface, | |
| DHSURF dhsurf, | |
| VOID *pvScan0, | |
| LONG lDelta, | |
| VOID *pvReserved); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngMovePointer( | |
| SURFOBJ *pso, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl); | |
| WIN32KAPI | |
| int | |
| APIENTRY | |
| EngMulDiv( | |
| int a, | |
| int b, | |
| int c); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngMultiByteToUnicodeN( | |
| LPWSTR UnicodeString, | |
| ULONG MaxBytesInUnicodeString, | |
| PULONG BytesInUnicodeString, | |
| PCHAR MultiByteString, | |
| ULONG BytesInMultiByteString); | |
| WIN32KAPI | |
| INT | |
| APIENTRY | |
| EngMultiByteToWideChar( | |
| UINT CodePage, | |
| LPWSTR WideCharString, | |
| INT BytesInWideCharString, | |
| LPSTR MultiByteString, | |
| INT BytesInMultiByteString); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngPaint( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngPlgBlt( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMsk, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlBrushOrg, | |
| POINTFIX *pptfx, | |
| RECTL *prcl, | |
| POINTL *pptl, | |
| ULONG iMode); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngProbeForRead( | |
| PVOID Address, | |
| ULONG Length, | |
| ULONG Alignment); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngProbeForReadAndWrite( | |
| PVOID Address, | |
| ULONG Length, | |
| ULONG Alignment); | |
| typedef enum _ENG_DEVICE_ATTRIBUTE { | |
| QDA_RESERVED = 0, | |
| QDA_ACCELERATION_LEVEL | |
| } ENG_DEVICE_ATTRIBUTE; | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngQueryDeviceAttribute( | |
| HDEV hdev, | |
| ENG_DEVICE_ATTRIBUTE devAttr, | |
| VOID *pvIn, | |
| ULONG ulInSize, | |
| VOID *pvOut, | |
| ULONG ulOutSize); | |
| WIN32KAPI | |
| LARGE_INTEGER | |
| APIENTRY | |
| EngQueryFileTimeStamp( | |
| LPWSTR pwsz); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngQueryLocalTime( | |
| PENG_TIME_FIELDS ptf); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngQueryPalette( | |
| HPALETTE hPal, | |
| ULONG *piMode, | |
| ULONG cColors, | |
| ULONG *pulColors); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngQueryPerformanceCounter( | |
| LONGLONG *pPerformanceCount); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngQueryPerformanceFrequency( | |
| 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 | |
| WINBOOL | |
| APIENTRY | |
| EngQuerySystemAttribute( | |
| ENG_SYSTEM_ATTRIBUTE CapNum, | |
| PDWORD pCapability); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| EngReadStateEvent( | |
| PEVENT pEvent); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngReleaseSemaphore( | |
| HSEMAPHORE hsem); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngRestoreFloatingPointState( | |
| VOID *pBuffer); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngSaveFloatingPointState( | |
| VOID *pBuffer, | |
| ULONG cjBufferSize); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| EngSecureMem( | |
| PVOID Address, | |
| ULONG Length); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| EngSetEvent( | |
| PEVENT pEvent); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngSetLastError( | |
| ULONG iError); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| EngSetPointerShape( | |
| SURFOBJ *pso, | |
| SURFOBJ *psoMask, | |
| SURFOBJ *psoColor, | |
| XLATEOBJ *pxlo, | |
| LONG xHot, | |
| LONG yHot, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl, | |
| FLONG fl); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngSetPointerTag( | |
| HDEV hdev, | |
| SURFOBJ *psoMask, | |
| SURFOBJ *psoColor, | |
| XLATEOBJ *pxlo, | |
| FLONG fl); | |
| WIN32KAPI | |
| DWORD | |
| APIENTRY | |
| EngSetPrinterData( | |
| HANDLE hPrinter, | |
| LPWSTR pType, | |
| DWORD dwType, | |
| LPBYTE lpbPrinterData, | |
| DWORD cjPrinterData); | |
| typedef int (CDECL *SORTCOMP)(const void *pv1, const void *pv2); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngSort( | |
| PBYTE pjBuf, | |
| ULONG c, | |
| ULONG cjElem, | |
| SORTCOMP pfnComp); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngStretchBlt( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngStretchBltROP( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode, | |
| BRUSHOBJ *pbo, | |
| DWORD rop4); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngStrokeAndFillPath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pboStroke, | |
| LINEATTRS *plineattrs, | |
| BRUSHOBJ *pboFill, | |
| POINTL *pptlBrushOrg, | |
| MIX mixFill, | |
| FLONG flOptions); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngStrokePath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| LINEATTRS *plineattrs, | |
| MIX mix); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngTextOut( | |
| SURFOBJ *pso, | |
| STROBJ *pstro, | |
| FONTOBJ *pfo, | |
| CLIPOBJ *pco, | |
| RECTL *prclExtra, | |
| RECTL *prclOpaque, | |
| BRUSHOBJ *pboFore, | |
| BRUSHOBJ *pboOpaque, | |
| POINTL *pptlOrg, | |
| MIX mix); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngTransparentBlt( | |
| SURFOBJ *psoDst, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDst, | |
| RECTL *prclSrc, | |
| ULONG iTransColor, | |
| ULONG ulReserved); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnicodeToMultiByteN( | |
| PCHAR MultiByteString, | |
| ULONG MaxBytesInMultiByteString, | |
| PULONG BytesInMultiByteString, | |
| PWSTR UnicodeString, | |
| ULONG BytesInUnicodeString); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnloadImage( | |
| HANDLE hModule); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngUnlockDirectDrawSurface( | |
| PDD_SURFACE_LOCAL pSurface); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngUnlockDriverObj( | |
| HDRVOBJ hdo); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnlockSurface( | |
| SURFOBJ *pso); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngUnmapEvent( | |
| PEVENT pEvent); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngUnmapFile( | |
| ULONG_PTR iFile); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnmapFontFile( | |
| ULONG_PTR iFile); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnmapFontFileFD( | |
| ULONG_PTR iFile); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| EngUnsecureMem( | |
| HANDLE hSecure); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngWaitForSingleObject( | |
| PEVENT pEvent, | |
| PLARGE_INTEGER pTimeOut); | |
| WIN32KAPI | |
| INT | |
| APIENTRY | |
| EngWideCharToMultiByte( | |
| UINT CodePage, | |
| LPWSTR WideCharString, | |
| INT BytesInWideCharString, | |
| LPSTR MultiByteString, | |
| INT BytesInMultiByteString); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| EngWritePrinter( | |
| HANDLE hPrinter, | |
| LPVOID pBuf, | |
| DWORD cbBuf, | |
| LPDWORD pcWritten); | |
| #if defined(_X86_) && !defined(USERMODE_DRIVER) | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_Add( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_AddFloat( | |
| PFLOATOBJ pf, | |
| FLOATL f); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_AddLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_Div( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_DivFloat( | |
| PFLOATOBJ pf, | |
| FLOATL f); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_DivLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_Equal( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_EqualLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| FLOATOBJ_GetFloat( | |
| PFLOATOBJ pf); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| FLOATOBJ_GetLong( | |
| PFLOATOBJ pf); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_GreaterThan( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_GreaterThanLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_LessThan( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| FLOATOBJ_LessThanLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_Mul( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_MulFloat( | |
| PFLOATOBJ pf, | |
| FLOATL f); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_MulLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_Neg( | |
| PFLOATOBJ pf); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_SetFloat( | |
| PFLOATOBJ pf, | |
| FLOATL f); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_SetLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_Sub( | |
| PFLOATOBJ pf, | |
| PFLOATOBJ pf1); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_SubFloat( | |
| PFLOATOBJ pf, | |
| FLOATL f); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FLOATOBJ_SubLong( | |
| PFLOATOBJ pf, | |
| LONG l); | |
| #else | |
| #define FLOATOBJ_SetFloat(pf, f) {*(pf) = (f);} | |
| #define FLOATOBJ_SetLong(pf, l) {*(pf) = (FLOAT)(l);} | |
| #define FLOATOBJ_GetFloat(pf) (*(PULONG)(pf)) | |
| #define FLOATOBJ_GetLong(pf) ((LONG)*(pf)) | |
| #define FLOATOBJ_Add(pf, pf1) {*(pf) += *(pf1);} | |
| #define FLOATOBJ_AddFloat(pf, f) {*(pf) += (f);} | |
| #define FLOATOBJ_AddLong(pf, l) {*(pf) += (l);} | |
| #define FLOATOBJ_Sub(pf, pf1) {*(pf) -= *(pf1);} | |
| #define FLOATOBJ_SubFloat(pf, f) {*(pf) -= (f);} | |
| #define FLOATOBJ_SubLong(pf, l) {*(pf) -= (l);} | |
| #define FLOATOBJ_Mul(pf, pf1) {*(pf) *= *(pf1);} | |
| #define FLOATOBJ_MulFloat(pf, f) {*(pf) *= (f);} | |
| #define FLOATOBJ_MulLong(pf, l) {*(pf) *= (l);} | |
| #define FLOATOBJ_Div(pf, pf1) {*(pf) /= *(pf1);} | |
| #define FLOATOBJ_DivFloat(pf, f) {*(pf) /= (f);} | |
| #define FLOATOBJ_DivLong(pf, l) {*(pf) /= (l);} | |
| #define FLOATOBJ_Neg(pf) {*(pf) = -(*(pf));} | |
| #define FLOATOBJ_Equal(pf, pf1) (*(pf) == *(pf1)) | |
| #define FLOATOBJ_GreaterThan(pf, pf1) (*(pf) > *(pf1)) | |
| #define FLOATOBJ_LessThan(pf, pf1) (*(pf) < *(pf1)) | |
| #define FLOATOBJ_EqualLong(pf, l) (*(pf) == (FLOAT)(l)) | |
| #define FLOATOBJ_GreaterThanLong(pf, l) (*(pf) > (FLOAT)(l)) | |
| #define FLOATOBJ_LessThanLong(pf, l) (*(pf) < (FLOAT)(l)) | |
| #endif | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| FONTOBJ_cGetAllGlyphHandles( | |
| FONTOBJ *pfo, | |
| HGLYPH *phg); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| FONTOBJ_cGetGlyphs( | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| ULONG cGlyph, | |
| HGLYPH *phg, | |
| PVOID *ppvGlyph); | |
| WIN32KAPI | |
| FD_GLYPHSET* | |
| APIENTRY | |
| FONTOBJ_pfdg( | |
| FONTOBJ *pfo); | |
| WIN32KAPI | |
| IFIMETRICS* | |
| APIENTRY | |
| FONTOBJ_pifi( | |
| FONTOBJ *pfo); | |
| WIN32KAPI | |
| PBYTE | |
| APIENTRY | |
| FONTOBJ_pjOpenTypeTablePointer( | |
| FONTOBJ *pfo, | |
| ULONG ulTag, | |
| ULONG *pcjTable); | |
| WIN32KAPI | |
| PFD_GLYPHATTR | |
| APIENTRY | |
| FONTOBJ_pQueryGlyphAttrs( | |
| FONTOBJ *pfo, | |
| ULONG iMode); | |
| WIN32KAPI | |
| PVOID | |
| APIENTRY | |
| FONTOBJ_pvTrueTypeFontFile( | |
| FONTOBJ *pfo, | |
| ULONG *pcjFile); | |
| WIN32KAPI | |
| LPWSTR | |
| APIENTRY | |
| FONTOBJ_pwszFontFilePaths( | |
| FONTOBJ *pfo, | |
| ULONG *pcwc); | |
| WIN32KAPI | |
| XFORMOBJ* | |
| APIENTRY | |
| FONTOBJ_pxoGetXform( | |
| FONTOBJ *pfo); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| FONTOBJ_vGetInfo( | |
| FONTOBJ *pfo, | |
| ULONG cjSize, | |
| FONTINFO *pfi); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| HT_ComputeRGBGammaTable( | |
| USHORT GammaTableEntries, | |
| USHORT GammaTableType, | |
| USHORT RedGamma, | |
| USHORT GreenGamma, | |
| USHORT BlueGamma, | |
| LPBYTE pGammaTable); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| HT_Get8BPPFormatPalette( | |
| LPPALETTEENTRY pPaletteEntry, | |
| USHORT RedGamma, | |
| USHORT GreenGamma, | |
| USHORT BlueGamma); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| HT_Get8BPPMaskPalette( | |
| LPPALETTEENTRY pPaletteEntry, | |
| WINBOOL Use8BPPMaskPal, | |
| BYTE CMYMask, | |
| USHORT RedGamma, | |
| USHORT GreenGamma, | |
| USHORT BlueGamma); | |
| WIN32KAPI | |
| LONG | |
| APIENTRY | |
| HTUI_DeviceColorAdjustment( | |
| LPSTR pDeviceName, | |
| PDEVHTADJDATA pDevHTAdjData); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| PALOBJ_cGetColors( | |
| PALOBJ *ppalo, | |
| ULONG iStart, | |
| ULONG cColors, | |
| ULONG *pulColors); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bCloseFigure( | |
| PATHOBJ *ppo); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bEnum( | |
| PATHOBJ *ppo, | |
| PATHDATA *ppd); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bEnumClipLines( | |
| PATHOBJ *ppo, | |
| ULONG cb, | |
| CLIPLINE *pcl); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bMoveTo( | |
| PATHOBJ *ppo, | |
| POINTFIX ptfx); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bPolyBezierTo( | |
| PATHOBJ *ppo, | |
| POINTFIX *pptfx, | |
| ULONG cptfx); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| PATHOBJ_bPolyLineTo( | |
| PATHOBJ *ppo, | |
| POINTFIX *pptfx, | |
| ULONG cptfx); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| PATHOBJ_vEnumStart( | |
| PATHOBJ *ppo); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| PATHOBJ_vEnumStartClipLines( | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| SURFOBJ *pso, | |
| LINEATTRS *pla); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| PATHOBJ_vGetBounds( | |
| PATHOBJ *ppo, | |
| PRECTFX prectfx); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| STROBJ_bEnum( | |
| STROBJ *pstro, | |
| ULONG *pc, | |
| PGLYPHPOS *ppgpos); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| STROBJ_bEnumPositionsOnly( | |
| STROBJ *pstro, | |
| ULONG *pc, | |
| PGLYPHPOS *ppgpos); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| STROBJ_bGetAdvanceWidths( | |
| STROBJ *pso, | |
| ULONG iFirst, | |
| ULONG c, | |
| POINTQF *pptqD); | |
| WIN32KAPI | |
| DWORD | |
| APIENTRY | |
| STROBJ_dwGetCodePage( | |
| STROBJ *pstro); | |
| WIN32KAPI | |
| FIX | |
| APIENTRY | |
| STROBJ_fxBreakExtra( | |
| STROBJ *pstro); | |
| WIN32KAPI | |
| FIX | |
| APIENTRY | |
| STROBJ_fxCharacterExtra( | |
| STROBJ *pstro); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| STROBJ_vEnumStart( | |
| STROBJ *pstro); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| WNDOBJ_bEnum( | |
| WNDOBJ *pwo, | |
| ULONG cj, | |
| ULONG *pul); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| WNDOBJ_cEnumStart( | |
| WNDOBJ *pwo, | |
| ULONG iType, | |
| ULONG iDirection, | |
| ULONG cLimit); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| WNDOBJ_vSetConsumer( | |
| WNDOBJ *pwo, | |
| PVOID pvConsumer); | |
| /* XFORMOBJ_bApplyXform.iMode constants */ | |
| #define XF_LTOL __MSABI_LONG(0) | |
| #define XF_INV_LTOL __MSABI_LONG(1) | |
| #define XF_LTOFX __MSABI_LONG(2) | |
| #define XF_INV_FXTOL __MSABI_LONG(3) | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| XFORMOBJ_bApplyXform( | |
| XFORMOBJ *pxo, | |
| ULONG iMode, | |
| ULONG cPoints, | |
| PVOID pvIn, | |
| PVOID pvOut); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| XFORMOBJ_iGetFloatObjXform( | |
| XFORMOBJ *pxo, | |
| FLOATOBJ_XFORM *pxfo); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| XFORMOBJ_iGetXform( | |
| XFORMOBJ *pxo, | |
| 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 | |
| APIENTRY | |
| XLATEOBJ_cGetPalette( | |
| XLATEOBJ *pxlo, | |
| ULONG iPal, | |
| ULONG cPal, | |
| ULONG *pPal); | |
| WIN32KAPI | |
| HANDLE | |
| APIENTRY | |
| XLATEOBJ_hGetColorTransform( | |
| XLATEOBJ *pxlo); | |
| WIN32KAPI | |
| ULONG | |
| APIENTRY | |
| XLATEOBJ_iXlate( | |
| XLATEOBJ *pxlo, | |
| ULONG iColor); | |
| WIN32KAPI | |
| ULONG* | |
| APIENTRY | |
| XLATEOBJ_piVector( | |
| XLATEOBJ *pxlo); | |
| /* Graphics Driver Functions */ | |
| WINBOOL | |
| APIENTRY | |
| DrvAlphaBlend( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| BLENDOBJ *pBlendObj); | |
| WINBOOL | |
| APIENTRY | |
| DrvAssertMode( | |
| DHPDEV dhpdev, | |
| WINBOOL bEnable); | |
| WINBOOL | |
| APIENTRY | |
| DrvBitBlt( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclTrg, | |
| POINTL *pptlSrc, | |
| POINTL *pptlMask, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrush, | |
| ROP4 rop4); | |
| VOID | |
| APIENTRY | |
| DrvCompletePDEV( | |
| DHPDEV dhpdev, | |
| HDEV hdev); | |
| WINBOOL | |
| APIENTRY | |
| DrvCopyBits( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| POINTL *pptlSrc); | |
| HBITMAP | |
| APIENTRY | |
| DrvCreateDeviceBitmap( | |
| DHPDEV dhpdev, | |
| SIZEL sizl, | |
| ULONG iFormat); | |
| VOID | |
| APIENTRY | |
| DrvDeleteDeviceBitmap( | |
| DHSURF dhsurf); | |
| HBITMAP | |
| APIENTRY | |
| DrvDeriveSurface( | |
| DD_DIRECTDRAW_GLOBAL *pDirectDraw, | |
| DD_SURFACE_LOCAL *pSurface); | |
| LONG | |
| APIENTRY | |
| DrvDescribePixelFormat( | |
| DHPDEV dhpdev, | |
| LONG iPixelFormat, | |
| ULONG cjpfd, | |
| PIXELFORMATDESCRIPTOR *ppfd); | |
| VOID | |
| APIENTRY | |
| DrvDestroyFont( | |
| FONTOBJ *pfo); | |
| VOID | |
| APIENTRY | |
| DrvDisableDriver( | |
| VOID); | |
| VOID | |
| APIENTRY | |
| DrvDisablePDEV( | |
| DHPDEV dhpdev); | |
| VOID | |
| APIENTRY | |
| DrvDisableSurface( | |
| DHPDEV dhpdev); | |
| #define DM_DEFAULT 0x00000001 | |
| #define DM_MONOCHROME 0x00000002 | |
| ULONG | |
| APIENTRY | |
| DrvDitherColor( | |
| DHPDEV dhpdev, | |
| ULONG iMode, | |
| ULONG rgb, | |
| ULONG *pul); | |
| ULONG | |
| APIENTRY | |
| DrvDrawEscape( | |
| SURFOBJ *pso, | |
| ULONG iEsc, | |
| CLIPOBJ *pco, | |
| RECTL *prcl, | |
| ULONG cjIn, | |
| PVOID pvIn); | |
| WINBOOL | |
| APIENTRY | |
| DrvEnableDriver( | |
| ULONG iEngineVersion, | |
| ULONG cj, | |
| DRVENABLEDATA *pded); | |
| DHPDEV | |
| APIENTRY | |
| DrvEnablePDEV( | |
| DEVMODEW *pdm, | |
| LPWSTR pwszLogAddress, | |
| ULONG cPat, | |
| HSURF *phsurfPatterns, | |
| ULONG cjCaps, | |
| ULONG *pdevcaps, | |
| ULONG cjDevInfo, | |
| DEVINFO *pdi, | |
| HDEV hdev, | |
| LPWSTR pwszDeviceName, | |
| HANDLE hDriver); | |
| HSURF | |
| APIENTRY | |
| DrvEnableSurface( | |
| DHPDEV dhpdev); | |
| /* DrvEndDoc.fl constants */ | |
| #define ED_ABORTDOC 0x00000001 | |
| WINBOOL | |
| APIENTRY | |
| DrvEndDoc( | |
| SURFOBJ *pso, | |
| FLONG fl); | |
| ULONG | |
| APIENTRY | |
| DrvEscape( | |
| SURFOBJ *pso, | |
| ULONG iEsc, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| WINBOOL | |
| APIENTRY | |
| DrvFillPath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix, | |
| FLONG flOptions); | |
| ULONG | |
| APIENTRY | |
| DrvFontManagement( | |
| SURFOBJ *pso, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| VOID | |
| APIENTRY | |
| DrvFree( | |
| PVOID pv, | |
| ULONG_PTR id); | |
| /* DrvGetGlyphMode return values */ | |
| #define FO_HGLYPHS __MSABI_LONG(0) | |
| #define FO_GLYPHBITS __MSABI_LONG(1) | |
| #define FO_PATHOBJ __MSABI_LONG(2) | |
| ULONG | |
| APIENTRY | |
| DrvGetGlyphMode( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo); | |
| ULONG | |
| APIENTRY | |
| DrvGetModes( | |
| HANDLE hDriver, | |
| ULONG cjSize, | |
| DEVMODEW *pdm); | |
| PVOID | |
| APIENTRY | |
| DrvGetTrueTypeFile( | |
| ULONG_PTR iFile, | |
| ULONG *pcj); | |
| WINBOOL | |
| APIENTRY | |
| DrvGradientFill( | |
| SURFOBJ *psoDest, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| TRIVERTEX *pVertex, | |
| ULONG nVertex, | |
| PVOID pMesh, | |
| ULONG nMesh, | |
| RECTL *prclExtents, | |
| POINTL *pptlDitherOrg, | |
| ULONG ulMode); | |
| WINBOOL | |
| APIENTRY | |
| DrvIcmCheckBitmapBits( | |
| DHPDEV dhpdev, | |
| HANDLE hColorTransform, | |
| SURFOBJ *pso, | |
| PBYTE paResults); | |
| HANDLE | |
| APIENTRY | |
| DrvIcmCreateColorTransform( | |
| DHPDEV dhpdev, | |
| LPLOGCOLORSPACEW pLogColorSpace, | |
| PVOID pvSourceProfile, | |
| ULONG cjSourceProfile, | |
| PVOID pvDestProfile, | |
| ULONG cjDestProfile, | |
| PVOID pvTargetProfile, | |
| ULONG cjTargetProfile, | |
| DWORD dwReserved); | |
| WINBOOL | |
| APIENTRY | |
| DrvIcmDeleteColorTransform( | |
| DHPDEV dhpdev, | |
| HANDLE hcmXform); | |
| /* DrvIcmSetDeviceGammaRamp.iFormat constants */ | |
| #define IGRF_RGB_256BYTES 0x00000000 | |
| #define IGRF_RGB_256WORDS 0x00000001 | |
| WINBOOL | |
| APIENTRY | |
| DrvIcmSetDeviceGammaRamp( | |
| DHPDEV dhpdev, | |
| ULONG iFormat, | |
| LPVOID lpRamp); | |
| WINBOOL | |
| APIENTRY | |
| DrvLineTo( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| LONG x1, | |
| LONG y1, | |
| LONG x2, | |
| LONG y2, | |
| RECTL *prclBounds, | |
| MIX mix); | |
| ULONG_PTR | |
| APIENTRY | |
| DrvLoadFontFile( | |
| ULONG cFiles, | |
| ULONG_PTR *piFile, | |
| PVOID *ppvView, | |
| ULONG *pcjView, | |
| DESIGNVECTOR *pdv, | |
| ULONG ulLangID, | |
| ULONG ulFastCheckSum); | |
| VOID | |
| APIENTRY | |
| DrvMovePointer( | |
| SURFOBJ *pso, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl); | |
| WINBOOL | |
| APIENTRY | |
| DrvNextBand( | |
| SURFOBJ *pso, | |
| POINTL *pptl); | |
| VOID | |
| APIENTRY | |
| DrvNotify( | |
| SURFOBJ *pso, | |
| ULONG iType, | |
| PVOID pvData); | |
| WINBOOL | |
| APIENTRY | |
| DrvOffset( | |
| SURFOBJ *pso, | |
| LONG x, | |
| LONG y, | |
| FLONG flReserved); | |
| WINBOOL | |
| APIENTRY | |
| DrvPaint( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix); | |
| WINBOOL | |
| APIENTRY | |
| DrvPlgBlt( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMsk, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlBrushOrg, | |
| POINTFIX *pptfx, | |
| RECTL *prcl, | |
| POINTL *pptl, | |
| ULONG iMode); | |
| /* DrvQueryAdvanceWidths.iMode constants */ | |
| #define QAW_GETWIDTHS 0 | |
| #define QAW_GETEASYWIDTHS 1 | |
| WINBOOL | |
| APIENTRY | |
| DrvQueryAdvanceWidths( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| HGLYPH *phg, | |
| PVOID pvWidths, | |
| ULONG cGlyphs); | |
| /* DrvQueryDeviceSupport.iType constants */ | |
| #define QDS_CHECKJPEGFORMAT 0x00000000 | |
| #define QDS_CHECKPNGFORMAT 0x00000001 | |
| WINBOOL | |
| APIENTRY | |
| DrvQueryDeviceSupport( | |
| SURFOBJ *pso, | |
| XLATEOBJ *pxlo, | |
| XFORMOBJ *pxo, | |
| ULONG iType, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| /* DrvQueryDriverInfo.dwMode constants */ | |
| #define DRVQUERY_USERMODE 0x00000001 | |
| WINBOOL | |
| APIENTRY | |
| DrvQueryDriverInfo( | |
| DWORD dwMode, | |
| PVOID pBuffer, | |
| DWORD cbBuf, | |
| PDWORD pcbNeeded); | |
| PIFIMETRICS | |
| APIENTRY | |
| DrvQueryFont( | |
| DHPDEV dhpdev, | |
| ULONG_PTR iFile, | |
| ULONG iFace, | |
| 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 | |
| APIENTRY | |
| DrvQueryFontCaps( | |
| ULONG culCaps, | |
| ULONG *pulCaps); | |
| /* DrvQueryFontData.iMode constants */ | |
| #define QFD_GLYPHANDBITMAP __MSABI_LONG(1) | |
| #define QFD_GLYPHANDOUTLINE __MSABI_LONG(2) | |
| #define QFD_MAXEXTENTS __MSABI_LONG(3) | |
| #define QFD_TT_GLYPHANDBITMAP __MSABI_LONG(4) | |
| #define QFD_TT_GRAY1_BITMAP __MSABI_LONG(5) | |
| #define QFD_TT_GRAY2_BITMAP __MSABI_LONG(6) | |
| #define QFD_TT_GRAY4_BITMAP __MSABI_LONG(8) | |
| #define QFD_TT_GRAY8_BITMAP __MSABI_LONG(9) | |
| #define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP | |
| LONG | |
| APIENTRY | |
| DrvQueryFontData( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| HGLYPH hg, | |
| GLYPHDATA *pgd, | |
| PVOID pv, | |
| ULONG cjSize); | |
| /* DrvQueryFontFile.ulMode constants */ | |
| #define QFF_DESCRIPTION 0x00000001 | |
| #define QFF_NUMFACES 0x00000002 | |
| LONG | |
| APIENTRY | |
| DrvQueryFontFile( | |
| ULONG_PTR iFile, | |
| ULONG ulMode, | |
| ULONG cjBuf, | |
| ULONG *pulBuf); | |
| /* DrvQueryFontTree.iMode constants */ | |
| #define QFT_UNICODE __MSABI_LONG(0) | |
| #define QFT_LIGATURES __MSABI_LONG(1) | |
| #define QFT_KERNPAIRS __MSABI_LONG(2) | |
| #define QFT_GLYPHSET __MSABI_LONG(3) | |
| PVOID | |
| APIENTRY | |
| DrvQueryFontTree( | |
| DHPDEV dhpdev, | |
| ULONG_PTR iFile, | |
| ULONG iFace, | |
| ULONG iMode, | |
| ULONG_PTR *pid); | |
| PFD_GLYPHATTR | |
| APIENTRY | |
| DrvQueryGlyphAttrs( | |
| FONTOBJ *pfo, | |
| ULONG iMode); | |
| ULONG | |
| APIENTRY | |
| DrvQueryPerBandInfo( | |
| SURFOBJ *pso, | |
| PERBANDINFO *pbi); | |
| /* DrvQueryTrueTypeOutline.bMetricsOnly constants */ | |
| #define TTO_METRICS_ONLY 0x00000001 | |
| #define TTO_QUBICS 0x00000002 | |
| #define TTO_UNHINTED 0x00000004 | |
| LONG | |
| APIENTRY | |
| DrvQueryTrueTypeOutline( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| HGLYPH hglyph, | |
| WINBOOL bMetricsOnly, | |
| GLYPHDATA *pgldt, | |
| ULONG cjBuf, | |
| TTPOLYGONHEADER *ppoly); | |
| LONG | |
| APIENTRY | |
| DrvQueryTrueTypeTable( | |
| ULONG_PTR iFile, | |
| ULONG ulFont, | |
| ULONG ulTag, | |
| PTRDIFF dpStart, | |
| ULONG cjBuf, | |
| BYTE *pjBuf, | |
| PBYTE *ppjTable, | |
| ULONG *pcjTable); | |
| /* DrvRealizeBrush.iHatch constants */ | |
| #define RB_DITHERCOLOR __MSABI_LONG(0x80000000) | |
| #define HS_DDI_MAX 6 | |
| WINBOOL | |
| APIENTRY | |
| DrvRealizeBrush( | |
| BRUSHOBJ *pbo, | |
| SURFOBJ *psoTarget, | |
| SURFOBJ *psoPattern, | |
| SURFOBJ *psoMask, | |
| XLATEOBJ *pxlo, | |
| ULONG iHatch); | |
| /* DrvResetDevice return values */ | |
| #define DRD_SUCCESS 0 | |
| #define DRD_ERROR 1 | |
| ULONG | |
| APIENTRY | |
| DrvResetDevice( | |
| DHPDEV dhpdev, | |
| PVOID Reserved); | |
| WINBOOL | |
| APIENTRY | |
| DrvResetPDEV( | |
| DHPDEV dhpdevOld, | |
| DHPDEV dhpdevNew); | |
| /* DrvSaveScreenBits.iMode constants */ | |
| #define SS_SAVE 0x00000000 | |
| #define SS_RESTORE 0x00000001 | |
| #define SS_FREE 0x00000002 | |
| ULONG_PTR | |
| APIENTRY | |
| DrvSaveScreenBits( | |
| SURFOBJ *pso, | |
| ULONG iMode, | |
| ULONG_PTR ident, | |
| RECTL *prcl); | |
| WINBOOL | |
| APIENTRY | |
| DrvSendPage( | |
| SURFOBJ *pso); | |
| WINBOOL | |
| APIENTRY | |
| DrvSetPalette( | |
| DHPDEV dhpdev, | |
| PALOBJ *ppalo, | |
| FLONG fl, | |
| ULONG iStart, | |
| ULONG cColors); | |
| WINBOOL | |
| APIENTRY | |
| DrvSetPixelFormat( | |
| SURFOBJ *pso, | |
| LONG iPixelFormat, | |
| 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 __MSABI_LONG(0x00000001) | |
| #define SPS_ASYNCCHANGE __MSABI_LONG(0x00000002) | |
| #define SPS_ANIMATESTART __MSABI_LONG(0x00000004) | |
| #define SPS_ANIMATEUPDATE __MSABI_LONG(0x00000008) | |
| #define SPS_ALPHA __MSABI_LONG(0x00000010) | |
| #define SPS_LENGTHMASK __MSABI_LONG(0x00000F00) | |
| #define SPS_FREQMASK __MSABI_LONG(0x000FF000) | |
| ULONG | |
| APIENTRY | |
| DrvSetPointerShape( | |
| SURFOBJ *pso, | |
| SURFOBJ *psoMask, | |
| SURFOBJ *psoColor, | |
| XLATEOBJ *pxlo, | |
| LONG xHot, | |
| LONG yHot, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl, | |
| FLONG fl); | |
| WINBOOL | |
| APIENTRY | |
| DrvStartBanding( | |
| SURFOBJ *pso, | |
| POINTL *pptl); | |
| WINBOOL | |
| APIENTRY | |
| DrvStartDoc( | |
| SURFOBJ *pso, | |
| LPWSTR pwszDocName, | |
| DWORD dwJobId); | |
| WINBOOL | |
| APIENTRY | |
| DrvStartPage( | |
| SURFOBJ *pso); | |
| WINBOOL | |
| APIENTRY | |
| DrvStretchBlt( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode); | |
| WINBOOL | |
| APIENTRY | |
| DrvStretchBltROP( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode, | |
| BRUSHOBJ *pbo, | |
| DWORD rop4); | |
| WINBOOL | |
| APIENTRY | |
| DrvStrokeAndFillPath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pboStroke, | |
| LINEATTRS *plineattrs, | |
| BRUSHOBJ *pboFill, | |
| POINTL *pptlBrushOrg, | |
| MIX mixFill, | |
| FLONG flOptions); | |
| WINBOOL | |
| APIENTRY | |
| DrvStrokePath( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| LINEATTRS *plineattrs, | |
| MIX mix); | |
| WINBOOL | |
| APIENTRY | |
| DrvSwapBuffers( | |
| SURFOBJ *pso, | |
| WNDOBJ *pwo); | |
| VOID | |
| APIENTRY | |
| DrvSynchronize( | |
| DHPDEV dhpdev, | |
| RECTL *prcl); | |
| /* DrvSynchronizeSurface.fl constants */ | |
| #define DSS_TIMER_EVENT 0x00000001 | |
| #define DSS_FLUSH_EVENT 0x00000002 | |
| VOID | |
| APIENTRY | |
| DrvSynchronizeSurface( | |
| SURFOBJ *pso, | |
| RECTL *prcl, | |
| FLONG fl); | |
| WINBOOL | |
| APIENTRY | |
| DrvTextOut( | |
| SURFOBJ *pso, | |
| STROBJ *pstro, | |
| FONTOBJ *pfo, | |
| CLIPOBJ *pco, | |
| RECTL *prclExtra, | |
| RECTL *prclOpaque, | |
| BRUSHOBJ *pboFore, | |
| BRUSHOBJ *pboOpaque, | |
| POINTL *pptlOrg, | |
| MIX mix); | |
| WINBOOL | |
| APIENTRY | |
| DrvTransparentBlt( | |
| SURFOBJ *psoDst, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDst, | |
| RECTL *prclSrc, | |
| ULONG iTransColor, | |
| ULONG ulReserved); | |
| WINBOOL | |
| APIENTRY | |
| DrvUnloadFontFile( | |
| ULONG_PTR iFile); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvAlphaBlend)( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| BLENDOBJ *pBlendObj); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvAssertMode)( | |
| DHPDEV dhpdev, | |
| WINBOOL bEnable); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvBitBlt)( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclTrg, | |
| POINTL *pptlSrc, | |
| POINTL *pptlMask, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrush, | |
| ROP4 rop4); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvCompletePDEV)( | |
| DHPDEV dhpdev, | |
| HDEV hdev); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvCopyBits)( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDest, | |
| POINTL *pptlSrc); | |
| typedef HBITMAP | |
| (APIENTRY *PFN_DrvCreateDeviceBitmap)( | |
| DHPDEV dhpdev, | |
| SIZEL sizl, | |
| ULONG iFormat); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDeleteDeviceBitmap)( | |
| DHSURF dhsurf); | |
| typedef HBITMAP | |
| (APIENTRY *PFN_DrvDeriveSurface)( | |
| DD_DIRECTDRAW_GLOBAL *pDirectDraw, | |
| DD_SURFACE_LOCAL *pSurface); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvDescribePixelFormat)( | |
| DHPDEV dhpdev, | |
| LONG iPixelFormat, | |
| ULONG cjpfd, | |
| PIXELFORMATDESCRIPTOR *ppfd); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDestroyFont)( | |
| FONTOBJ *pfo); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDisableDriver)( | |
| VOID); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDisablePDEV)( | |
| DHPDEV dhpdev); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDisableSurface)( | |
| DHPDEV dhpdev); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvDitherColor)( | |
| DHPDEV dhpdev, | |
| ULONG iMode, | |
| ULONG rgb, | |
| ULONG *pul); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvDrawEscape)( | |
| SURFOBJ *pso, | |
| ULONG iEsc, | |
| CLIPOBJ *pco, | |
| RECTL *prcl, | |
| ULONG cjIn, | |
| PVOID pvIn); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvEnableDriver)( | |
| ULONG iEngineVersion, | |
| ULONG cj, | |
| DRVENABLEDATA *pded); | |
| typedef DHPDEV | |
| (APIENTRY *PFN_DrvEnablePDEV)( | |
| DEVMODEW *pdm, | |
| LPWSTR pwszLogAddress, | |
| ULONG cPat, | |
| HSURF *phsurfPatterns, | |
| ULONG cjCaps, | |
| GDIINFO *pdevcaps, | |
| ULONG cjDevInfo, | |
| DEVINFO *pdi, | |
| HDEV hdev, | |
| LPWSTR pwszDeviceName, | |
| HANDLE hDriver); | |
| typedef HSURF | |
| (APIENTRY *PFN_DrvEnableSurface)( | |
| DHPDEV dhpdev); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvEndDoc)( | |
| SURFOBJ *pso, | |
| FLONG fl); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvEscape)( | |
| SURFOBJ *pso, | |
| ULONG iEsc, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvFillPath)( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix, | |
| FLONG flOptions); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvFontManagement)( | |
| SURFOBJ *pso, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvFree)( | |
| PVOID pv, | |
| ULONG_PTR id); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvGetGlyphMode)( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvGetModes)( | |
| HANDLE hDriver, | |
| ULONG cjSize, | |
| DEVMODEW *pdm); | |
| typedef PVOID | |
| (APIENTRY *PFN_DrvGetTrueTypeFile)( | |
| ULONG_PTR iFile, | |
| ULONG *pcj); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvGradientFill)( | |
| SURFOBJ *psoDest, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| TRIVERTEX *pVertex, | |
| ULONG nVertex, | |
| PVOID pMesh, | |
| ULONG nMesh, | |
| RECTL *prclExtents, | |
| POINTL *pptlDitherOrg, | |
| ULONG ulMode); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvIcmCheckBitmapBits)( | |
| DHPDEV dhpdev, | |
| HANDLE hColorTransform, | |
| SURFOBJ *pso, | |
| PBYTE paResults); | |
| typedef HANDLE | |
| (APIENTRY *PFN_DrvIcmCreateColorTransform)( | |
| DHPDEV dhpdev, | |
| LPLOGCOLORSPACEW pLogColorSpace, | |
| PVOID pvSourceProfile, | |
| ULONG cjSourceProfile, | |
| PVOID pvDestProfile, | |
| ULONG cjDestProfile, | |
| PVOID pvTargetProfile, | |
| ULONG cjTargetProfile, | |
| DWORD dwReserved); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvIcmDeleteColorTransform)( | |
| DHPDEV dhpdev, | |
| HANDLE hcmXform); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvIcmSetDeviceGammaRamp)( | |
| DHPDEV dhpdev, | |
| ULONG iFormat, | |
| LPVOID lpRamp); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvLineTo)( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| LONG x1, | |
| LONG y1, | |
| LONG x2, | |
| LONG y2, | |
| RECTL *prclBounds, | |
| MIX mix); | |
| typedef ULONG_PTR | |
| (APIENTRY *PFN_DrvLoadFontFile)( | |
| ULONG cFiles, | |
| ULONG_PTR *piFile, | |
| PVOID *ppvView, | |
| ULONG *pcjView, | |
| DESIGNVECTOR *pdv, | |
| ULONG ulLangID, | |
| ULONG ulFastCheckSum); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvMovePointer)( | |
| SURFOBJ *pso, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvNextBand)( | |
| SURFOBJ *pso, | |
| POINTL *pptl); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvNotify)( | |
| SURFOBJ *pso, | |
| ULONG iType, | |
| PVOID pvData); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvOffset)( | |
| SURFOBJ *pso, | |
| LONG x, | |
| LONG y, | |
| FLONG flReserved); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvPaint)( | |
| SURFOBJ *pso, | |
| CLIPOBJ *pco, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| MIX mix); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvPlgBlt)( | |
| SURFOBJ *psoTrg, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMsk, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlBrushOrg, | |
| POINTFIX *pptfx, | |
| RECTL *prcl, | |
| POINTL *pptl, | |
| ULONG iMode); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvQueryAdvanceWidths)( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| HGLYPH *phg, | |
| PVOID pvWidths, | |
| ULONG cGlyphs); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvQueryDeviceSupport)( | |
| SURFOBJ *pso, | |
| XLATEOBJ *pxlo, | |
| XFORMOBJ *pxo, | |
| ULONG iType, | |
| ULONG cjIn, | |
| PVOID pvIn, | |
| ULONG cjOut, | |
| PVOID pvOut); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvQueryDriverInfo)( | |
| DWORD dwMode, | |
| PVOID pBuffer, | |
| DWORD cbBuf, | |
| PDWORD pcbNeeded); | |
| typedef PIFIMETRICS | |
| (APIENTRY *PFN_DrvQueryFont)( | |
| DHPDEV dhpdev, | |
| ULONG_PTR iFile, | |
| ULONG iFace, | |
| ULONG_PTR *pid); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvQueryFontCaps)( | |
| ULONG culCaps, | |
| ULONG *pulCaps); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvQueryFontData)( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| ULONG iMode, | |
| HGLYPH hg, | |
| GLYPHDATA *pgd, | |
| PVOID pv, | |
| ULONG cjSize); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvQueryFontFile)( | |
| ULONG_PTR iFile, | |
| ULONG ulMode, | |
| ULONG cjBuf, | |
| ULONG *pulBuf); | |
| typedef PVOID | |
| (APIENTRY *PFN_DrvQueryFontTree)( | |
| DHPDEV dhpdev, | |
| ULONG_PTR iFile, | |
| ULONG iFace, | |
| ULONG iMode, | |
| ULONG_PTR *pid); | |
| typedef PFD_GLYPHATTR | |
| (APIENTRY *PFN_DrvQueryGlyphAttrs)( | |
| FONTOBJ *pfo, | |
| ULONG iMode); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvQueryPerBandInfo)( | |
| SURFOBJ *pso, | |
| PERBANDINFO *pbi); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvQueryTrueTypeOutline)( | |
| DHPDEV dhpdev, | |
| FONTOBJ *pfo, | |
| HGLYPH hglyph, | |
| WINBOOL bMetricsOnly, | |
| GLYPHDATA *pgldt, | |
| ULONG cjBuf, | |
| TTPOLYGONHEADER *ppoly); | |
| typedef LONG | |
| (APIENTRY *PFN_DrvQueryTrueTypeTable)( | |
| ULONG_PTR iFile, | |
| ULONG ulFont, | |
| ULONG ulTag, | |
| PTRDIFF dpStart, | |
| ULONG cjBuf, | |
| BYTE *pjBuf, | |
| PBYTE *ppjTable, | |
| ULONG *pcjTable); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvRealizeBrush)( | |
| BRUSHOBJ *pbo, | |
| SURFOBJ *psoTarget, | |
| SURFOBJ *psoPattern, | |
| SURFOBJ *psoMask, | |
| XLATEOBJ *pxlo, | |
| ULONG iHatch); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvResetDevice)( | |
| DHPDEV dhpdev, | |
| PVOID Reserved); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvResetPDEV)( | |
| DHPDEV dhpdevOld, | |
| DHPDEV dhpdevNew); | |
| typedef ULONG_PTR | |
| (APIENTRY *PFN_DrvSaveScreenBits)( | |
| SURFOBJ *pso, | |
| ULONG iMode, | |
| ULONG_PTR ident, | |
| RECTL *prcl); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvSendPage)( | |
| SURFOBJ *pso); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvSetPalette)( | |
| DHPDEV dhpdev, | |
| PALOBJ *ppalo, | |
| FLONG fl, | |
| ULONG iStart, | |
| ULONG cColors); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvSetPixelFormat)( | |
| SURFOBJ *pso, | |
| LONG iPixelFormat, | |
| HWND hwnd); | |
| typedef ULONG | |
| (APIENTRY *PFN_DrvSetPointerShape)( | |
| SURFOBJ *pso, | |
| SURFOBJ *psoMask, | |
| SURFOBJ *psoColor, | |
| XLATEOBJ *pxlo, | |
| LONG xHot, | |
| LONG yHot, | |
| LONG x, | |
| LONG y, | |
| RECTL *prcl, | |
| FLONG fl); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStartBanding)( | |
| SURFOBJ *pso, | |
| POINTL *pptl); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStartDoc)( | |
| SURFOBJ *pso, | |
| LPWSTR pwszDocName, | |
| DWORD dwJobId); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStartPage)( | |
| SURFOBJ *pso); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStretchBlt)( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStretchBltROP)( | |
| SURFOBJ *psoDest, | |
| SURFOBJ *psoSrc, | |
| SURFOBJ *psoMask, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| COLORADJUSTMENT *pca, | |
| POINTL *pptlHTOrg, | |
| RECTL *prclDest, | |
| RECTL *prclSrc, | |
| POINTL *pptlMask, | |
| ULONG iMode, | |
| BRUSHOBJ *pbo, | |
| DWORD rop4); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStrokeAndFillPath)( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pboStroke, | |
| LINEATTRS *plineattrs, | |
| BRUSHOBJ *pboFill, | |
| POINTL *pptlBrushOrg, | |
| MIX mixFill, | |
| FLONG flOptions); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvStrokePath)( | |
| SURFOBJ *pso, | |
| PATHOBJ *ppo, | |
| CLIPOBJ *pco, | |
| XFORMOBJ *pxo, | |
| BRUSHOBJ *pbo, | |
| POINTL *pptlBrushOrg, | |
| LINEATTRS *plineattrs, | |
| MIX mix); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvSwapBuffers)( | |
| SURFOBJ *pso, | |
| WNDOBJ *pwo); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvSynchronize)( | |
| DHPDEV dhpdev, | |
| RECTL *prcl); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvSynchronizeSurface)( | |
| SURFOBJ *pso, | |
| RECTL *prcl, | |
| FLONG fl); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvTextOut)( | |
| SURFOBJ *pso, | |
| STROBJ *pstro, | |
| FONTOBJ *pfo, | |
| CLIPOBJ *pco, | |
| RECTL *prclExtra, | |
| RECTL *prclOpaque, | |
| BRUSHOBJ *pboFore, | |
| BRUSHOBJ *pboOpaque, | |
| POINTL *pptlOrg, | |
| MIX mix); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvTransparentBlt)( | |
| SURFOBJ *psoDst, | |
| SURFOBJ *psoSrc, | |
| CLIPOBJ *pco, | |
| XLATEOBJ *pxlo, | |
| RECTL *prclDst, | |
| RECTL *prclSrc, | |
| ULONG iTransColor, | |
| ULONG ulReserved); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvUnloadFontFile)( | |
| ULONG_PTR iFile); | |
| WIN32KAPI | |
| VOID | |
| APIENTRY | |
| DrvDisableDirectDraw( | |
| DHPDEV dhpdev); | |
| typedef VOID | |
| (APIENTRY *PFN_DrvDisableDirectDraw)( | |
| DHPDEV dhpdev); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| DrvEnableDirectDraw( | |
| DHPDEV dhpdev, | |
| DD_CALLBACKS *pCallBacks, | |
| DD_SURFACECALLBACKS *pSurfaceCallBacks, | |
| DD_PALETTECALLBACKS *pPaletteCallBacks); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvEnableDirectDraw)( | |
| DHPDEV dhpdev, | |
| DD_CALLBACKS *pCallBacks, | |
| DD_SURFACECALLBACKS *pSurfaceCallBacks, | |
| DD_PALETTECALLBACKS *pPaletteCallBacks); | |
| WIN32KAPI | |
| WINBOOL | |
| APIENTRY | |
| DrvGetDirectDrawInfo( | |
| DHPDEV dhpdev, | |
| DD_HALINFO *pHalInfo, | |
| DWORD *pdwNumHeaps, | |
| VIDEOMEMORY *pvmList, | |
| DWORD *pdwNumFourCCCodes, | |
| DWORD *pdwFourCC); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvGetDirectDrawInfo)( | |
| DHPDEV dhpdev, | |
| DD_HALINFO *pHalInfo, | |
| DWORD *pdwNumHeaps, | |
| VIDEOMEMORY *pvmList, | |
| DWORD *pdwNumFourCCCodes, | |
| DWORD *pdwFourCC); | |
| //DECLSPEC_DEPRECATED_DDK | |
| WINBOOL | |
| APIENTRY | |
| DrvQuerySpoolType( | |
| DHPDEV dhpdev, | |
| LPWSTR pwchType); | |
| typedef WINBOOL | |
| (APIENTRY *PFN_DrvQuerySpoolType)( | |
| DHPDEV dhpdev, | |
| LPWSTR pwchType); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* defined __VIDEO_H__ */ | |
| #endif /* _WINDDI_ */ |