📄 wingdi.h
字号:
} EXTLOGFONTA, *PEXTLOGFONTA, NEAR *NPEXTLOGFONTA, FAR *LPEXTLOGFONTA;
typedef struct tagEXTLOGFONTW {
LOGFONTW elfLogFont;
WCHAR elfFullName[LF_FULLFACESIZE];
WCHAR elfStyle[LF_FACESIZE];
DWORD elfVersion; /* 0 for the first release of NT */
DWORD elfStyleSize;
DWORD elfMatch;
DWORD elfReserved;
BYTE elfVendorId[ELF_VENDOR_SIZE];
DWORD elfCulture; /* 0 for Latin */
PANOSE elfPanose;
} EXTLOGFONTW, *PEXTLOGFONTW, NEAR *NPEXTLOGFONTW, FAR *LPEXTLOGFONTW;
#ifdef UNICODE
typedef EXTLOGFONTW EXTLOGFONT;
typedef PEXTLOGFONTW PEXTLOGFONT;
typedef NPEXTLOGFONTW NPEXTLOGFONT;
typedef LPEXTLOGFONTW LPEXTLOGFONT;
#else
typedef EXTLOGFONTA EXTLOGFONT;
typedef PEXTLOGFONTA PEXTLOGFONT;
typedef NPEXTLOGFONTA NPEXTLOGFONT;
typedef LPEXTLOGFONTA LPEXTLOGFONT;
#endif // UNICODE
#define ELF_VERSION 0
#define ELF_CULTURE_LATIN 0
/* EnumFonts Masks */
#define RASTER_FONTTYPE 0x0001
#define DEVICE_FONTTYPE 0x002
#define TRUETYPE_FONTTYPE 0x004
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
/* palette entry flags */
#define PC_RESERVED 0x01 /* palette index used for animation */
#define PC_EXPLICIT 0x02 /* palette index is explicit to device */
#define PC_NOCOLLAPSE 0x04 /* do not match color to system palette */
#define GetRValue(rgb) ((BYTE)(rgb))
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
#define GetBValue(rgb) ((BYTE)((rgb)>>16))
/* Background Modes */
#define TRANSPARENT 1
#define OPAQUE 2
#define BKMODE_LAST 2
/* Graphics Modes */
#define GM_COMPATIBLE 1
#define GM_ADVANCED 2
#define GM_LAST 2
/* PolyDraw and GetPath point types */
#define PT_CLOSEFIGURE 0x01
#define PT_LINETO 0x02
#define PT_BEZIERTO 0x04
#define PT_MOVETO 0x06
/* Mapping Modes */
#define MM_TEXT 1
#define MM_LOMETRIC 2
#define MM_HIMETRIC 3
#define MM_LOENGLISH 4
#define MM_HIENGLISH 5
#define MM_TWIPS 6
#define MM_ISOTROPIC 7
#define MM_ANISOTROPIC 8
/* Min and Max Mapping Mode values */
#define MM_MIN MM_TEXT
#define MM_MAX MM_ANISOTROPIC
#define MM_MAX_FIXEDSCALE MM_TWIPS
/* Coordinate Modes */
#define ABSOLUTE 1
#define RELATIVE 2
/* Stock Logical Objects */
#define WHITE_BRUSH 0
#define LTGRAY_BRUSH 1
#define GRAY_BRUSH 2
#define DKGRAY_BRUSH 3
#define BLACK_BRUSH 4
#define NULL_BRUSH 5
#define HOLLOW_BRUSH NULL_BRUSH
#define WHITE_PEN 6
#define BLACK_PEN 7
#define NULL_PEN 8
#define OEM_FIXED_FONT 10
#define ANSI_FIXED_FONT 11
#define ANSI_VAR_FONT 12
#define SYSTEM_FONT 13
#define DEVICE_DEFAULT_FONT 14
#define DEFAULT_PALETTE 15
#define SYSTEM_FIXED_FONT 16
#if(WINVER >= 0x0400)
#define DEFAULT_GUI_FONT 17
#endif /* WINVER >= 0x0400 */
#if (_WIN32_WINNT >= 0x0500)
#define DC_BRUSH 18
#define DC_PEN 19
#endif
#if (_WIN32_WINNT >= 0x0500)
#define STOCK_LAST 19
#elif (WINVER >= 0x0400)
#define STOCK_LAST 17
#else
#define STOCK_LAST 16
#endif
#define CLR_INVALID 0xFFFFFFFF
/* Brush Styles */
#define BS_SOLID 0
#define BS_NULL 1
#define BS_HOLLOW BS_NULL
#define BS_HATCHED 2
#define BS_PATTERN 3
#define BS_INDEXED 4
#define BS_DIBPATTERN 5
#define BS_DIBPATTERNPT 6
#define BS_PATTERN8X8 7
#define BS_DIBPATTERN8X8 8
#define BS_MONOPATTERN 9
/* Hatch Styles */
#define HS_HORIZONTAL 0 /* ----- */
#define HS_VERTICAL 1 /* ||||| */
#define HS_FDIAGONAL 2 /* \\\\\ */
#define HS_BDIAGONAL 3 /* ///// */
#define HS_CROSS 4 /* +++++ */
#define HS_DIAGCROSS 5 /* xxxxx */
/* Pen Styles */
#define PS_SOLID 0
#define PS_DASH 1 /* ------- */
#define PS_DOT 2 /* ....... */
#define PS_DASHDOT 3 /* _._._._ */
#define PS_DASHDOTDOT 4 /* _.._.._ */
#define PS_NULL 5
#define PS_INSIDEFRAME 6
#define PS_USERSTYLE 7
#define PS_ALTERNATE 8
#define PS_STYLE_MASK 0x0000000F
#define PS_ENDCAP_ROUND 0x00000000
#define PS_ENDCAP_SQUARE 0x00000100
#define PS_ENDCAP_FLAT 0x00000200
#define PS_ENDCAP_MASK 0x00000F00
#define PS_JOIN_ROUND 0x00000000
#define PS_JOIN_BEVEL 0x00001000
#define PS_JOIN_MITER 0x00002000
#define PS_JOIN_MASK 0x0000F000
#define PS_COSMETIC 0x00000000
#define PS_GEOMETRIC 0x00010000
#define PS_TYPE_MASK 0x000F0000
#define AD_COUNTERCLOCKWISE 1
#define AD_CLOCKWISE 2
/* Device Parameters for GetDeviceCaps() */
#define DRIVERVERSION 0 /* Device driver version */
#define TECHNOLOGY 2 /* Device classification */
#define HORZSIZE 4 /* Horizontal size in millimeters */
#define VERTSIZE 6 /* Vertical size in millimeters */
#define HORZRES 8 /* Horizontal width in pixels */
#define VERTRES 10 /* Vertical height in pixels */
#define BITSPIXEL 12 /* Number of bits per pixel */
#define PLANES 14 /* Number of planes */
#define NUMBRUSHES 16 /* Number of brushes the device has */
#define NUMPENS 18 /* Number of pens the device has */
#define NUMMARKERS 20 /* Number of markers the device has */
#define NUMFONTS 22 /* Number of fonts the device has */
#define NUMCOLORS 24 /* Number of colors the device supports */
#define PDEVICESIZE 26 /* Size required for device descriptor */
#define CURVECAPS 28 /* Curve capabilities */
#define LINECAPS 30 /* Line capabilities */
#define POLYGONALCAPS 32 /* Polygonal capabilities */
#define TEXTCAPS 34 /* Text capabilities */
#define CLIPCAPS 36 /* Clipping capabilities */
#define RASTERCAPS 38 /* Bitblt capabilities */
#define ASPECTX 40 /* Length of the X leg */
#define ASPECTY 42 /* Length of the Y leg */
#define ASPECTXY 44 /* Length of the hypotenuse */
#if(WINVER >= 0x0500)
#define SHADEBLENDCAPS 45 /* Shading and blending caps */
#endif /* WINVER >= 0x0500 */
#define LOGPIXELSX 88 /* Logical pixels/inch in X */
#define LOGPIXELSY 90 /* Logical pixels/inch in Y */
#define SIZEPALETTE 104 /* Number of entries in physical palette */
#define NUMRESERVED 106 /* Number of reserved entries in palette */
#define COLORRES 108 /* Actual color resolution */
// Printing related DeviceCaps. These replace the appropriate Escapes
#define PHYSICALWIDTH 110 /* Physical Width in device units */
#define PHYSICALHEIGHT 111 /* Physical Height in device units */
#define PHYSICALOFFSETX 112 /* Physical Printable Area x margin */
#define PHYSICALOFFSETY 113 /* Physical Printable Area y margin */
#define SCALINGFACTORX 114 /* Scaling factor x */
#define SCALINGFACTORY 115 /* Scaling factor y */
// Display driver specific
#define VREFRESH 116 /* Current vertical refresh rate of the */
/* display device (for displays only) in Hz*/
#define DESKTOPVERTRES 117 /* Horizontal width of entire desktop in */
/* pixels */
#define DESKTOPHORZRES 118 /* Vertical height of entire desktop in */
/* pixels */
#define BLTALIGNMENT 119 /* Preferred blt alignment */
#ifndef NOGDICAPMASKS
/* Device Capability Masks: */
/* Device Technologies */
#define DT_PLOTTER 0 /* Vector plotter */
#define DT_RASDISPLAY 1 /* Raster display */
#define DT_RASPRINTER 2 /* Raster printer */
#define DT_RASCAMERA 3 /* Raster camera */
#define DT_CHARSTREAM 4 /* Character-stream, PLP */
#define DT_METAFILE 5 /* Metafile, VDM */
#define DT_DISPFILE 6 /* Display-file */
/* Curve Capabilities */
#define CC_NONE 0 /* Curves not supported */
#define CC_CIRCLES 1 /* Can do circles */
#define CC_PIE 2 /* Can do pie wedges */
#define CC_CHORD 4 /* Can do chord arcs */
#define CC_ELLIPSES 8 /* Can do ellipese */
#define CC_WIDE 16 /* Can do wide lines */
#define CC_STYLED 32 /* Can do styled lines */
#define CC_WIDESTYLED 64 /* Can do wide styled lines */
#define CC_INTERIORS 128 /* Can do interiors */
#define CC_ROUNDRECT 256 /* */
/* Line Capabilities */
#define LC_NONE 0 /* Lines not supported */
#define LC_POLYLINE 2 /* Can do polylines */
#define LC_MARKER 4 /* Can do markers */
#define LC_POLYMARKER 8 /* Can do polymarkers */
#define LC_WIDE 16 /* Can do wide lines */
#define LC_STYLED 32 /* Can do styled lines */
#define LC_WIDESTYLED 64 /* Can do wide styled lines */
#define LC_INTERIORS 128 /* Can do interiors */
/* Polygonal Capabilities */
#define PC_NONE 0 /* Polygonals not supported */
#define PC_POLYGON 1 /* Can do polygons */
#define PC_RECTANGLE 2 /* Can do rectangles */
#define PC_WINDPOLYGON 4 /* Can do winding polygons */
#define PC_TRAPEZOID 4 /* Can do trapezoids */
#define PC_SCANLINE 8 /* Can do scanlines */
#define PC_WIDE 16 /* Can do wide borders */
#define PC_STYLED 32 /* Can do styled borders */
#define PC_WIDESTYLED 64 /* Can do wide styled borders */
#define PC_INTERIORS 128 /* Can do interiors */
#define PC_POLYPOLYGON 256 /* Can do polypolygons */
#define PC_PATHS 512 /* Can do paths */
/* Clipping Capabilities */
#define CP_NONE 0 /* No clipping of output */
#define CP_RECTANGLE 1 /* Output clipped to rects */
#define CP_REGION 2 /* obsolete */
/* Text Capabilities */
#define TC_OP_CHARACTER 0x00000001 /* Can do OutputPrecision CHARACTER */
#define TC_OP_STROKE 0x00000002 /* Can do OutputPrecision STROKE */
#define TC_CP_STROKE 0x00000004 /* Can do ClipPrecision STROKE */
#define TC_CR_90 0x00000008 /* Can do CharRotAbility 90 */
#define TC_CR_ANY 0x00000010 /* Can do CharRotAbility ANY */
#define TC_SF_X_YINDEP 0x00000020 /* Can do ScaleFreedom X_YINDEPENDENT */
#define TC_SA_DOUBLE 0x00000040 /* Can do ScaleAbility DOUBLE */
#define TC_SA_INTEGER 0x00000080 /* Can do ScaleAbility INTEGER */
#define TC_SA_CONTIN 0x00000100 /* Can do ScaleAbility CONTINUOUS */
#define TC_EA_DOUBLE 0x00000200 /* Can do EmboldenAbility DOUBLE */
#define TC_IA_ABLE 0x00000400 /* Can do ItalisizeAbility ABLE */
#define TC_UA_ABLE 0x00000800 /* Can do UnderlineAbility ABLE */
#define TC_SO_ABLE 0x00001000 /* Can do StrikeOutAbility ABLE */
#define TC_RA_ABLE 0x00002000 /* Can do RasterFontAble ABLE */
#define TC_VA_ABLE 0x00004000 /* Can do VectorFontAble ABLE */
#define TC_RESERVED 0x00008000
#define TC_SCROLLBLT 0x00010000 /* Don't do text scroll with blt */
#endif /* NOGDICAPMASKS */
/* Raster Capabilities */
#define RC_NONE
#define RC_BITBLT 1 /* Can do standard BLT. */
#define RC_BANDING 2 /* Device requires banding support */
#define RC_SCALING 4 /* Device requires scaling support */
#define RC_BITMAP64 8 /* Device can support >64K bitmap */
#define RC_GDI20_OUTPUT 0x0010 /* has 2.0 output calls */
#define RC_GDI20_STATE 0x0020
#define RC_SAVEBITMAP 0x0040
#define RC_DI_BITMAP 0x0080 /* supports DIB to memory */
#define RC_PALETTE 0x0100 /* supports a palette */
#define RC_DIBTODEV 0x0200 /* supports DIBitsToDevice */
#define RC_BIGFONT 0x0400 /* supports >64K fonts */
#define RC_STRETCHBLT 0x0800 /* supports StretchBlt */
#define RC_FLOODFILL 0x1000 /* supports FloodFill */
#define RC_STRETCHDIB 0x2000 /* supports StretchDIBits */
#define RC_OP_DX_OUTPUT 0x4000
#define RC_DEVBITS 0x8000
#if(WINVER >= 0x0500)
/* Shading and blending caps */
#define SB_NONE 0x00000000
#define SB_CONST_ALPHA 0x00000001
#define SB_PIXEL_ALPHA 0x00000002
#define SB_PREMULT_ALPHA 0x00000004
#define SB_GRAD_RECT 0x00000010
#define SB_GRAD_TRI 0x00000020
#endif /* WINVER >= 0x0500 */
/* DIB color table identifiers */
#define DIB_RGB_COLORS 0 /* color table in RGBs */
#define DIB_PAL_COLORS 1 /* color table in palette indices */
/* constants for Get/SetSystemPaletteUse() */
#define SYSPAL_ERROR 0
#define SYSPAL_STATIC 1
#define SYSPAL_NOSTATIC 2
#define SYSPAL_NOSTATIC256 3
/* constants for CreateDIBitmap */
#define CBM_INIT 0x04L /* initialize bitmap */
/* ExtFloodFill style flags */
#define FLOODFILLBORDER 0
#define FLOODFILLSURFACE 1
/* size of a device name string
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -