⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winddi.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -