📄 winddi.h
字号:
#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 0x20000000typedef 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 1typedef 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 0x00000008typedef 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 0x0typedef 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 2Ltypedef 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 0x00001000typedef 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 0xFF00typedef 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 0x00000020typedef 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);WIN32KAPIHANDLEDDKAPIBRUSHOBJ_hGetColorTransform( /*IN*/ BRUSHOBJ *pbo);WIN32KAPIPVOIDDDKAPIBRUSHOBJ_pvAllocRbrush( /*IN*/ BRUSHOBJ *pbo, /*IN*/ ULONG cj);WIN32KAPIPVOIDDDKAPIBRUSHOBJ_pvGetRbrush( /*IN*/ BRUSHOBJ *pbo);WIN32KAPIULONGDDKAPIBRUSHOBJ_ulGetBrushColor( /*IN*/ BRUSHOBJ *pbo);WIN32KAPIBOOLDDKAPICLIPOBJ_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 0x00000004WIN32KAPIULONGDDKAPICLIPOBJ_cEnumStart( /*IN*/ CLIPOBJ *pco, /*IN*/ BOOL bAll, /*IN*/ ULONG iType, /*IN*/ ULONG iDirection, /*IN*/ ULONG cLimit);WIN32KAPIPATHOBJ*DDKAPICLIPOBJ_ppoGetPath( /*IN*/ CLIPOBJ *pco);WIN32KAPIVOIDDDKAPIEngAcquireSemaphore( /*IN*/ HSEMAPHORE hsem);#define FL_ZERO_MEMORY 0x00000001#define FL_NONPAGED_MEMORY 0x00000002WIN32KAPIPVOIDDDKAPIEngAllocMem( /*IN*/ ULONG Flags, /*IN*/ ULONG MemSize, /*IN*/ ULONG Tag);WIN32KAPIPVOIDDDKAPIEngAllocPrivateUserMem( /*IN*/ PDD_SURFACE_LOCAL psl, /*IN*/ SIZE_T cj, /*IN*/ ULONG tag);WIN32KAPIPVOIDDDKAPIEngAllocUserMem( /*IN*/ SIZE_T cj, /*IN*/ ULONG tag);WIN32KAPIBOOLDDKAPIEngAlphaBlend( /*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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -