481 lines
8.3 KiB
PHP
481 lines
8.3 KiB
PHP
|
|
; GDI32.DLL structures and constants
|
|
|
|
struct SIZE
|
|
cx dd ?
|
|
cy dd ?
|
|
ends
|
|
|
|
struct BITMAP
|
|
bmType dd ?
|
|
bmWidth dd ?
|
|
bmHeight dd ?
|
|
bmWidthBytes dd ?
|
|
bmPlanes dw ?
|
|
bmBitsPixel dw ?
|
|
bmBits dd ?
|
|
ends
|
|
|
|
struct BITMAPCOREHEADER
|
|
bcSize dd ?
|
|
bcWidth dw ?
|
|
bcHeight dw ?
|
|
bcPlanes dw ?
|
|
bcBitCount dw ?
|
|
ends
|
|
|
|
struct BITMAPINFOHEADER
|
|
biSize dd ?
|
|
biWidth dd ?
|
|
biHeight dd ?
|
|
biPlanes dw ?
|
|
biBitCount dw ?
|
|
biCompression dd ?
|
|
biSizeImage dd ?
|
|
biXPelsPerMeter dd ?
|
|
biYPelsPerMeter dd ?
|
|
biClrUsed dd ?
|
|
biClrImportant dd ?
|
|
ends
|
|
|
|
struct BITMAPFILEHEADER
|
|
bfType dw ?
|
|
bfSize dd ?
|
|
bfReserved1 dw ?
|
|
bfReserved2 dw ?
|
|
bfOffBits dd ?
|
|
ends
|
|
|
|
struct TEXTMETRIC
|
|
tmHeight dd ?
|
|
tmAscent dd ?
|
|
tmDescent dd ?
|
|
tmInternalLeading dd ?
|
|
tmExternalLeading dd ?
|
|
tmAveCharWidth dd ?
|
|
tmMaxCharWidth dd ?
|
|
tmWeight dd ?
|
|
tmOverhang dd ?
|
|
tmDigitizedAspectX dd ?
|
|
tmDigitizedAspectY dd ?
|
|
tmFirstChar TCHAR ?
|
|
tmLastChar TCHAR ?
|
|
tmDefaultChar TCHAR ?
|
|
tmBreakChar TCHAR ?
|
|
tmItalic db ?
|
|
tmUnderlined db ?
|
|
tmStruckOut db ?
|
|
tmPitchAndFamily db ?
|
|
tmCharSet db ?
|
|
ends
|
|
|
|
struct LOGBRUSH
|
|
lbStyle dd ?
|
|
lbColor dd ?
|
|
lbHatch dd ?
|
|
ends
|
|
|
|
struct LOGPEN
|
|
lopnStyle dd ?
|
|
lopnWidth POINT
|
|
lopnColor dd ?
|
|
ends
|
|
|
|
struct EXTLOGPEN
|
|
elpPenStyle dd ?
|
|
elpWidth dd ?
|
|
elpBrushStyle dd ?
|
|
elpColor dd ?
|
|
elpHatch dd ?
|
|
elpNumEntries dd ?
|
|
elpStyleEntry dd ?
|
|
ends
|
|
|
|
struct LOGFONT
|
|
lfHeight dd ?
|
|
lfWidth dd ?
|
|
lfEscapement dd ?
|
|
lfOrientation dd ?
|
|
lfWeight dd ?
|
|
lfItalic db ?
|
|
lfUnderline db ?
|
|
lfStrikeOut db ?
|
|
lfCharSet db ?
|
|
lfOutPrecision db ?
|
|
lfClipPrecision db ?
|
|
lfQuality db ?
|
|
lfPitchAndFamily db ?
|
|
lfFaceName TCHAR 32 dup (?)
|
|
ends
|
|
|
|
struct ENUMLOGFONT
|
|
elfLogFont LOGFONT
|
|
elfFullName TCHAR 64 dup (?)
|
|
elfStyle TCHAR 32 dup (?)
|
|
ends
|
|
|
|
struct ENUMLOGFONTEX
|
|
elfLogFont LOGFONT
|
|
elfFullName TCHAR 64 dup (?)
|
|
elfStyle TCHAR 32 dup (?)
|
|
elfScript TCHAR 32 dup (?)
|
|
ends
|
|
|
|
struct PIXELFORMATDESCRIPTOR
|
|
nSize dw ?
|
|
nVersion dw ?
|
|
dwFlags dd ?
|
|
iPixelType db ?
|
|
cColorBits db ?
|
|
cRedBits db ?
|
|
cRedShift db ?
|
|
cGreenBits db ?
|
|
cGreenShift db ?
|
|
cBlueBits db ?
|
|
cBlueShift db ?
|
|
cAlphaBits db ?
|
|
cAlphaShift db ?
|
|
cAccumBits db ?
|
|
cAccumRedBits db ?
|
|
cAccumGreenBits db ?
|
|
cAccumBlueBits db ?
|
|
cAccumAlphaBits db ?
|
|
cDepthBits db ?
|
|
cStencilBits db ?
|
|
cAuxBuffers db ?
|
|
iLayerType db ?
|
|
bReserved db ?
|
|
dwLayerMask dd ?
|
|
dwVisibleMask dd ?
|
|
dwDamageMask dd ?
|
|
ends
|
|
|
|
struct TRIVERTEX
|
|
x dd ?
|
|
y dd ?
|
|
Red dw ?
|
|
Green dw ?
|
|
Blue dw ?
|
|
Alpha dw ?
|
|
ends
|
|
|
|
; General constants
|
|
|
|
GDI_ERROR = 0FFFFFFFFh
|
|
HGDI_ERROR = 0FFFFFFFFh
|
|
|
|
; Binary raster operations
|
|
|
|
R2_BLACK = 1
|
|
R2_NOTMERGEPEN = 2
|
|
R2_MASKNOTPEN = 3
|
|
R2_NOTCOPYPEN = 4
|
|
R2_MASKPENNOT = 5
|
|
R2_NOT = 6
|
|
R2_XORPEN = 7
|
|
R2_NOTMASKPEN = 8
|
|
R2_MASKPEN = 9
|
|
R2_NOTXORPEN = 10
|
|
R2_NOP = 11
|
|
R2_MERGENOTPEN = 12
|
|
R2_COPYPEN = 13
|
|
R2_MERGEPENNOT = 14
|
|
R2_MERGEPEN = 15
|
|
R2_WHITE = 16
|
|
|
|
; Raster operations
|
|
|
|
SRCCOPY = 00CC0020h
|
|
SRCPAINT = 00EE0086h
|
|
SRCAND = 008800C6h
|
|
SRCINVERT = 00660046h
|
|
SRCERASE = 00440328h
|
|
NOTSRCCOPY = 00330008h
|
|
NOTSRCERASE = 001100A6h
|
|
MERGECOPY = 00C000CAh
|
|
MERGEPAINT = 00BB0226h
|
|
PATCOPY = 00F00021h
|
|
PATPAINT = 00FB0A09h
|
|
PATINVERT = 005A0049h
|
|
DSTINVERT = 00550009h
|
|
BLACKNESS = 00000042h
|
|
WHITENESS = 00FF0062h
|
|
|
|
; Region flags
|
|
|
|
ERROR = 0
|
|
NULLREGION = 1
|
|
SIMPLEREGION = 2
|
|
COMPLEXREGION = 3
|
|
|
|
; CombineRgn styles
|
|
|
|
RGN_AND = 1
|
|
RGN_OR = 2
|
|
RGN_XOR = 3
|
|
RGN_DIFF = 4
|
|
RGN_COPY = 5
|
|
|
|
; StretchBlt modes
|
|
|
|
BLACKONWHITE = 1
|
|
WHITEONBLACK = 2
|
|
COLORONCOLOR = 3
|
|
HALFTONE = 4
|
|
STRETCH_ANDSCANS = BLACKONWHITE
|
|
STRETCH_ORSCANS = WHITEONBLACK
|
|
STRETCH_DELETESCANS = COLORONCOLOR
|
|
STRETCH_HALFTONE = HALFTONE
|
|
|
|
; PolyFill modes
|
|
|
|
ALTERNATE = 1
|
|
WINDING = 2
|
|
|
|
; Background modes
|
|
|
|
TRANSPARENT = 1
|
|
OPAQUE = 2
|
|
|
|
; Point types
|
|
|
|
PT_CLOSEFIGURE = 1
|
|
PT_LINETO = 2
|
|
PT_BEZIERTO = 4
|
|
PT_MOVETO = 6
|
|
|
|
; Mapping modes
|
|
|
|
MM_TEXT = 1
|
|
MM_LOMETRIC = 2
|
|
MM_HIMETRIC = 3
|
|
MM_LOENGLISH = 4
|
|
MM_HIENGLISH = 5
|
|
MM_TWIPS = 6
|
|
MM_ISOTROPIC = 7
|
|
MM_ANISOTROPIC = 8
|
|
|
|
; Coordinate modes
|
|
|
|
ABSOLUTE = 1
|
|
RELATIVE = 2
|
|
|
|
; Stock logical objects
|
|
|
|
WHITE_BRUSH = 0
|
|
LTGRAY_BRUSH = 1
|
|
GRAY_BRUSH = 2
|
|
DKGRAY_BRUSH = 3
|
|
BLACK_BRUSH = 4
|
|
NULL_BRUSH = 5
|
|
HOLLOW_BRUSH = NULL_BRUSH
|
|
WHITE_PEN = 6
|
|
BLACK_PEN = 7
|
|
NULL_PEN = 8
|
|
OEM_FIXED_FONT = 10
|
|
ANSI_FIXED_FONT = 11
|
|
ANSI_VAR_FONT = 12
|
|
SYSTEM_FONT = 13
|
|
DEVICE_DEFAULT_FONT = 14
|
|
DEFAULT_PALETTE = 15
|
|
SYSTEM_FIXED_FONT = 16
|
|
DEFAULT_GUI_FONT = 17
|
|
|
|
; Brush styles
|
|
|
|
BS_SOLID = 0
|
|
BS_NULL = 1
|
|
BS_HOLLOW = BS_NULL
|
|
BS_HATCHED = 2
|
|
BS_PATTERN = 3
|
|
BS_INDEXED = 4
|
|
BS_DIBPATTERN = 5
|
|
BS_DIBPATTERNPT = 6
|
|
BS_PATTERN8X8 = 7
|
|
BS_DIBPATTERN8X8 = 8
|
|
BS_MONOPATTERN = 9
|
|
|
|
; Hatch styles
|
|
|
|
HS_HORIZONTAL = 0
|
|
HS_VERTICAL = 1
|
|
HS_FDIAGONAL = 2
|
|
HS_BDIAGONAL = 3
|
|
HS_CROSS = 4
|
|
HS_DIAGCROSS = 5
|
|
|
|
; Pen styles
|
|
|
|
PS_SOLID = 0
|
|
PS_DASH = 1
|
|
PS_DOT = 2
|
|
PS_DASHDOT = 3
|
|
PS_DASHDOTDOT = 4
|
|
PS_NULL = 5
|
|
PS_INSIDEFRAME = 6
|
|
PS_USERSTYLE = 7
|
|
PS_ALTERNATE = 8
|
|
PS_ENDCAP_ROUND = 0
|
|
PS_ENDCAP_SQUARE = 100h
|
|
PS_ENDCAP_FLAT = 200h
|
|
PS_JOIN_ROUND = 0
|
|
PS_JOIN_BEVEL = 1000h
|
|
PS_JOIN_MITER = 2000h
|
|
PS_COSMETIC = 0
|
|
PS_GEOMETRIC = 010000h
|
|
|
|
; Arc directions
|
|
|
|
AD_COUNTERCLOCKWISE = 1
|
|
AD_CLOCKWISE = 2
|
|
|
|
; Text alignment options
|
|
|
|
TA_NOUPDATECP = 0
|
|
TA_UPDATECP = 1
|
|
TA_LEFT = 0
|
|
TA_RIGHT = 2
|
|
TA_CENTER = 6
|
|
TA_TOP = 0
|
|
TA_BOTTOM = 8
|
|
TA_BASELINE = 24
|
|
TA_RTLREADING = 100h
|
|
VTA_BASELINE = TA_BASELINE
|
|
VTA_LEFT = TA_BOTTOM
|
|
VTA_RIGHT = TA_TOP
|
|
VTA_CENTER = TA_CENTER
|
|
VTA_BOTTOM = TA_RIGHT
|
|
VTA_TOP = TA_LEFT
|
|
|
|
; ExtTextOut options
|
|
|
|
ETO_OPAQUE = 0002h
|
|
ETO_CLIPPED = 0004h
|
|
ETO_GLYPH_INDEX = 0010h
|
|
ETO_RTLREADING = 0080h
|
|
ETO_IGNORELANGUAGE = 1000h
|
|
|
|
; Bitmap compression types
|
|
|
|
BI_RGB = 0
|
|
BI_RLE8 = 1
|
|
BI_RLE4 = 2
|
|
BI_BITFIELDS = 3
|
|
|
|
; tmPitchAndFamily flags
|
|
|
|
TMPF_FIXED_PITCH = 1
|
|
TMPF_VECTOR = 2
|
|
TMPF_TRUETYPE = 4
|
|
TMPF_DEVICE = 8
|
|
|
|
; Font output precision values
|
|
|
|
OUT_DEFAULT_PRECIS = 0
|
|
OUT_STRING_PRECIS = 1
|
|
OUT_CHARACTER_PRECIS = 2
|
|
OUT_STROKE_PRECIS = 3
|
|
OUT_TT_PRECIS = 4
|
|
OUT_DEVICE_PRECIS = 5
|
|
OUT_RASTER_PRECIS = 6
|
|
OUT_TT_ONLY_PRECIS = 7
|
|
OUT_OUTLINE_PRECIS = 8
|
|
OUT_SCREEN_OUTLINE_PRECIS = 9
|
|
|
|
; Font clipping precision values
|
|
|
|
CLIP_DEFAULT_PRECIS = 0
|
|
CLIP_CHARACTER_PRECIS = 1
|
|
CLIP_STROKE_PRECIS = 2
|
|
CLIP_LH_ANGLES = 10h
|
|
CLIP_TT_ALWAYS = 20h
|
|
CLIP_EMBEDDED = 80h
|
|
|
|
; Font output quality values
|
|
|
|
DEFAULT_QUALITY = 0
|
|
DRAFT_QUALITY = 1
|
|
PROOF_QUALITY = 2
|
|
NONANTIALIASED_QUALITY = 3
|
|
ANTIALIASED_QUALITY = 4
|
|
|
|
; Font pitch values
|
|
|
|
DEFAULT_PITCH = 0
|
|
FIXED_PITCH = 1
|
|
VARIABLE_PITCH = 2
|
|
MONO_FONT = 8
|
|
|
|
; Font families
|
|
|
|
FF_DONTCARE = 00h
|
|
FF_ROMAN = 10h
|
|
FF_SWISS = 20h
|
|
FF_MODERN = 30h
|
|
FF_SCRIPT = 40h
|
|
FF_DECORATIVE = 50h
|
|
|
|
; Font weights
|
|
|
|
FW_DONTCARE = 0
|
|
FW_THIN = 100
|
|
FW_EXTRALIGHT = 200
|
|
FW_LIGHT = 300
|
|
FW_NORMAL = 400
|
|
FW_MEDIUM = 500
|
|
FW_SEMIBOLD = 600
|
|
FW_BOLD = 700
|
|
FW_EXTRABOLD = 800
|
|
FW_HEAVY = 900
|
|
FW_ULTRALIGHT = FW_EXTRALIGHT
|
|
FW_REGULAR = FW_NORMAL
|
|
FW_DEMIBOLD = FW_SEMIBOLD
|
|
FW_ULTRABOLD = FW_EXTRABOLD
|
|
FW_BLACK = FW_HEAVY
|
|
|
|
; Character set values
|
|
|
|
ANSI_CHARSET = 0
|
|
DEFAULT_CHARSET = 1
|
|
SYMBOL_CHARSET = 2
|
|
SHIFTJIS_CHARSET = 128
|
|
HANGEUL_CHARSET = 129
|
|
GB2312_CHARSET = 134
|
|
CHINESEBIG5_CHARSET = 136
|
|
OEM_CHARSET = 255
|
|
JOHAB_CHARSET = 130
|
|
HEBREW_CHARSET = 177
|
|
ARABIC_CHARSET = 178
|
|
GREEK_CHARSET = 161
|
|
TURKISH_CHARSET = 162
|
|
VIETNAMESE_CHARSET = 163
|
|
THAI_CHARSET = 222
|
|
EASTEUROPE_CHARSET = 238
|
|
RUSSIAN_CHARSET = 204
|
|
MAC_CHARSET = 77
|
|
BALTIC_CHARSET = 186
|
|
|
|
; Pixel format constants
|
|
|
|
PFD_TYPE_RGBA = 0
|
|
PFD_TYPE_COLORINDEX = 1
|
|
PFD_MAIN_PLANE = 0
|
|
PFD_OVERLAY_PLANE = 1
|
|
PFD_UNDERLAY_PLANE = -1
|
|
PFD_DOUBLEBUFFER = 1
|
|
PFD_STEREO = 2
|
|
PFD_DRAW_TO_WINDOW = 4
|
|
PFD_DRAW_TO_BITMAP = 8
|
|
PFD_SUPPORT_GDI = 10h
|
|
PFD_SUPPORT_OPENGL = 20h
|
|
PFD_GENERIC_FORMAT = 40h
|
|
PFD_NEED_PALETTE = 80h
|
|
PFD_NEED_SYSTEM_PALETTE = 100h
|
|
PFD_SWAP_EXCHANGE = 200h
|
|
PFD_SWAP_COPY = 400h
|
|
PFD_SWAP_LAYER_BUFFERS = 800h
|
|
PFD_GENERIC_ACCELERATED = 1000h
|
|
PFD_DEPTH_DONTCARE = 20000000h
|
|
PFD_DOUBLEBUFFER_DONTCARE = 40000000h
|
|
PFD_STEREO_DONTCARE = 80000000h
|