gdidefs.inc
来自「用于查询PC机上的USB端口是否有设备挂接上」· INC 代码 · 共 1,679 行 · 第 1/5 页
INC
1,679 行
ETO_OPAQUE equ 0002h
ETO_CLIPPED equ 0004h
ETO_GLYPH_INDEX equ 0010h
ETO_RTL equ 0080h
ETO_BYTE_PACKED equ 0100h
ETO_BIT_PACKED equ 0200h
ETO_LEVEL_MODE equ 1000h
PF_BITS_IS_ADDRESS equ 4
PF_DEVICE_REALIZED equ 10000000B
PF_RASTER_TYPE equ 0
PF_VECTOR_TYPE equ 1
PF_OTHER1_TYPE equ 2
PF_OTHER2_TYPE equ 3
PF_GLYPH_INDEX equ 20h
PF_WIFE_TYPE equ 08h
; Glyph types for EngineGetGlyphBmp
EGB_BITMAP equ 1
EGB_OUTLINE equ 2
EGB_GRAY2_BITMAP equ 8
EGB_GRAY4_BITMAP equ 9
EGB_GRAY8_BITMAP equ 10
if 0
*/
/* This bit in the dfType field signals that the dfBitsOffset field is an
absolute memory address and should not be altered. */
#define PF_BITS_IS_ADDRESS 4
/* This bit in the dfType field signals that the font is device realized. */
#define PF_DEVICE_REALIZED 0x80
/* These bits in the dfType give the fonttype -
raster, vector, other1, other2. */
#define PF_RASTER_TYPE 0
#define PF_VECTOR_TYPE 1
#define PF_OTHER1_TYPE 2
#define PF_OTHER2_TYPE 3
#define PF_GLYPH_INDEX 0x20
#define PF_WIFE_TYPE 0x08
/* Glyph types for EngineGetGlyphBmp */
#define EGB_BITMAP 1
#define EGB_OUTLINE 2
#define EGB_GRAY2_BITMAP 8
#define EGB_GRAY4_BITMAP 9
#define EGB_GRAY8_BITMAP 10
/* The size to allocate for the dfMaps field in the physical font. */
#ifndef DF_MAPSIZE
#define DF_MAPSIZE 1
#endif
/*
endif
; Font data structure passed to OEM routines. Refer to chapters 12 and
; 13 of the OEM adaptation guide for a complete description.
FONTINFO struc ;*/ typedef struct { /*
dfType dw 0 ; Type field for the font. ;*/ short int dfType; /*
dfPoints dw 0 ; Point size of font. ;*/ short int dfPoints; /*
dfVertRes dw 0 ; Vertical digitization. ;*/ short int dfVertRes; /*
dfHorizRes dw 0 ; Horizontal digitization. ;*/ short int dfHorizRes; /*
dfAscent dw 0 ; Baseline offset from char cell top. ;*/ short int dfAscent; /*
dfInternalLeading dw 0 ; Internal leading included in font ;*/ short int dfInternalLeading; /*
dfExternalLeading dw 0 ; Prefered extra space between lines ;*/ short int dfExternalLeading; /*
dfItalic db 0 ; Flag specifying if italic. ;*/ BYTE dfItalic; /*
dfUnderline db 0 ; Flag specifying if underlined. ;*/ BYTE dfUnderline; /*
dfStrikeOut db 0 ; Flag specifying if struck out. ;*/ BYTE dfStrikeOut; /*
dfWeight dw 0 ; Weight of font. ;*/ short int dfWeight; /*
dfCharSet db 0 ; Character set of font. ;*/ BYTE dfCharSet; /*
dfPixWidth dw 0 ; Width field for the font. ;*/ short int dfPixWidth; /*
dfPixHeight dw 0 ; Height field for the font. ;*/ short int dfPixHeight; /*
dfPitchAndFamily db 0 ; Flag specifying variable pitch, family. ;*/ BYTE dfPitchAndFamily; /*
dfAvgWidth dw 0 ; Average character width. ;*/ short int dfAvgWidth; /*
dfMaxWidth dw 0 ; Maximum character width. ;*/ short int dfMaxWidth; /*
dfFirstChar db 0 ; First character in the font. ;*/ BYTE dfFirstChar; /*
dfLastChar db 0 ; Last character in the font. ;*/ BYTE dfLastChar; /*
dfDefaultChar db 0 ; Default character for out of range. ;*/ BYTE dfDefaultChar; /*
dfBreakChar db 0 ; Character to define wordbreaks. ;*/ BYTE dfBreakChar; /*
dfWidthBytes dw 0 ; Number of bytes in each row. ;*/ short int dfWidthBytes; /*
dfDevice dd 0 ; Offset to device name. ;*/ unsigned long int dfDevice; /*
dfFace dd 0 ; Offset to face name. ;*/ unsigned long int dfFace; /*
dfBitsPointer dd 0 ; Bits pointer. ;*/ unsigned long int dfBitsPointer;/*
dfBitsOffset dd 0 ; Offset to the begining of the bitmap. ;*/ unsigned long int dfBitsOffset;/*
; On the disk, this is relative to the
; begining of the file. In memory this is
; relative to the begining of this structure.
dfReservedByte db 0 ; filler byte to WORD-align charoffset ;*/ BYTE dfReservedByte; /*
dfCharOffset dw 0 ; Area for storing the character offsets, ;*/ unsigned short dfMaps[DF_MAPSIZE];/*
; facename, device name (opt), and bitmap.
FONTINFO ends ;*/ } FONTINFO; /*
SCALABLEFONTINFO struc ;*/ typedef struct { /*
erType dw 0 ; Type field for the font. ;*/ short int erType; /*
erPoints dw 0 ; Point size of font. ;*/ short int erPoints; /*
erVertRes dw 0 ; Vertical digitization. ;*/ short int erVertRes; /*
erHorizRes dw 0 ; Horizontal digitization. ;*/ short int erHorizRes; /*
erAscent dw 0 ; Baseline offset from char cell top. ;*/ short int erAscent; /*
erInternalLeading dw 0 ; Internal leading included in font ;*/ short int erInternalLeading; /*
erExternalLeading dw 0 ; Prefered extra space between lines ;*/ short int erExternalLeading; /*
erItalic db 0 ; Flag specifying if italic. ;*/ BYTE erItalic; /*
erUnderline db 0 ; Flag specifying if underlined. ;*/ BYTE erUnderline; /*
erStrikeOut db 0 ; Flag specifying if struck out. ;*/ BYTE erStrikeOut; /*
erWeight dw 0 ; Weight of font. ;*/ short int erWeight; /*
erCharSet db 0 ; Character set of font. ;*/ BYTE erCharSet; /*
erPixWidth dw 0 ; Width field for the font. ;*/ short int erPixWidth; /*
erPixHeight dw 0 ; Height field for the font. ;*/ short int erPixHeight; /*
erPitchAndFamily db 0 ; Flag specifying pitch and family. ;*/ BYTE erPitchAndFamily; /*
erAvgWidth dw 0 ; Average character width. ;*/ short int erAvgWidth; /*
erMaxWidth dw 0 ; Maximum character width. ;*/ short int erMaxWidth; /*
erFirstChar db 0 ; First character in the font. ;*/ BYTE erFirstChar; /*
erLastChar db 0 ; Last character in the font. ;*/ BYTE erLastChar; /*
erDefaultChar db 0 ; Default character for out of range. ;*/ BYTE erDefaultChar; /*
erBreakChar db 0 ; Character to define wordbreaks. ;*/ BYTE erBreakChar; /*
erWidthBytes dw 0 ; Number of bytes in each row. ;*/ short int erWidthBytes; /*
erDevice dd 0 ; Offset to device name. ;*/ unsigned long int erDevice; /*
erFace dd 0 ; Offset to face name. ;*/ unsigned long int erFace; /*
erBitsPointer dd 0 ; Bits pointer. ;*/ unsigned long int erBitsPointer;/*
erBitsOffset dd 0 ; Offset to the begining of the bitmap. ;*/ unsigned long int erBitsOffset;/*
erFlags db 0 ; flags, and word align the stuff to come ;*/ BYTE erReservedByte; /*
erUnderlinePos dw 0 ; underline position relative to cell origin ;*/ short int erUnderlinePos; /*
erUnderlineThick dw 0 ; underline thickness ;*/ short int erUnderlineThick;/*
erStrikeoutPos dw 0 ; Strikeout position relative to cell origin ;*/ short int erStrikeoutPos; /*
erStrikeoutThick dw 0 ; strikeout thickness ;*/ short int erStrikeoutThick;/*
SCALABLEFONTINFO ends ;*/ } SCALABLEFONTINFO; /*
;------------------------------------------------------------------------------
;-------------------------- 4.0 font structures -----------------------------
;------------------------------------------------------------------------------
; This font format has a simple font header. It contains a version field
; followed by a glyph format field, the total number of glyphs in the
; entire font, and the dword offset to the array of glyph offsets.
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
; The NF_LARGE flag indicates that the glyph offset table is
; array of DWORDs instead of WORD offsets AND that the glyphs
; have LARGExxxGLYPH headers instead of SMALLxxxGLYPH headers.
;------------------------------------------------------------------------------
NF_BYTE_PACKED equ 0001h ; Byte aligned row format
NF_BIT_PACKED equ 0002h ; Bit packed row format
NF_FROM_BMP equ 0040h ; Derived from bitmap font
NF_LARGE equ 0080h ; Large offsets and glyph headers
NewFontSeg struct
nfVersion dw 0 ; Font version (0x0400)
nfFormat dw 0 ; Font format flags
nfNumGlyphs dw 0 ; Number of glyphs in font
nfGlyphOffset dd 0 ; Offset to glyph offset table
nfAWTable dd 0 ; Offset to advance width table
nfHeight dw 0 ; Height of font in pixels
nfAscent dw 0 ; Distance from baseline to top
nfUniqueID dd 0 ; Unique identifier for this PFont
NewFontSeg ends
;---------------------- Byte-packed glyph structures ------------------------
;
; This structure is the header for a glyph stored in byte-packed
; row-oriented format. The glyph bitmap is stored immediately after
; the ROWGLYPH structure.
;------------------------------------------------------------------------------
SMALLROWGLYPH struc
srgOrgX db 0 ; Vector to glyph origin in bitmap
srgOrgY db 0 ; from upper left corner
srgWidth db 0 ; Width and height of glyph bmp in
srgHeight db 0 ; pixels
SMALLROWGLYPH ends
LARGEROWGLYPH struc
lrgOrgX dw 0 ; Vector to glyph origin in bitmap
lrgOrgY dw 0 ; from upper left corner
lrgWidth dw 0 ; Width and height of glyph bmp in
lrgHeight dw 0 ; pixels
LARGEROWGLYPH ends
;---------------------- Bit-packed glyph structures -------------------------
;
; This structure is the header for a glyph stored in bit-packed row-oriented
; format. The glyph bitmap is stored immediately after the BITGLYPH structure.
;
; Bit-packed format means that the glyph rows are packed together end-to-end.
; There is no padding out to byte boundaries at the end of a row. This
; format results in the highest performance on some accelerated cards and
; the smallest memory footprint.
;------------------------------------------------------------------------------
SMALLBITGLYPH struc
sbgOrgX db 0 ; Vector to glyph origin in bitmap
sbgOrgY db 0 ; from upper left corner
sbgWidth db 0 ; Width and height of glyph bmp in
sbgHeight db 0 ; pixels
sbgPixels dw 0 ; Total # of pixels in the glyph
SMALLBITGLYPH ends
LARGEBITGLYPH struc
lbgOrgX dw 0 ; Vector to glyph origin in bitmap
lbgOrgY dw 0 ; from upper left corner
lbgWidth dw 0 ; Width and height of glyph bmp in
lbgHeight dw 0 ; pixels
lbgPixels dd 0 ; Total # of pixels in the glyph
LARGEBITGLYPH ends
TEXTXFORM struc ;*/ typedef struct { /*
ftHeight dw 0 ;*/ short int ftHeight; /*
ftWidth dw 0 ;*/ short int ftWidth; /*
ftEscapement dw 0 ;*/ short int ftEscapement; /*
ftOrientation dw 0 ;*/ short int ftOrientation; /*
ftWeight dw 0 ;*/ short int ftWeight; /*
ftItalic db 0 ;*/ BYTE ftItalic; /*
ftUnderline db 0 ;*/ BYTE ftUnderline; /*
ftStrikeOut db 0 ;*/ BYTE ftStrikeOut; /*
ftOutPrecision db 0 ;*/ BYTE ftOutPrecision; /*
ftClipPrecision db 0 ;*/ BYTE ftClipPrecision; /*
ftAccelerator dw 0 ;*/ unsigned short int /*
;*/ ftAccelerator; /*
ftOverhang dw 0 ;*/ short int ftOverhang; /*
TEXTXFORM ends ;*/ } TEXTXFORM; /*
TEXTMETRIC struc ;*/ typedef struct { /*
tmHeight dw 0 ; Ascent+Descent ;*/ short int tmHeight; /*
tmAscent dw 0 ; Pixels above the baseline ;*/ short int tmAscent; /*
tmDescent dw 0 ; Pixels below the baseline ;*/ short int tmDescent; /*
tmInternalLeading dw 0 ; Internal leading included in font ;*/ short int tmInternalLeading; /*
tmExternalLeading dw 0 ; Prefered extra space between lines ;*/ short int tmExternalLeading; /*
tmAveCharWidth dw 0 ; Of the letter 'X' ;*/ short int tmAveCharWidth; /*
tmMaxCharWidth dw 0 ;*/ short int tmMaxCharWidth; /*
tmWeight dw 0 ;*/ short int tmWeight; /*
tmItalic db 0 ;*/ BYTE tmItalic; /*
tmUnderlined db 0 ;*/ BYTE tmUnderlined; /*
tmStruckOut db 0 ;*/ BYTE tmStruckOut; /*
tmFirstChar db 0 ;*/ BYTE tmFirstChar; /*
tmLastChar db 0 ;*/ BYTE tmLastChar; /*
tmDefaultChar db 0 ; dfDefaultChar+dfFirstChar ;*/ BYTE tmDefaultChar; /*
tmBreakChar db 0 ; dfBreakChar+dfFirstChar ;*/ BYTE tmBreakChar; /*
tmPitchAndFamily db 0 ; Low bit zero if fixed pitch, one if ;*/ BYTE tmPitchAndFamily; /*
; variable. Family in high nibble.
tmCharSet db 0 ;*/ BYTE tmCharSet; /*
tmOverhang dw 0 ;*/ short int tmOverhang; /*
tmDigitizedAspectX dw 0 ; Digitization aspect ratio ;*/ short int tmDigitizedAspectX; /*
tmDigitizedAspectY dw 0 ; in X and Y. ;*/ short int tmDigitizedAspectY; /*
TEXTMETRIC ends ;*/ } TEXTMETRIC; /*
endif
endif
page
; Drawing mode definitions - incDrawMode
ifdef incDrawMode
if incDrawMode
DRAWMODE struc ;*/ typedef struct { /*
Rop2 dw 0 ;The 16-bit encoded Logical op ;*/ short int Rop2; /*
bkMode dw 0 ;Background Mode (for text only) ;*/ short int bkMode; /*
bkColor dd 0 ;Physical background Color ;*/ unsigned long int bkColor; /*
TextColor dd 0 ;Physical text (forground) color ;*/ unsigned long int TextColor; /*
TBreakExtra dw 0 ; total pixles to stuff into a line ;*/ short int TBreakExtra;/*
BreakExtra dw 0 ; div(TBreakExtra, BreakCount) ;*/ short int BreakExtra; /*
BreakErr dw 0 ; running error term ;*/ short int BreakErr; /*
BreakRem dw 0 ; mod(TBreakExtra, BreakCount) ;*/ short int BreakRem; /*
BreakCount dw 0 ; count of breaks in the line ;*/ short int BreakCount; /*
CharExtra dw 0 ; extra pixles to stuff after each char ;*/ short int CharExtra; /*
; (used to space out a font)
LbkColor dd 0 ;Logical background color ;*/ unsigned long int LbkColor; /*
LTextColor dd 0 ;Logical Text (forground) color ;*/ unsigned long int LTextColor; /*
ICMCXform dd 0 ;Transform for DIC image color matcher ;*/ DWORD ICMCXform; /*
StretchBltMode dw 0 ;Stretch Blt mode ;*/ short StretchBltMode; /*
eMiterLimit dd 0 ;Miter Limit (single precision IEEE float) ;*/ DWORD eMiterLimit;/*
DRAWMODE ends ;*/ } DRAWMODE; /*
; Background Mode definitions
TRANSPARENT equ 1
OPAQUE equ 2
BKMODE_TRANSPARENT equ 1
BKMODE_OPAQUE equ 2
BKMODE_LEVEL1 equ 3
BKMODE_LEVEL2 equ 4
BKMODE_LEVEL3 equ 5
BKMODE_TRANSLATE equ 6
; StretchBlt Mode definitions
STRETCH_ANDSCANS equ 1
STRETCH_ORSCANS equ 2
STRETCH_DELETESCANS equ 3
STRETCH_HALFTONE equ 4
SBM_BLACKONWHITE equ STRETCH_ANDSCANS
SBM_WHITEONBLACK equ STRETCH_ORSCANS
SBM_COLORONCOLOR equ STRETCH_DELETESCANS
SBM_HALFTONE equ STRETCH_HALFTONE
if 0
*/
/* Background Mode definitions used by GDI support routines written in C */
#define TRANSPARENT 1
#define OPAQUE 2
#define BKMODE_TRANSPARENT 1
#define BKMODE_OPAQUE 2
#define BKMODE_LEVEL1 3
#define BKMODE_LEVEL2 4
#define BKMODE_LEVEL3 5
#define BKMODE_TRANSLATE 6
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?