source: trunk/ab5.0/ablib/src/api_gdi.sbp@ 698

Last change on this file since 698 was 698, checked in by イグトランス (egtra), 15 years ago

GDI+をコンパイルできるように修正。FontFamily, Penの追加。サンプルとして、Step 32のGDI+版を制作。
(#56)

File size: 51.9 KB
Line 
1' api_gdi.sbp - Graphics Device Integerface API
2
3#ifdef UNICODE
4Const _FuncName_CopyEnhMetaFile = "CopyEnhMetaFileW"
5Const _FuncName_CopyMetaFile = "CopyMetaFileW"
6Const _FuncName_CreateDC = "CreateDCW"
7Const _FuncName_CreateEnhMetaFile = "CreateEnhMetaFileW"
8Const _FuncName_CreateMetaFile = "CreateMetaFileW"
9Const _FuncName_CreateFont = "CreateFontW"
10Const _FuncName_CreateFontIndirect = "CreateFontIndirectW"
11Const _FuncName_GetEnhMetaFile = "GetEnhMetaFileW"
12Const _FuncName_GetEnhMetaFileDescription = "GetEnhMetaFileDescriptionW"
13Const _FuncName_GetObject = "GetObjectW"
14Const _FuncName_GetTextFace = "GetTextFaceW"
15Const _FuncName_GetTextMetrics = "GetTextMetricsW"
16Const _FuncName_ResetDC = "ResetDCW"
17Const _FuncName_StartDoc = "StartDocW"
18Const _FuncName_wglUseFontBitmaps = "wglUseFontBitmapsW"
19Const _FuncName_wglUseFontOutlines = "wglUseFontOutlinesW"
20#else
21Const _FuncName_CopyEnhMetaFile = "CopyEnhMetaFileA"
22Const _FuncName_CopyMetaFile = "CopyMetaFileA"
23Const _FuncName_CreateDC = "CreateDCA"
24Const _FuncName_CreateEnhMetaFile = "CreateEnhMetaFileA"
25Const _FuncName_CreateMetaFile = "CreateMetaFileA"
26Const _FuncName_CreateFont = "CreateFontA"
27Const _FuncName_CreateFontIndirect = "CreateFontIndirectA"
28Const _FuncName_GetEnhMetaFile = "GetEnhMetaFileA"
29Const _FuncName_GetEnhMetaFileDescription = "GetEnhMetaFileDescriptionA"
30Const _FuncName_GetObject = "GetObjectA"
31Const _FuncName_GetTextFace = "GetTextFaceA"
32Const _FuncName_GetTextMetrics = "GetTextMetricsA"
33Const _FuncName_ResetDC = "ResetDCA"
34Const _FuncName_StartDoc = "StartDocA"
35Const _FuncName_wglUseFontBitmaps = "wglUseFontBitmapsA"
36Const _FuncName_wglUseFontOutlines = "wglUseFontOutlinesA"
37#endif
38
39Const CLR_INVALID = &HFFFFFFFF
40Const GDI_ERROR = &HFFFFFFFF
41
42TypeDef BCHAR = TBYTE
43
44' Metafile and EnhancedMetafile
45Type EMR
46 iType As DWord
47 nSize As DWord
48End Type
49
50Type Align(2) METAHEADER
51 mtType As Word
52 mtHeaderSize As Word
53 mtVersion As Word
54 mtSize As DWord
55 mtNoObjects As Word
56 mtMaxRecord As DWord
57 mtNoParameters As Word
58End Type
59TypeDef PMETAHEADER = *METAHEADER
60
61Type ENHMETAHEADER
62 iType As DWord
63 nSize As DWord
64 rclBounds As RECT
65 rclFrame As RECT
66 dSignature As DWord
67 nVersion As DWord
68 nBytes As DWord
69 nRecords As DWord
70 nHandles As Word
71 sReserved As Word
72 nDescription As DWord
73 offDescription As DWord
74 nPalEntries As DWord
75 szlDevice As SIZE
76 szlMillimeters As SIZE
77 cbPixelFormat As DWord
78 offPixelFormat As DWord
79 bOpenGL As DWord
80'#if WINVER >= 0x0500
81 'szlMicrometers As SIZE
82'#endif
83End Type
84TypeDef PENHMETAHEADER = *ENHMETAHEADER
85
86Type HANDLETABLE
87 objectHandle[ELM(1)] As HGDIOBJ
88End Type
89
90Type METARECORD
91 rdSize As DWord
92 rdFunction As Word
93 rdParm[ELM(1)] As Word
94End Type
95
96Type ENHMETARECORD
97 iType As DWord
98 nSize As DWord
99 dParm[ELM(1)] As DWord
100End Type
101
102Type METAFILEPICT
103 mm As Long
104 xExt As Long
105 yExt As Long
106 hMF As HMETAFILE
107End Type
108
109TypeDef ENHMFENUMPROC = *Function(hdc As HDC, ByRef HTable As HANDLETABLE, ByRef EMFR As ENHMETARECORD, nObj As Long, lpData As LPARAM) As Long
110TypeDef MFENUMPROC = *Function(hdc As HDC, ByRef HTable As HANDLETABLE, ByRef MFR As METARECORD, nObj As Long, lpClientData As LPARAM) As Long
111
112
113' RGB Color
114Const RGB(r, g, b) = ((r) As Long) Or (((g) As Long) <<8) Or (((b) As Long) <<16)
115Const PALETTERGB(r, g, b) = (&h02000000 Or RGB(r,g,b))
116Const PALETTEINDEX(i) = ((&h01000000 Or (i) As Word As DWord) As COLORREF)
117
118Const GetRValue(rgb) = (rgb And &hff)
119Const GetGValue(rgb) = ((rgb >> 8) And &hff)
120Const GetBValue(rgb) = ((rgb >> 16) And &hff)
121
122Type RGBQUAD
123 rgbBlue As Byte
124 rgbGreen As Byte
125 rgbRed As Byte
126 rgbReserved As Byte
127End Type
128
129Type Align(1) RGBTRIPLE
130 rgbtBlue As Byte
131 rgbtGreen As Byte
132 rgbtRed As Byte
133End Type
134
135' CMYK Color
136Const GetKValue(cmyk) = ((cmyk) As Byte)
137Const GetYValue(cmyk) = (((cmyk) >> 8) As Byte)
138Const GetMValue(cmyk) = (((cmyk) >> 16) As Byte)
139Const GetCValue(cmyk) = (((cmyk) >> 24) As Byte)
140
141Const CMYK(c, m, y, k) = (( _
142 ((k) As Byte) Or _
143 ((y) As Byte As Word << 8) Or _
144 ((m) As Byte As DWord << 16) Or _
145 ((c) As Byte As DWord << 24)) As COLORREF)
146
147' ICM Color
148TypeDef FXPT16DOT16 = Long
149TypeDef FXPT2DOT30 = Long
150
151TypeDef LCSCSTYPE = Long
152TypeDef LCSGAMUTMATCH = Long
153
154Type LOGCOLORSPACEA
155 lcsSignature As DWord
156 lcsVersion As DWord
157 lcsSize As DWord
158 lcsCSType As LCSCSTYPE
159 lcsIntent As LCSGAMUTMATCH
160 lcsEndpoints As CIEXYZTRIPLE
161 lcsGammaRed As DWord
162 lcsGammaGreen As DWord
163 lcsGammaBlue As DWord
164 lcsFilename[MAX_PATH] As SByte
165End Type
166Type LOGCOLORSPACEW
167 lcsSignature As DWord
168 lcsVersion As DWord
169 lcsSize As DWord
170 lcsCSType As LCSCSTYPE
171 lcsIntent As LCSGAMUTMATCH
172 lcsEndpoints As CIEXYZTRIPLE
173 lcsGammaRed As DWord
174 lcsGammaGreen As DWord
175 lcsGammaBlue As DWord
176 lcsFilename[ELM(MAX_PATH)] As WCHAR
177End Type
178#ifdef UNICODE
179TypeDef LOGCOLORSPACE = LOGCOLORSPACEW
180#else
181TypeDef LOGCOLORSPACE = LOGCOLORSPACEA
182#endif
183
184Type CIEXYZ
185 ciexyzX As FXPT2DOT30
186 ciexyzY As FXPT2DOT30
187 ciexyzZ As FXPT2DOT30
188End Type
189
190Type CIEXYZTRIPLE
191 ciexyzRed As CIEXYZ
192 ciexyzGreen As CIEXYZ
193 ciexyzBlue As CIEXYZ
194End Type
195
196Type LOGPALETTE
197 palVersion As Word
198 palNumEntries As Word
199 palPalEntry[ELM(1)] As PALETTEENTRY
200End Type
201
202' raster operations
203Const SRCCOPY = &H00CC0020
204Const SRCPAINT = &H00EE0086
205Const SRCAND = &H008800C6
206Const SRCINVERT = &H00660046
207Const SRCERASE = &H00440328
208Const NOTSRCCOPY = &H00330008
209Const NOTSRCERASE = &H001100A6
210Const MERGECOPY = &H00C000CA
211Const MERGEPAINT = &H00BB0226
212Const PATCOPY = &H00F00021
213Const PATPAINT = &H00FB0A09
214Const PATINVERT = &H005A0049
215Const DSTINVERT = &H00550009
216Const BLACKNESS = &H00000042
217Const WHITENESS = &H00FF0062
218
219
220' Object types
221Const OBJ_PEN = 1
222Const OBJ_BRUSH = 2
223Const OBJ_DC = 3
224Const OBJ_METADC = 4
225Const OBJ_PAL = 5
226Const OBJ_FONT = 6
227Const OBJ_BITMAP = 7
228Const OBJ_REGION = 8
229Const OBJ_METAFILE = 9
230Const OBJ_MEMDC = 10
231Const OBJ_EXTPEN = 11
232Const OBJ_ENHMETADC = 12
233Const OBJ_ENHMETAFILE = 13
234
235
236' Bitmap Header Definition
237Type BITMAP
238 bmType As Long
239 bmWidth As Long
240 bmHeight As Long
241 bmWidthBytes As Long
242 bmPlanes As Word
243 bmBitsPixel As Word
244 bmBits As VoidPtr
245End Type
246
247Type BITMAPCOREHEADER
248 bcSize As DWord
249 bcWidth As Word
250 bcHeight As Word
251 bcPlanes As Word
252 bcBitCount As Word
253End Type
254
255Type BITMAPCOREINFO
256 bmciHeader As BITMAPCOREHEADER
257 bmciColors[ELM(1)] As RGBTRIPLE
258End Type
259
260' structures for defining DIBs
261Const BI_RGB = 0
262Const BI_RLE8 = 1
263Const BI_RLE4 = 2
264Const BI_BITFIELDS = 3
265Const BI_JPEG = 4
266Const BI_PNG = 5
267
268Type BITMAPINFOHEADER
269 biSize As DWord
270 biWidth As Long
271 biHeight As Long
272 biPlanes As Word
273 biBitCount As Word
274 biCompression As DWord
275 biSizeImage As DWord
276 biXPelsPerMeter As Long
277 biYPelsPerMeter As Long
278 biClrUsed As DWord
279 biClrImportant As DWord
280End Type
281
282Type BITMAPINFO
283 bmiHeader As BITMAPINFOHEADER
284 bmiColors[ELM(1)] As RGBQUAD '以前はbmpColors[255] As RGBQUADだったことに注意
285End Type
286
287
288' Bitmap file header struct
289Type Align(2) BITMAPFILEHEADER
290 bfType As Word
291 bfSize As DWord
292 bfReserved1 As Word
293 bfReserved2 As Word
294 bfOffBits As DWord
295End Type
296
297Type BITMAPV4HEADER
298 bV4Size As DWord
299 bV4Width As Long
300 bV4Height As Long
301 bV4Planes As Word
302 bV4BitCount As Word
303 bV4V4Compression As DWord
304 bV4SizeImage As DWord
305 bV4XPelsPerMeter As Long
306 bV4YPelsPerMeter As Long
307 bV4ClrUsed As DWord
308 bV4ClrImportant As DWord
309 bV4RedMask As DWord
310 bV4GreenMask As DWord
311 bV4BlueMask As DWord
312 bV4AlphaMask As DWord
313 bV4CSType As DWord
314 bV4Endpoints As CIEXYZTRIPLE
315 bV4GammaRed As DWord
316 bV4GammaGreen As DWord
317 bV4GammaBlue As DWord
318End Type
319
320' Region flags
321Const NULLREGION = 1
322Const SIMPLEREGION = 2
323Const COMPLEXREGION = 3
324
325
326' Poly fill mode
327Const ALTERNATE = 1
328Const WINDING = 2
329
330
331' Device mode
332Const DM_ORIENTATION = &H00000001
333Const DM_PAPERSIZE = &H00000002
334Const DM_PAPERLENGTH = &H00000004
335Const DM_PAPERWIDTH = &H00000008
336Const DM_SCALE = &H00000010
337Const DM_POSITION = &H00000020
338Const DM_COPIES = &H00000100
339Const DM_DEFAULTSOURCE = &H00000200
340Const DM_PRINTQUALITY = &H00000400
341Const DM_COLOR = &H00000800
342Const DM_DUPLEX = &H00001000
343Const DM_YRESOLUTION = &H00002000
344Const DM_TTOPTION = &H00004000
345Const DM_COLLATE = &H00008000
346Const DM_FORMNAME = &H00010000
347Const DM_LOGPIXELS = &H00020000
348Const DM_BITSPERPEL = &H00040000
349Const DM_PELSWIDTH = &H00080000
350Const DM_PELSHEIGHT = &H00100000
351Const DM_DISPLAYFLAGS = &H00200000
352Const DM_DISPLAYFREQUENCY = &H00400000
353Const DMORIENT_PORTRAIT = 1
354Const DMORIENT_LANDSCAPE = 2
355Const DMPAPER_LETTER = 1
356Const DMPAPER_LETTERSMALL = 2
357Const DMPAPER_TABLOID = 3
358Const DMPAPER_LEDGER = 4
359Const DMPAPER_LEGAL = 5
360Const DMPAPER_STATEMENT = 6
361Const DMPAPER_EXECUTIVE = 7
362Const DMPAPER_A3 = 8
363Const DMPAPER_A4 = 9
364Const DMPAPER_A4SMALL = 10
365Const DMPAPER_A5 = 11
366Const DMPAPER_B4 = 12
367Const DMPAPER_B5 = 13
368Const DMPAPER_FOLIO = 14
369Const DMPAPER_QUARTO = 15
370Const DMPAPER_10X14 = 16
371Const DMPAPER_11X17 = 17
372Const DMPAPER_NOTE = 18
373Const DMPAPER_ENV_9 = 19
374Const DMPAPER_ENV_10 = 20
375Const DMPAPER_ENV_11 = 21
376Const DMPAPER_ENV_12 = 22
377Const DMPAPER_ENV_14 = 23
378Const DMPAPER_CSHEET = 24
379Const DMPAPER_DSHEET = 25
380Const DMPAPER_ESHEET = 26
381Const DMPAPER_ENV_DL = 27
382Const DMPAPER_ENV_C5 = 28
383Const DMPAPER_ENV_C3 = 29
384Const DMPAPER_ENV_C4 = 30
385Const DMPAPER_ENV_C6 = 31
386Const DMPAPER_ENV_C65 = 32
387Const DMPAPER_ENV_B4 = 33
388Const DMPAPER_ENV_B5 = 34
389Const DMPAPER_ENV_B6 = 35
390Const DMPAPER_ENV_ITALY = 36
391Const DMPAPER_ENV_MONARCH = 37
392Const DMPAPER_ENV_PERSONAL = 38
393Const DMPAPER_FANFOLD_US = 39
394Const DMPAPER_FANFOLD_STD_GERMAN = 40
395Const DMPAPER_FANFOLD_LGL_GERMAN = 41
396Const DMRES_DRAFT = -1
397Const DMRES_LOW = -2
398Const DMRES_MEDIUM = -3
399Const DMRES_HIGH = -4
400Const DMCOLOR_MONOCHROME = 1
401Const DMCOLOR_COLOR = 2
402Const DMDUP_SIMPLEX = 1
403Const DMDUP_VERTICAL = 2
404Const DMDUP_HORIZONTAL = 3
405Const DMTT_BITMAP = 1
406Const DMTT_DOWNLOAD = 2
407Const DMTT_SUBDEV = 3
408Const DMCOLLATE_FALSE = 0
409Const DMCOLLATE_TRUE = 1
410
411Const CCHFORMNAME = 32
412Type DEVMODEW
413 dmDeviceName[ELM(CCHDEVICENAME)] As WCHAR
414 dmSpecVersion As Word
415 dmDriverVersion As Word
416 dmSize As Word
417 dmDriverExtra As Word
418 dmFields As DWord
419 dmOrientation As Integer
420 dmPaperSize As Integer
421 dmPaperLength As Integer
422 dmPaperWidth As Integer
423 dmScale As Integer
424 dmCopies As Integer
425 dmDefaultSource As Integer
426 dmPrintQuality As Integer
427 dmColor As Integer
428 dmDuplex As Integer
429 dmYResolution As Integer
430 dmTTOption As Integer
431 dmCollate As Integer
432 dmFormName[ELM(CCHFORMNAME)] As WCHAR
433 dmLogPixels As Word
434 dmBitsPerPel As DWord
435 dmPelsWidth As DWord
436 dmPelsHeight As DWord
437 dmDisplayFlags As DWord
438 dmDisplayFrequency As DWord
439 dmICMMethod As DWord
440 dmICMIntent As DWord
441 dmMediaType As DWord
442 dmDitherType As DWord
443 dmReserved1 As DWord
444 dmReserved2 As DWord
445 dmPanningWidth As DWord
446 dmPanningHeight As DWord
447End Type
448Type DEVMODEA
449 dmDeviceName[ELM(CCHDEVICENAME)] As SByte
450 dmSpecVersion As Word
451 dmDriverVersion As Word
452 dmSize As Word
453 dmDriverExtra As Word
454 dmFields As DWord
455 dmOrientation As Integer
456 dmPaperSize As Integer
457 dmPaperLength As Integer
458 dmPaperWidth As Integer
459 dmScale As Integer
460 dmCopies As Integer
461 dmDefaultSource As Integer
462 dmPrintQuality As Integer
463 dmColor As Integer
464 dmDuplex As Integer
465 dmYResolution As Integer
466 dmTTOption As Integer
467 dmCollate As Integer
468 dmFormName[ELM(CCHFORMNAME)] As SByte
469 dmLogPixels As Word
470 dmBitsPerPel As DWord
471 dmPelsWidth As DWord
472 dmPelsHeight As DWord
473 dmDisplayFlags As DWord
474 dmDisplayFrequency As DWord
475 dmICMMethod As DWord
476 dmICMIntent As DWord
477 dmMediaType As DWord
478 dmDitherType As DWord
479 dmReserved1 As DWord
480 dmReserved2 As DWord
481 dmPanningWidth As DWord
482 dmPanningHeight As DWord
483End Type
484#ifdef UNICODE
485TypeDef DEVMODE = DEVMODEW
486#else
487TypeDef DEVMODE = DEVMODEA
488#endif
489
490' Binary raster ops
491Const R2_BLACK = 1
492Const R2_NOTMERGEPEN = 2
493Const R2_MASKNOTPEN = 3
494Const R2_NOTCOPYPEN = 4
495Const R2_MASKPENNOT = 5
496Const R2_NOT = 6
497Const R2_XORPEN = 7
498Const R2_NOTMASKPEN = 8
499Const R2_MASKPEN = 9
500Const R2_NOTXORPEN = 10
501Const R2_NOP = 11
502Const R2_MERGENOTPEN = 12
503Const R2_COPYPEN = 13
504Const R2_MERGEPENNOT = 14
505Const R2_MERGEPEN = 15
506Const R2_WHITE = 16
507
508
509Type RGNDATAHEADER
510 dwSize As DWord
511 iType As DWord
512 nCount As DWord
513 nRgnSize As DWord
514 rcBound As RECT
515End Type
516Type RGNDATA
517 rdh As RGNDATAHEADER
518 Buffer As Byte
519End Type
520
521Type PALETTEENTRY
522 peRed As Byte
523 peGreen As Byte
524 peBlue As Byte
525 peFlags As Byte
526End Type
527
528Type DOCINFOW
529 cbSize As Long
530 lpszDocName As LPCWSTR
531 lpszOutput As LPCWSTR
532 lpszDatatype As LPCWSTR
533 fwType As DWord
534End Type
535Type DOCINFOA
536 cbSize As Long
537 lpszDocName As LPCSTR
538 lpszOutput As LPCSTR
539 lpszDatatype As LPCSTR
540 fwType As DWord
541End Type
542#ifdef UNICODE
543TypeDef DOCINFO = DOCINFOW
544#else
545TypeDef DOCINFO = DOCINFOA
546#endif
547
548'-------------------
549' GDI API Functions
550'-------------------
551
552Declare Function AbortPath Lib "gdi32" (hdc As HDC) As BOOL
553Type BLENDFUNCTION
554 BlendOp As Byte
555 BlendFlags As Byte
556 SourceConstantAlpha As Byte
557 AlphaFormat As Byte
558End Type
559Declare Function AlphaBlend Lib "msimg32" (hdcDest As HDC, nXDest As Long, nYDest As Long, nDestWidth As Long, nDestHeight As Long, hdcSrc As HDC, XSrc As Long, YSrc As Long, nSrcWidth As Long, nSrcHeight As Long, ByRef blendfunc As BLENDFUNCTION) As Long
560Declare Function Arc Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long, nXStartArc As Long, nYStartArc As Long, nXEndArc As Long, nYEndArc As Long) As BOOL
561Declare Function BeginPath Lib "gdi32" (hdc As HDC) As BOOL
562Declare Function BitBlt Lib "gdi32" (hdcDest As HDC, nXDest As Long, nYDest As Long, nWidth As Long, nHeight As Long, hdcSrc As HDC, nXSrc As Long, nYSrc As Long, dwRop As DWord) As BOOL
563Declare Function CancelDC Lib "gdi32" (hdc As HDC) As BOOL
564Declare Function Chord Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long, nXRadial1 As Long, nYRadial1 As Long, nXRadial2 As Long, nYRadial2 As Long) As BOOL
565Declare Function CloseEnhMetaFile Lib "gdi32" (hdc As HDC) As HENHMETAFILE
566Declare Function CloseFigure Lib "gdi32" (hdc As HDC) As BOOL
567Declare Function CloseMetaFile Lib "gdi32" (hdc As HDC) As HMETAFILE
568
569Const RGN_AND = 1
570Const RGN_OR = 2
571Const RGN_XOR = 3
572Const RGN_DIFF = 4
573Const RGN_COPY = 5
574Declare Function CombineRgn Lib "gdi32" (hrgnDest As HRGN, hrgnSrc1 As HRGN, hrgnSrc2 As HRGN, fnCombineMode As Long) As Long
575Declare Function CopyEnhMetaFile Lib "gdi32" Alias _FuncName_CopyEnhMetaFile (hemfSrc As HENHMETAFILE, pszFile As PCTSTR) As HENHMETAFILE
576Declare Function CopyMetaFile Lib "gdi32" Alias _FuncName_CopyMetaFile (hmfSrc As HMETAFILE, pszFile As PCTSTR) As HMETAFILE
577Declare Function CreateBitmap Lib "gdi32" (nWidth As Long, nHeight As Long, cPlanes As Long, cBitsPerPel As Long, lpvBits As VoidPtr) As HBITMAP
578Declare Function CreateBitmapIndirect Lib "gdi32" (ByRef bm As BITMAP) As HBITMAP
579
580Const BS_SOLID = 0
581Const BS_NULL = 1
582Const BS_HOLLOW = BS_NULL
583Const BS_HATCHED = 2
584Const BS_PATTERN = 3
585Const BS_INDEXED = 4
586Const BS_DIBPATTERN = 5
587Const BS_DIBPATTERNPT = 6
588Const BS_PATTERN8X8 = 7
589Const BS_DIBPATTERN8X8 = 8
590Const BS_MONOPATTERN = 9
591Const DIB_RGB_COLORS = 0
592Const DIB_PAL_COLORS = 1
593Const HS_HORIZONTAL = 0
594Const HS_VERTICAL = 1
595Const HS_FDIAGONAL = 2
596Const HS_BDIAGONAL = 3
597Const HS_CROSS = 4
598Const HS_DIAGCROSS = 5
599Type LOGBRUSH
600 lbStyle As Long
601 lbColor As Long
602 lbHatch As Long
603End Type
604Declare Function CreateBrushIndirect Lib "gdi32" (ByRef lplb As LOGBRUSH) As HBRUSH
605
606Declare Function CreateCompatibleBitmap Lib "gdi32" (hdc As HDC, nWidth As Long, nHeight As Long) As HBITMAP
607Declare Function CreateCompatibleDC Lib "gdi32" (hdc As HDC) As HDC
608Declare Function CreateDC Lib "gdi32" Alias _FuncName_CreateDC (pszDriver As PCTSTR, pszDevice As PCTSTR, pszOutput As PCTSTR, ByRef InitData As DEVMODE) As HDC
609
610Const CBM_INIT = &H04
611Declare Function CreateDIBitmap Lib "gdi32" (hdc As HDC, ByRef bmih As BITMAPINFOHEADER, fdwInit As Long, lpbInit As VoidPtr, ByRef bmi As BITMAPINFO, fuUsage As Long) As HBITMAP
612
613Declare Function CreateDIBPatternBrushPt Lib "gdi32" (lpPackedDIB As VoidPtr, iUsage As Long) As HBRUSH
614Declare Function CreateDIBSection Lib "gdi32" (hdc As HDC, ByRef BmpInfo As BITMAPINFO, iUsage As DWord, ppvBits As *VoidPtr, hSection As HANDLE, dwOffset As DWord) As HBITMAP
615Declare Function CreateEllipticRgn Lib "gdi32" (nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As HRGN
616Declare Function CreateEllipticRgnIndirect Lib "gdi32" (ByRef lpRect As RECT) As HRGN
617Declare Function CreateEnhMetaFile Lib "gdi32" Alias _FuncName_CreateEnhMetaFile (hdcRef As HDC, pFileName As PCTSTR, ByRef Rect As RECT, pDescription As PCTSTR) As HDC
618Declare Function CreateMetaFile Lib "gdi32" Alias _FuncName_CreateMetaFile (pFileName As PCTSTR) As HDC
619
620Const FW_DONTCARE = 0
621Const FW_THIN = 100
622Const FW_EXTRALIGHT = 200
623Const FW_LIGHT = 300
624Const FW_NORMAL = 400
625Const FW_MEDIUM = 500
626Const FW_SEMIBOLD = 600
627Const FW_BOLD = 700
628Const FW_EXTRABOLD = 800
629Const FW_HEAVY = 900
630Const FW_ULTRALIGHT = FW_EXTRALIGHT
631Const FW_REGULAR = FW_NORMAL
632Const FW_DEMIBOLD = FW_SEMIBOLD
633Const FW_ULTRABOLD = FW_EXTRABOLD
634Const FW_BLACK = FW_HEAVY
635
636Const ANSI_CHARSET = 0
637Const DEFAULT_CHARSET = 1
638Const SYMBOL_CHARSET = 2
639Const SHIFTJIS_CHARSET = 128
640Const HANGEUL_CHARSET = 129
641Const HANGUL_CHARSET = 129
642Const GB2312_CHARSET = 134
643Const CHINESEBIG5_CHARSET = 136
644Const OEM_CHARSET = 255
645Const JOHAB_CHARSET = 130
646Const HEBREW_CHARSET = 177
647Const ARABIC_CHARSET = 178
648Const GREEK_CHARSET = 161
649Const TURKISH_CHARSET = 162
650Const VIETNAMESE_CHARSET = 163
651Const THAI_CHARSET = 222
652Const EASTEUROPE_CHARSET = 238
653Const RUSSIAN_CHARSET = 204
654Const MAC_CHARSET = 77
655Const BALTIC_CHARSET = 186
656
657Const OUT_DEFAULT_PRECIS = 0
658Const OUT_STRING_PRECIS = 1
659Const OUT_CHARACTER_PRECIS = 2
660Const OUT_STROKE_PRECIS = 3
661Const OUT_TT_PRECIS = 4
662Const OUT_DEVICE_PRECIS = 5
663Const OUT_RASTER_PRECIS = 6
664Const OUT_TT_ONLY_PRECIS = 7
665Const OUT_OUTLINE_PRECIS = 8
666Const OUT_SCREEN_OUTLINE_PRECIS = 9
667
668Const CLIP_DEFAULT_PRECIS = 0
669Const CLIP_CHARACTER_PRECIS = 1
670Const CLIP_STROKE_PRECIS = 2
671Const CLIP_MASK = &Hf
672Const CLIP_LH_ANGLES = &H00010000
673Const CLIP_TT_ALWAYS = &H00020000
674Const CLIP_EMBEDDED = &H00080000
675
676Const DEFAULT_QUALITY = 0
677Const DRAFT_QUALITY = 1
678Const PROOF_QUALITY = 2
679Const NONANTIALIASED_QUALITY =3
680Const ANTIALIASED_QUALITY = 4
681
682Const DEFAULT_PITCH = 0
683Const FIXED_PITCH = 1
684Const VARIABLE_PITCH = 2
685
686Const FF_DONTCARE = 0
687Const FF_ROMAN = &H00010000
688Const FF_SWISS = &H00020000
689Const FF_MODERN = &H00030000
690Const FF_SCRIPT = &H00040000
691Const FF_DECORATIVE = &H00050000
692Declare Function CreateFont Lib "gdi32" Alias _FuncName_CreateFont (nHeight As Long, nWidth As Long, nEscapement As Long, nOrientation As Long, fnWeight As Long, fdwItalic As DWord, fdwUnderline As DWord, fdwStrikeOut As DWord, fdwCharSet As DWord, fdwOutputPrecision As DWord, fdwClipPrecision As DWord, fdwQuality As DWord, fdwPitchAndFamily As DWord, lpszFace As PCTSTR) As HFONT
693
694Const LF_FACESIZE = 32
695Type LOGFONTA
696 lfHeight As Long
697 lfWidth As Long
698 lfEscapement As Long
699 lfOrientation As Long
700 lfWeight As Long
701 lfItalic As Byte
702 lfUnderline As Byte
703 lfStrikeOut As Byte
704 lfCharSet As Byte
705 lfOutPrecision As Byte
706 lfClipPrecision As Byte
707 lfQuality As Byte
708 lfPitchAndFamily As Byte
709 lfFaceName[ELM(LF_FACESIZE)] As SByte
710End Type
711Type LOGFONTW
712 lfHeight As Long
713 lfWidth As Long
714 lfEscapement As Long
715 lfOrientation As Long
716 lfWeight As Long
717 lfItalic As Byte
718 lfUnderline As Byte
719 lfStrikeOut As Byte
720 lfCharSet As Byte
721 lfOutPrecision As Byte
722 lfClipPrecision As Byte
723 lfQuality As Byte
724 lfPitchAndFamily As Byte
725 lfFaceName[ELM(LF_FACESIZE)] As WCHAR
726End Type
727#ifdef UNICODE
728TypeDef LOGFONT = LOGFONTW
729#else
730TypeDef LOGFONT = LOGFONTA
731#endif
732Declare Function CreateFontIndirectA Lib "gdi32" (ByRef lf As LOGFONTA) As HFONT
733Declare Function CreateFontIndirect Lib "gdi32" Alias _FuncName_CreateFontIndirect (ByRef lf As LOGFONT) As HFONT
734
735Declare Function CreateHatchBrush Lib "gdi32" (fnStyle As Long, clrref As COLORREF) As HBRUSH
736Declare Function CreatePatternBrush Lib "gdi32" (hbmp As HBITMAP) As HBRUSH
737Declare Function CreatePalette Lib "gdi32" (lplgpl As *LOGPALETTE) As HPALETTE
738
739Const PS_SOLID = 0
740Const PS_DASH = 1
741Const PS_DOT = 2
742Const PS_DASHDOT = 3
743Const PS_DASHDOTDOT = 4
744Const PS_NULL = 5
745Const PS_INSIDEFRAME = 6
746Const PS_USERSTYLE = 7
747Const PS_ALTERNATE = 8
748Declare Function CreatePen Lib "gdi32" (nPenStyle As Long, nWidth As Long, crColor As COLORREF) As HPEN
749
750Type LOGPEN
751 lopnStyle As DWord
752 lopnWidth As POINTAPI
753 lopnColor As COLORREF
754End Type
755Declare Function CreatePenIndirect Lib "gdi32" (ByRef lplgpn As LOGPEN) As HPEN
756
757Declare Function CreatePolygonRgn Lib "gdi32" (ByRef lpPoints As POINTAPI, cPoints As Long, fnPolyFillMode As Long) As HRGN
758Declare Function CreateRectRgn Lib "gdi32" (nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As HRGN
759Declare Function CreateRectRgnIndirect Lib "gdi32" (ByRef lpRect As RECT) As HRGN
760Declare Function CreateRoundRectRgn Lib "gdi32" (nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long, nWidthEllipse As Long, nHeightEllipse As Long) As HRGN
761Declare Function CreateSolidBrush Lib "gdi32" (crColor As COLORREF) As HBRUSH
762Declare Function DeleteDC Lib "gdi32" (hdc As HDC) As BOOL
763Declare Function DeleteEnhMetaFile Lib "gdi32" (hemf As HENHMETAFILE) As BOOL
764Declare Function DeleteMetaFile Lib "gdi32" (hmf As HMETAFILE) As BOOL
765Declare Function DeleteObject Lib "gdi32" (hObject As HANDLE) As BOOL
766Declare Function DPtoLP Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, nCount As Long) As BOOL
767Declare Function Ellipse Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, RightRect As Long, nBottomRect As Long) As BOOL
768Declare Function EndDoc Lib "gdi32" (hdc As HDC) As Long
769Declare Function EndPage Lib "gdi32" (hdc As HDC) As Long
770Declare Function EndPath Lib "gdi32" (hdc As HDC) As BOOL
771Declare Function EnumEnhMetaFile Lib "gdi32" (hdc As HDC, hemf As HENHMETAFILE, pEnhMetaFunc As ENHMFENUMPROC, pData As VoidPtr, ByRef Rect As RECT) As BOOL
772Declare Function EnumMetaFile Lib "gdi32" (hdc As HDC, hmf As HMETAFILE, pMetaFunc As MFENUMPROC, lParam As LPARAM) As BOOL
773Declare Function EqualRgn Lib "gdi32" (hSrcRgn1 As HRGN, hSrcRgn2 As HRGN) As BOOL
774Declare Function ExcludeClipRect Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
775
776Const FLOODFILLBORDER = 0
777Const FLOODFILLSURFACE = 1
778Declare Function ExtFloodFill Lib "gdi32" (hdc As HDC, nXStart As Long, nYStart As Long, crColor As COLORREF, fuFillType As DWord) As BOOL
779
780Const PS_COSMETIC = &H00000000
781Const PS_GEOMETRIC = &H00010000
782Const PS_ENDCAP_ROUND = &H00000000
783Const PS_ENDCAP_SQUARE = &H00000100
784Const PS_ENDCAP_FLAT = &H00000200
785Const PS_JOIN_ROUND = &H00000000
786Const PS_JOIN_BEVEL = &H00001000
787Const PS_JOIN_MITER = &H00002000
788Declare Function ExtCreatePen Lib "gdi32" (dwPenStyle As DWord, dwWidth As DWord, ByRef lplb As LOGBRUSH, dwStyleCount As DWord, lpStyle As *DWord) As HPEN
789
790Declare Function ExtSelectClipRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN, fnMode As Long) As Long
791Const ETO_OPAQUE = &h0002
792Const ETO_CLIPPED = &h0004
793'#if WINVER >= &h0400
794Const ETO_GLYPH_INDEX = &h0010
795Const ETO_RTLREADING = &h0080
796Const ETO_NUMERICSLOCAL = &h0400
797Const ETO_NUMERICSLATIN = &h0800
798Const ETO_IGNORELANGUAGE = &h1000
799'#endif
800'#if _WIN32_WINNT >= &h0500
801'Const ETO_PDY = &h2000
802'#endif
803'#if _WIN32_WINNT >= &h0600
804'Const ETO_REVERSE_INDEX_MAP = &h10000
805'#endif
806Declare Function ExtTextOutA Lib "gdi32" (hdc As HDC, x As Long, y As Long, fuOptions As DWord, ByRef rc As RECT, lpString As PCSTR, cbCount As Long, pDx As *Long) As Long
807Declare Function ExtTextOutW Lib "gdi32" (hdc As HDC, x As Long, y As Long, fuOptions As DWord, ByRef rc As RECT, lpString As PCWSTR, cbCount As Long, pDx As *Long) As Long
808#ifdef UNICODE
809Declare Function ExtTextOut Lib "gdi32" Alias "ExtTextOutW" (hdc As HDC, x As Long, y As Long, fuOptions As DWord, ByRef rc As RECT, pString As PCWSTR, cbCount As Long, pDx As *Long) As Long
810#else
811Declare Function ExtTextOut Lib "gdi32" Alias "ExtTextOutA" (hdc As HDC, x As Long, y As Long, fuOptions As DWord, ByRef rc As RECT, pString As PCSTR, cbCount As Long, pDx As *Long) As Long
812#endif
813Declare Function FillPath Lib "gdi32" (hdc As HDC) As Long
814Declare Function FillRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN, hBrush As HBRUSH) As Long
815Declare Function FrameRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN, hBrush As HBRUSH, nWidth As Long, nHeight As Long) As Long
816Declare Function GdiComment Lib "gdi32" (hdc As HDC, cbSize As DWord, lpData As *Byte) As BOOL
817Declare Function GdiFlush Lib "gdi32" () As BOOL
818Declare Function GetBitmapBits Lib "gdi32" (hbmp As HBITMAP, cbBuffer As Long, lpvBits As VoidPtr) As Long
819Declare Function GetBkColor Lib "gdi32" (hdc As HDC) As DWord
820Declare Function GetBkMode Lib "gdi32" (hdc As HDC) As Long
821Declare Function GetBrushOrgEx Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI) As Long
822' only WinNT
823'Declare Function GetCharWidth32 Lib "gdi32" Alias "GetCharWidth32A" (hdc As HDC, iFirstChar As DWord, iLastChar As DWord, pBuffer As *DWord) As Long
824Declare Function GetClipBox Lib "gdi32" (hdc As HDC, ByRef lpRect As RECT) As Long
825Declare Function GetClipRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
826Declare Function GetCurrentObject Lib "gdi32" (hdc As HDC, dwObjectType As DWord) As HANDLE
827Declare Function GetCurrentPositionEx Lib "gdi32" (hdc As HDC, ByRef Point As POINTAPI) As Long
828
829Const DRIVERVERSION = 0
830Const TECHNOLOGY = 2
831Const HORZSIZE = 4
832Const VERTSIZE = 6
833Const HORZRES = 8
834Const VERTRES = 10
835Const BITSPIXEL = 12
836Const PLANES = 14
837Const NUMBRUSHES = 16
838Const NUMPENS = 18
839Const NUMMARKERS = 20
840Const NUMFONTS = 22
841Const NUMCOLORS = 24
842Const PDEVICESIZE = 26
843Const CURVECAPS = 28
844Const LINECAPS = 30
845Const POLYGONALCAPS = 32
846Const TEXTCAPS = 34
847Const CLIPCAPS = 36
848Const RASTERCAPS = 38
849Const ASPECTX = 40
850Const ASPECTY = 42
851Const ASPECTXY = 44
852Const SHADEBLENDCAPS = 45
853Const LOGPIXELSX = 88
854Const LOGPIXELSY = 90
855Const SIZEPALETTE = 104
856Const NUMRESERVED = 106
857Const COLORRES = 108
858Const PHYSICALWIDTH = 110
859Const PHYSICALHEIGHT = 111
860Const PHYSICALOFFSETX = 112
861Const PHYSICALOFFSETY = 113
862Const SCALINGFACTORX = 114
863Const SCALINGFACTORY = 115
864Const VREFRESH = 116
865Const DESKTOPVERTRES = 117
866Const DESKTOPHORZRES = 118
867Const BLTALIGNMENT = 119
868Const DT_PLOTTER = 0 ' Device Technologies
869Const DT_RASDISPLAY = 1
870Const DT_RASPRINTER = 2
871Const DT_RASCAMERA = 3
872Const DT_CHARSTREAM = 4
873Const DT_METAFILE = 5
874Const DT_DISPFILE = 6
875Const CC_NONE = 0 ' Curve Capabilities
876Const CC_CIRCLES = 1
877Const CC_PIE = 2
878Const CC_CHORD = 4
879Const CC_ELLIPSES = 8
880Const CC_WIDE = 16
881Const CC_STYLED = 32
882Const CC_WIDESTYLED = 64
883Const CC_INTERIORS = 128
884Const CC_ROUNDRECT = 256
885Const LC_NONE = 0 ' Line Capabilities
886Const LC_POLYLINE = 2
887Const LC_MARKER = 4
888Const LC_POLYMARKER = 8
889Const LC_WIDE = 16
890Const LC_STYLED = 32
891Const LC_WIDESTYLED = 64
892Const LC_INTERIORS = 128
893Const PC_NONE = 0 ' Polygonal Capabilities
894Const PC_POLYGON = 1
895Const PC_RECTANGLE = 2
896Const PC_WINDPOLYGON = 4
897Const PC_TRAPEZOID = 4
898Const PC_SCANLINE = 8
899Const PC_WIDE = 16
900Const PC_STYLED = 32
901Const PC_WIDESTYLED = 64
902Const PC_INTERIORS = 128
903Const PC_POLYPOLYGON = 256
904Const PC_PATHS = 512
905Const CP_NONE = 0 ' Clipping Capabilities
906Const CP_RECTANGLE = 1
907Const CP_REGION = 2
908Const TC_OP_CHARACTER = &H00000001 ' Text Capabilities
909Const TC_OP_STROKE = &H00000002
910Const TC_CP_STROKE = &H00000004
911Const TC_CR_90 = &H00000008
912Const TC_CR_ANY = &H00000010
913Const TC_SF_X_YINDEP = &H00000020
914Const TC_SA_DOUBLE = &H00000040
915Const TC_SA_INTEGER = &H00000080
916Const TC_SA_CONTIN = &H00000100
917Const TC_EA_DOUBLE = &H00000200
918Const TC_IA_ABLE = &H00000400
919Const TC_UA_ABLE = &H00000800
920Const TC_SO_ABLE = &H00001000
921Const TC_RA_ABLE = &H00002000
922Const TC_VA_ABLE = &H00004000
923Const TC_RESERVED = &H00008000
924Const TC_SCROLLBLT = &H00010000
925Const RC_BITBLT = 1 ' Raster Capabilities
926Const RC_BANDING = 2
927Const RC_SCALING = 4
928Const RC_BITMAP64 = 8
929Const RC_GDI20_OUTPUT = &H0010
930Const RC_GDI20_STATE = &H0020
931Const RC_SAVEBITMAP = &H0040
932Const RC_DI_BITMAP = &H0080
933Const RC_PALETTE = &H0100
934Const RC_DIBTODEV = &H0200
935Const RC_BIGFONT = &H0400
936Const RC_STRETCHBLT = &H0800
937Const RC_FLOODFILL = &H1000
938Const RC_STRETCHDIB = &H2000
939Const RC_OP_DX_OUTPUT = &H4000
940Const RC_DEVBITS = &H8000
941Const SB_NONE = &H00000000 ' Shading and blending caps
942Const SB_CONST_ALPHA = &H00000001
943Const SB_PIXEL_ALPHA = &H00000002
944Const SB_PREMULT_ALPHA = &H00000004
945Const SB_GRAD_RECT = &H00000010
946Declare Function GetDeviceCaps Lib "gdi32" (hdc As HDC, nIndex As Long) As Long
947
948Declare Function GetDIBits Lib "gdi32" (hdc As HDC, hbmp As HBITMAP, uStartScan As DWord, cScanLines As DWord, lpvBits As VoidPtr, ByRef lpbi As BITMAPINFO, uUsage As DWord) As Long
949Declare Function GetEnhMetaFile Lib "gdi32" Alias _FuncName_GetEnhMetaFile (pszMetaFile As PCTSTR) As HENHMETAFILE
950Declare Function GetEnhMetaFileBits Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, pbBuffer As *Byte) As DWord
951Declare Function GetEnhMetaFileDescription Lib "gdi32" Alias _FuncName_GetEnhMetaFileDescription (hemf As HENHMETAFILE, cbBuffer As DWord, pszDescription As PTSTR) As DWord
952Declare Function GetEnhMetaFileHeader Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, ByRef emh As ENHMETAHEADER) As DWord
953Declare Function GetEnhMetaFilePaletteEntries Lib "gdi32" (hemf As HENHMETAFILE, cEntries As DWord, ByRef pe As PALETTEENTRY) As DWord
954
955Const MM_TEXT = 1
956Const MM_LOMETRIC = 2
957Const MM_HIMETRIC = 3
958Const MM_LOENGLISH = 4
959Const MM_HIENGLISH = 5
960Const MM_TWIPS = 6
961Const MM_ISOTROPIC = 7
962Const MM_ANISOTROPIC = 8
963Declare Function GetMapMode Lib "gdi32" (hdc As HDC) As Long
964Declare Function GetMetaFileBitsEx Lib "gdi32" (hmf As HMETAFILE, nSize As DWord, pvData As VoidPtr) As DWord
965Declare Function GetMiterLimit Lib "gdi32" (hdc As HDC, peLimit As SinglePtr) As Long
966Declare Function GetObjectA Lib "gdi32" (hgdiobj As HANDLE, cbBuffer As Long, ByRef pvObject As Any) As Long
967Declare Function GetObjectW Lib "gdi32" (hgdiobj As HANDLE, cbBuffer As Long, ByRef pvObject As Any) As Long
968Declare Function GetObject Lib "gdi32" Alias _FuncName_GetObject (hgdiobj As HANDLE, cbBuffer As Long, ByRef pvObject As Any) As Long
969Declare Function GetObjectType Lib "gdi32" (hObject As HANDLE) As Long
970
971Const PT_CLOSEFIGURE = &H01
972Const PT_LINETO = &H02
973Const PT_BEZIERTO = &H04
974Const PT_MOVETO = &H06
975Declare Function GetPath Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, lpTypes As BytePtr, nSize As Long) As Long
976
977Declare Function GetPixel Lib "gdi32" (hdc As HDC, x As Long, y As Long) As DWord
978Declare Function GetPolyFillMode Lib "gdi32" (hdc As HDC) As Long
979Declare Function GetRgnBox Lib "gdi32" (hRgn As HRGN, ByRef lpRect As RECT) As Long
980Declare Function GetROP2 Lib "gdi32" (hdc As HDC) As Long
981
982Const WHITE_BRUSH = 0
983Const LTGRAY_BRUSH = 1
984Const GRAY_BRUSH = 2
985Const DKGRAY_BRUSH = 3
986Const BLACK_BRUSH = 4
987Const NULL_BRUSH = 5
988Const HOLLOW_BRUSH = NULL_BRUSH
989Const WHITE_PEN = 6
990Const BLACK_PEN = 7
991Const NULL_PEN = 8
992Const OEM_FIXED_FONT = 10
993Const ANSI_FIXED_FONT = 11
994Const ANSI_VAR_FONT = 12
995Const SYSTEM_FONT = 13
996Const DEVICE_DEFAULT_FONT = 14
997Const DEFAULT_PALETTE = 15
998Const SYSTEM_FIXED_FONT = 16
999'#if WINVER >= &h0400
1000Const DEFAULT_GUI_FONT = 17
1001'#endif
1002
1003Declare Function GetStockObject Lib "gdi32" (fnObject As Long) As HANDLE
1004
1005Declare Function GetStretchBltMode Lib "gdi32" (hdc As HDC) As Long
1006
1007Const TA_NOUPDATECP = 0
1008Const TA_UPDATECP = 1
1009Const TA_LEFT = 0
1010Const TA_RIGHT = 2
1011Const TA_CENTER = 6
1012Const TA_TOP = 0
1013Const TA_BOTTOM = 8
1014Const TA_BASELINE = 24
1015Const TA_RTLREADING = 256
1016Declare Function GetTextAlign Lib "gdi32" (hdc As HDC) As DWord
1017
1018Declare Function GetTextColor Lib "gdi32" (hdc As HDC) As DWord
1019Declare Function GetTextExtentPoint32A Lib "gdi32" (hdc As HDC, pString As PCSTR, cbString As Long, ByRef Size As SIZE) As Long
1020Declare Function GetTextExtentPoint32W Lib "gdi32" (hdc As HDC, pString As PCWSTR, cbString As Long, ByRef Size As SIZE) As Long
1021#ifdef UNICODE
1022Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32W" (hdc As HDC, pString As PCWSTR, cbString As Long, ByRef Size As SIZE) As Long
1023#else
1024Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (hdc As HDC, pString As PCSTR, cbString As Long, ByRef Size As SIZE) As Long
1025#endif
1026Declare Function GetTextFace Lib "gdi32" Alias _FuncName_GetTextFace (hdc As HDC, nCount As Long, lpFacename As LPTSTR)As Long
1027
1028Const TMPF_FIXED_PITCH = &H01
1029Const TMPF_VECTOR = &H02
1030Const TMPF_DEVICE = &H08
1031Const TMPF_TRUETYPE = &H04
1032Type TEXTMETRICW
1033 tmHeight As Long
1034 tmAscent As Long
1035 tmDescent As Long
1036 tmInternalLeading As Long
1037 tmExternalLeading As Long
1038 tmAveCharWidth As Long
1039 tmMaxCharWidth As Long
1040 tmWeight As Long
1041 tmOverhang As Long
1042 tmDigitizedAspectX As Long
1043 tmDigitizedAspectY As Long
1044 tmFirstChar As WCHAR
1045 tmLastChar As WCHAR
1046 tmDefaultChar As WCHAR
1047 tmBreakChar As WCHAR
1048 tmItalic As Byte
1049 tmUnderlined As Byte
1050 tmStruckOut As Byte
1051 tmPitchAndFamily As Byte
1052 tmCharSet As Byte
1053End Type
1054Type TEXTMETRICA
1055 tmHeight As Long
1056 tmAscent As Long
1057 tmDescent As Long
1058 tmInternalLeading As Long
1059 tmExternalLeading As Long
1060 tmAveCharWidth As Long
1061 tmMaxCharWidth As Long
1062 tmWeight As Long
1063 tmOverhang As Long
1064 tmDigitizedAspectX As Long
1065 tmDigitizedAspectY As Long
1066 tmFirstChar As SByte
1067 tmLastChar As SByte
1068 tmDefaultChar As SByte
1069 tmBreakChar As SByte
1070 tmItalic As Byte
1071 tmUnderlined As Byte
1072 tmStruckOut As Byte
1073 tmPitchAndFamily As Byte
1074 tmCharSet As Byte
1075End Type
1076#ifdef UNICODE
1077TypeDef TEXTMETRIC = TEXTMETRICW
1078#else
1079TypeDef TEXTMETRIC = TEXTMETRICA
1080#endif
1081Declare Function GetTextMetrics Lib "gdi32" Alias _FuncName_GetTextMetrics (hdc As HDC, ByRef tm As TEXTMETRIC) As Long
1082
1083Declare Function GetViewportExtEx Lib "gdi32" (hdc As HDC, ByRef lpSize As SIZE) As Long
1084Declare Function GetViewportOrgEx Lib "gdi32" (hdc As HDC, ByRef lpPoint As POINTAPI) As Long
1085Declare Function GetWindowExtEx Lib "gdi32" (hdc As HDC, ByRef lpSize As SIZE) As Long
1086Declare Function GetWindowOrgEx Lib "gdi32" (hdc As HDC, ByRef lpPoint As POINTAPI) As Long
1087Declare Function GetWinMetaFileBits Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, pbBuffer As *Byte, fnMapMode As Long, hdcRef As HDC) As DWord
1088Declare Function IntersectClipRect Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1089Declare Function InvertRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1090Declare Function LineTo Lib "gdi32" (hdc As HDC, nXEnd As Long, nYEnd As Long) As Long
1091Declare Function LPtoDP Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, nCount As Long) As Long
1092Declare Function MoveToEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1093Declare Function OffsetRgn Lib "gdi32" (hRgn As HRGN, nXOffset As Long, nYOffset As Long) As Long
1094Declare Function OffsetClipRgn Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long) As Long
1095Declare Function OffsetViewportOrgEx Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long, ByRef lpPoint As POINTAPI) As Long
1096Declare Function OffsetWindowOrgEx Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long, ByRef lpPoint As POINTAPI) As Long
1097Declare Function PaintRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1098Declare Function PatBlt Lib "gdi32" (hdc As HDC, nXLeft As Long, nYLeft As Long, nWidth As Long, nHeight As Long, dwRop As DWord) As Long
1099Declare Function PathToRegion Lib "gdi32" (hdc As HDC) As HRGN
1100Declare Function Pie Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long, nXRadial1 As Long, nYRadial1 As Long, nXRadial2 As Long, nYRadial2 As Long) As Long
1101Declare Function PlayEnhMetaFile Lib "gdi32" (hdc As HDC, hemf As HENHMETAFILE, ByRef Rect As RECT) As Long
1102Declare Function PlayEnhMetaFileRecord Lib "gdi32" (hdc As HDC, ByRef Handletable As HANDLETABLE, ByRef EnhMetaRecord As ENHMETARECORD, nHandles As DWord) As BOOL
1103Declare Function PlayMetaFile Lib "gdi32" (hdc As HDC, hmf As HMETAFILE) As BOOL
1104Declare Function PlayMetaFileRecord Lib "gdi32" (hdc As HDC, ByRef Handletable As HANDLETABLE, ByRef MetaRecord As METARECORD, nHandles As DWord) As BOOL
1105Declare Function PlgBlt Lib "gdi32" (hdcDest As HDC, ByRef lpPoint As POINTAPI, hdcSrc As HDC, nXSrc As Long, nYSrc As Long, nWidth As Long, nHeight As Long, hbmMask As HBITMAP, xMask As Long, yMask As Long) As Long
1106Declare Function PolyBezier Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1107Declare Function PolyBezierTo Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1108Declare Function Polygon Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, cPoints As Long) As Long
1109Declare Function Polyline Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1110Declare Function PolylineTo Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1111Declare Function PtInRegion Lib "gdi32" (hRgn As HRGN, x As Long, y As Long) As Long
1112Declare Function PtVisible Lib "gdi32" (hdc As HDC, x As Long, y As Long) As Long
1113Declare Function RealizePalette Lib "gdi32" (hdc As HDC) As Long
1114Declare Function Rectangle Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1115Declare Function RectInRegion Lib "gdi32" (hRgn As HRGN, ByRef lpRect As RECT) As Long
1116Declare Function RectVisible Lib "gdi32" (hdc As HDC, ByRef lpRect As RECT) As Long
1117Declare Function ResetDC Lib "gdi32" Alias _FuncName_ResetDC (hdc As HDC, ByRef InitData As DEVMODE) As HDC
1118Declare Function RestoreDC Lib "gdi32" (hdc As HDC, nSavedDC As Long) As Long
1119Declare Function RoundRect Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long, nWidth As Long, nHeight As Long) As Long
1120Declare Function SaveDC Lib "gdi32" (hdc As HDC) As Long
1121Declare Function ScaleViewportExtEx Lib "gdi32" (hdc As HDC, Xnum As Long, Xdenom As Long, Ynum As Long, Ydenom As Long, ByRef lpSize As SIZE) As Long
1122Declare Function ScaleWindowExtEx Lib "gdi32" (hdc As HDC, Xnum As Long, Xdenom As Long, Ynum As Long, Ydenom As Long, ByRef lpSize As SIZE) As Long
1123Declare Function SelectClipPath Lib "gdi32" (hdc As HDC, iMode As Long) As Long
1124Declare Function SelectClipRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1125Declare Function SelectObject Lib "gdi32" (hdc As HDC, hObject As HANDLE) As HANDLE
1126Declare Function SelectPalette Lib "gdi32" (hdc As HDC, hpal As HPALETTE, bForceBackground As BOOL) As HPALETTE
1127Declare Function SetBkColor Lib "gdi32" (hdc As HDC, crColor As DWord) As DWord
1128
1129Const TRANSPARENT = 1
1130Const OPAQUE = 2
1131Declare Function SetBkMode Lib "gdi32" (hdc As HDC, iBkMode As Long) As Long
1132
1133Declare Function SetBrushOrgEx Lib "gdi32" (hdc As HDC, nXOrg As Long, nYOrg As Long, ByRef lppt As POINTAPI) As Long
1134Declare Function SetDIBits Lib "gdi32" (hdc As HDC, hbmp As HBITMAP, uStartScan As DWord, cScanLines As DWord, lpvBits As VoidPtr, ByRef lpbmi As BITMAPINFO, fuColorUse As DWord) As Long
1135Declare Function SetEnhMetaFileBits Lib "gdi32" (cbBuffer As DWord, pData As *Byte) As HENHMETAFILE
1136Declare Function SetMapMode Lib "gdi32" (hdc As HDC, fnMapMode As Long) As Long
1137Declare Function SetMetaFileBitsEx Lib "gdi32" (nSize As DWord, pData As *Byte) As HMETAFILE
1138Declare Function SetMiterLimit Lib "gdi32" (hdc As HDC, eNewLimit As Single, peOldLimit As SinglePtr) As Long
1139Declare Function SetPixel Lib "gdi32" (hdc As HDC, x As Long, y As Long, crColor As DWord) As DWord
1140Declare Function SetPolyFillMode Lib "gdi32" (hdc As HDC, iPolyFillMode As Long) As Long
1141Declare Function SetRectRgn Lib "gdi32" (hRgn As HRGN, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1142Declare Function SetROP2 Lib "gdi32" (hdc As HDC, fnDrawMode As Long) As Long
1143
1144Const BLACKONWHITE = 1
1145Const WHITEONBLACK = 2
1146Const COLORONCOLOR = 3
1147Const HALFTONE = 4
1148Const STRETCH_ANDSCANS = BLACKONWHITE
1149Const STRETCH_ORSCANS = WHITEONBLACK
1150Const STRETCH_DELETESCANS = COLORONCOLOR
1151Const STRETCH_HALFTONE = HALFTONE
1152Declare Function SetStretchBltMode Lib "gdi32" (hdc As HDC, iStretchMode As Long) As Long
1153
1154Declare Function SetTextAlign Lib "gdi32" (hdc As HDC, fMode As DWord) As DWord
1155Declare Function SetTextColor Lib "gdi32" (hdc As HDC, crColor As DWord) As DWord
1156Declare Function SetViewportExtEx Lib "gdi32" (hdc As HDC, nXExtent As Long, nYExtent As Long, ByRef lpSize As SIZE) As Long
1157Declare Function SetViewportOrgEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1158Declare Function SetWindowExtEx Lib "gdi32" (hdc As HDC, nXExtent As Long, nYExtent As Long, ByRef lpSize As SIZE) As Long
1159Declare Function SetWindowOrgEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1160Declare Function SetWinMetaFileBits Lib "gdi32" (cbBuffer As DWord, pbBuffer As *Byte, hdcRef As HDC, ByRef mfp As METAFILEPICT) As HENHMETAFILE
1161Declare Function StartDoc Lib "gdi32" Alias _FuncName_StartDoc (hdc As HDC, ByRef di As DOCINFO) As Long
1162Declare Function StartPage Lib "gdi32" (hdc As HDC) As Long
1163Declare Function StretchBlt Lib "gdi32" (hdcDest As HDC, nXOriginDest As Long, nYOriginDest As Long, nWidthDest As Long, nHeightDest As Long, hdcSrc As HDC, nXOriginSrc As Long, nYOriginSrc As Long, nWidthSrc As Long, nHeightSrc As Long, dwRop As DWord) As Long
1164Declare Function StretchDIBits Lib "gdi32" (hdc As HDC, XDest As Long, YDest As Long, nDestWidth As Long, nDestHeight As Long, XSrc As Long, YSrc As Long, nSrcWidth As Long, nSrcHeight As Long, lpBits As VoidPtr, ByRef lpBitsInfo As BITMAPINFO, iUsage As Long, dwRop As DWord) As Long
1165Declare Function StrokeAndFillPath Lib "gdi32" (hdc As HDC) As Long
1166Declare Function StrokePath Lib "gdi32" (DC As DWord) As Long
1167Declare Function TextOutA Lib "gdi32" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCSTR, cbString As Long) As Long
1168Declare Function TextOutW Lib "gdi32" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCWSTR, cbString As Long) As Long
1169#ifdef UNICODE
1170Declare Function TextOut Lib "gdi32" Alias "TextOutW" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCWSTR, cbString As Long) As Long
1171#else
1172Declare Function TextOut Lib "gdi32" Alias "TextOutA" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCSTR, cbString As Long) As Long
1173#endif
1174Declare Function TransparentBlt Lib "msimg32" (hdcDest As HDC, nXDest As Long, nYDest As Long, nDestWidth As Long, nDestHeight As Long, hdcSrc As HDC, XSrc As Long, YSrc As Long, nSrcWidth As Long, nSrcHeight As Long, dwRop As DWord) As Long
1175
1176/* Pixel Format */
1177Type PIXELFORMATDESCRIPTOR
1178 nSize As Word
1179 nVersion As Word
1180 dwFlags As DWord
1181 iPixelType As Byte
1182 cColorBits As Byte
1183 cRedBits As Byte
1184 cRedShift As Byte
1185 cGreenBits As Byte
1186 cGreenShift As Byte
1187 cBlueBits As Byte
1188 cBlueShift As Byte
1189 cAlphaBits As Byte
1190 cAlphaShift As Byte
1191 cAccumBits As Byte
1192 cAccumRedBits As Byte
1193 cAccumGreenBits As Byte
1194 cAccumBlueBits As Byte
1195 cAccumAlphaBits As Byte
1196 cDepthBits As Byte
1197 cStencilBits As Byte
1198 cAuxBuffers As Byte
1199 iLayerType As Byte
1200 bReserved As Byte
1201 dwLayerMask As DWord
1202 dwVisibleMask As DWord
1203 dwDamageMask As DWord
1204End Type
1205TypeDef PPIXELFORMATDESCRIPTOR = *PIXELFORMATDESCRIPTOR
1206TypeDef LPPIXELFORMATDESCRIPTOR = *PIXELFORMATDESCRIPTOR
1207
1208Const PFD_TYPE_RGBA = 0
1209Const PFD_TYPE_COLORINDEX = 1
1210
1211Const PFD_MAIN_PLANE = 0
1212Const PFD_OVERLAY_PLANE = 1
1213Const PFD_UNDERLAY_PLANE = (-1)
1214
1215Const PFD_DOUBLEBUFFER = &H00000001
1216Const PFD_STEREO = &H00000002
1217Const PFD_DRAW_TO_WINDOW = &H00000004
1218Const PFD_DRAW_TO_BITMAP = &H00000008
1219Const PFD_SUPPORT_GDI = &H00000010
1220Const PFD_SUPPORT_OPENGL = &H00000020
1221Const PFD_GENERIC_FORMAT = &H00000040
1222Const PFD_NEED_PALETTE = &H00000080
1223Const PFD_NEED_SYSTEM_PALETTE = &H00000100
1224Const PFD_SWAP_EXCHANGE = &H00000200
1225Const PFD_SWAP_COPY = &H00000400
1226Const PFD_SWAP_LAYER_BUFFERS = &H00000800
1227Const PFD_GENERIC_ACCELERATED = &H00001000
1228Const PFD_SUPPORT_DIRECTDRAW = &H00002000
1229
1230Const PFD_DEPTH_DONTCARE = &H20000000
1231Const PFD_DOUBLEBUFFER_DONTCARE = &H40000000
1232Const PFD_STEREO_DONTCARE = &H80000000
1233
1234Declare Function ChoosePixelFormat Lib "gdi32" (hdc As HDC, ByRef lppfd As PIXELFORMATDESCRIPTOR) As Long
1235Declare Function DescribePixelFormat Lib "gdi32" (hdc As HDC, n As Long, u As DWord, ByRef lppfd As PIXELFORMATDESCRIPTOR) As Long
1236Declare Function GetPixelFormat Lib "gdi32" (hdc As HDC) As Long
1237Declare Function SetPixelFormat Lib "gdi32" (hdc As HDC, i As Long, ByRef lppfd As PIXELFORMATDESCRIPTOR) As BOOL
1238
1239
1240/* OpenGL Support */
1241
1242Declare Function wglCopyContext Lib "opengl32" (hglrcSource As HGLRC, hglrcDest As HGLRC, mask As DWord) As BOOL
1243Declare Function wglCreateContext Lib "opengl32" (hdc As HDC) As HGLRC
1244Declare Function wglCreateLayerContext Lib "opengl32" (hdc As HDC, iLayerPlane As Long) As HGLRC
1245Declare Function wglDeleteContext Lib "opengl32" (hglrc As HGLRC) As BOOL
1246Declare Function wglGetCurrentContext Lib "opengl32" () As HGLRC
1247Declare Function wglGetCurrentDC Lib "opengl32" () As HDC
1248Declare Function wglGetProcAddress Lib "opengl32" (lpstr As LPSTR) As PROC
1249Declare Function wglMakeCurrent Lib "opengl32" (hdc As HDC, hglrc As HGLRC) As BOOL
1250Declare Function wglShareLists Lib "opengl32" (hglrc1 As HGLRC, hglrc2 As HGLRC) As BOOL
1251Declare Function wglUseFontBitmaps Lib "opengl32" Alias _FuncName_wglUseFontBitmaps (hdc As HDC, first As DWord, count As DWord, listbase As DWord) As BOOL
1252Declare Function SwapBuffers Lib "gdi32" (hdc As HDC) As BOOL
1253
1254Type POINTFLOAT
1255 x As Single
1256 y As Single
1257End Type
1258TypeDef PPOINTFLOAT = *POINTFLOAT
1259
1260Type GLYPHMETRICSFLOAT
1261 gmfBlackBoxX As Single
1262 gmfBlackBoxY As Single
1263 gmfptGlyphOrigin As POINTFLOAT
1264 gmfCellIncX As Single
1265 gmfCellIncY As Single
1266End Type
1267TypeDef PGLYPHMETRICSFLOAT = *GLYPHMETRICSFLOAT
1268TypeDef LPGLYPHMETRICSFLOAT = *GLYPHMETRICSFLOAT
1269
1270Const WGL_FONT_LINES = 0
1271Const WGL_FONT_POLYGONS = 1
1272
1273Declare Function wglUseFontOutlines Lib "opengl32" Alias _FuncName_wglUseFontOutlines (hdc As HDC, first As DWord, count As DWord, listbase As DWord, deviation As Single, extrusion As Single, format As Long, ByRef lpgmf As GLYPHMETRICSFLOAT) As BOOL
1274
1275Type LAYERPLANEDESCRIPTOR
1276 nSize As Word
1277 nVersion As Word
1278 dwFlags As DWord
1279 iPixelType As Byte
1280 cColorBits As Byte
1281 cRedBits As Byte
1282 cRedShift As Byte
1283 cGreenBits As Byte
1284 cGreenShift As Byte
1285 cBlueBits As Byte
1286 cBlueShift As Byte
1287 cAlphaBits As Byte
1288 cAlphaShift As Byte
1289 cAccumBits As Byte
1290 cAccumRedBits As Byte
1291 cAccumGreenBits As Byte
1292 cAccumBlueBits As Byte
1293 cAccumAlphaBits As Byte
1294 cDepthBits As Byte
1295 cStencilBits As Byte
1296 cAuxBuffers As Byte
1297 iLayerPlane As Byte
1298 bReserved As Byte
1299 crTransparent As COLORREF
1300End Type
1301TypeDef PLAYERPLANEDESCRIPTOR = *LAYERPLANEDESCRIPTOR
1302TypeDef LPLAYERPLANEDESCRIPTOR = *LAYERPLANEDESCRIPTOR
1303
1304Const LPD_DOUBLEBUFFER = &H00000001
1305Const LPD_STEREO = &H00000002
1306Const LPD_SUPPORT_GDI = &H00000010
1307Const LPD_SUPPORT_OPENGL = &H00000020
1308Const LPD_SHARE_DEPTH = &H00000040
1309Const LPD_SHARE_STENCIL = &H00000080
1310Const LPD_SHARE_ACCUM = &H00000100
1311Const LPD_SWAP_EXCHANGE = &H00000200
1312Const LPD_SWAP_COPY = &H00000400
1313Const LPD_TRANSPARENT = &H00001000
1314Const LPD_TYPE_RGBA = 0
1315Const LPD_TYPE_COLORINDEX = 1
1316
1317Const WGL_SWAP_MAIN_PLANE = &H00000001
1318Const WGL_SWAP_OVERLAY1 = &H00000002
1319Const WGL_SWAP_OVERLAY2 = &H00000004
1320Const WGL_SWAP_OVERLAY3 = &H00000008
1321Const WGL_SWAP_OVERLAY4 = &H00000010
1322Const WGL_SWAP_OVERLAY5 = &H00000020
1323Const WGL_SWAP_OVERLAY6 = &H00000040
1324Const WGL_SWAP_OVERLAY7 = &H00000080
1325Const WGL_SWAP_OVERLAY8 = &H00000100
1326Const WGL_SWAP_OVERLAY9 = &H00000200
1327Const WGL_SWAP_OVERLAY10 = &H00000400
1328Const WGL_SWAP_OVERLAY11 = &H00000800
1329Const WGL_SWAP_OVERLAY12 = &H00001000
1330Const WGL_SWAP_OVERLAY13 = &H00002000
1331Const WGL_SWAP_OVERLAY14 = &H00004000
1332Const WGL_SWAP_OVERLAY15 = &H00008000
1333Const WGL_SWAP_UNDERLAY1 = &H00010000
1334Const WGL_SWAP_UNDERLAY2 = &H00020000
1335Const WGL_SWAP_UNDERLAY3 = &H00040000
1336Const WGL_SWAP_UNDERLAY4 = &H00080000
1337Const WGL_SWAP_UNDERLAY5 = &H00100000
1338Const WGL_SWAP_UNDERLAY6 = &H00200000
1339Const WGL_SWAP_UNDERLAY7 = &H00400000
1340Const WGL_SWAP_UNDERLAY8 = &H00800000
1341Const WGL_SWAP_UNDERLAY9 = &H01000000
1342Const WGL_SWAP_UNDERLAY10 = &H02000000
1343Const WGL_SWAP_UNDERLAY11 = &H04000000
1344Const WGL_SWAP_UNDERLAY12 = &H08000000
1345Const WGL_SWAP_UNDERLAY13 = &H10000000
1346Const WGL_SWAP_UNDERLAY14 = &H20000000
1347Const WGL_SWAP_UNDERLAY15 = &H40000000
1348
1349Declare Function wglDescribeLayerPlane Lib "opengl32" (hdc As HDC, iPixelFormat As Long, iLayerPlane As Long, nByte As DWord, ByRef lplpd As LAYERPLANEDESCRIPTOR) As BOOL
1350Declare Function wglSetLayerPaletteEntries Lib "opengl32" (hdc As HDC, iLayerPlane As Long, iStart As Long, cEntries As Long, lpcr As *COLORREF) As Long
1351Declare Function wglGetLayerPaletteEntries Lib "opengl32" (hdc As HDC, iLayerPlane As Long, iStart As Long, cEntries As Long, lpcr As *COLORREF) As Long
1352Declare Function wglRealizeLayerPalette Lib "opengl32" (hdc As HDC, iLayerPlane As Long, bRealize As BOOL) As BOOL
1353Declare Function wglSwapLayerBuffers Lib "opengl32" (hdc As HDC, fuPlanes As DWord) As BOOL
1354
1355Type WGLSWAP
1356 hdc As HDC
1357 uiFlags As DWord
1358End Type
1359TypeDef PWGLSWAP = *WGLSWAP
1360TypeDef LPWGLSWAP = *WGLSWAP
1361
1362Const WGL_SWAPMULTIPLE_MAX = 16
1363
1364'Declare Function wglSwapMultipleBuffers Lib "opengl32" (u As DWord, lpwglswap As *WGLSWAP) As DWord
Note: See TracBrowser for help on using the repository browser.