| /* |
| * 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 */ |