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

Last change on this file since 692 was 692, checked in by NoWest, 15 years ago

CreatePalletが実装されてなかったので追加
(#240)

File size: 51.7 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 GetBitmapBits Lib "gdi32" (hbmp As HBITMAP, cbBuffer As Long, lpvBits As VoidPtr) As Long
818Declare Function GetBkColor Lib "gdi32" (hdc As HDC) As DWord
819Declare Function GetBkMode Lib "gdi32" (hdc As HDC) As Long
820Declare Function GetBrushOrgEx Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI) As Long
821' only WinNT
822'Declare Function GetCharWidth32 Lib "gdi32" Alias "GetCharWidth32A" (hdc As HDC, iFirstChar As DWord, iLastChar As DWord, pBuffer As *DWord) As Long
823Declare Function GetClipBox Lib "gdi32" (hdc As HDC, ByRef lpRect As RECT) As Long
824Declare Function GetClipRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
825Declare Function GetCurrentObject Lib "gdi32" (hdc As HDC, dwObjectType As DWord) As HANDLE
826Declare Function GetCurrentPositionEx Lib "gdi32" (hdc As HDC, ByRef Point As POINTAPI) As Long
827
828Const DRIVERVERSION = 0
829Const TECHNOLOGY = 2
830Const HORZSIZE = 4
831Const VERTSIZE = 6
832Const HORZRES = 8
833Const VERTRES = 10
834Const BITSPIXEL = 12
835Const PLANES = 14
836Const NUMBRUSHES = 16
837Const NUMPENS = 18
838Const NUMMARKERS = 20
839Const NUMFONTS = 22
840Const NUMCOLORS = 24
841Const PDEVICESIZE = 26
842Const CURVECAPS = 28
843Const LINECAPS = 30
844Const POLYGONALCAPS = 32
845Const TEXTCAPS = 34
846Const CLIPCAPS = 36
847Const RASTERCAPS = 38
848Const ASPECTX = 40
849Const ASPECTY = 42
850Const ASPECTXY = 44
851Const SHADEBLENDCAPS = 45
852Const LOGPIXELSX = 88
853Const LOGPIXELSY = 90
854Const SIZEPALETTE = 104
855Const NUMRESERVED = 106
856Const COLORRES = 108
857Const PHYSICALWIDTH = 110
858Const PHYSICALHEIGHT = 111
859Const PHYSICALOFFSETX = 112
860Const PHYSICALOFFSETY = 113
861Const SCALINGFACTORX = 114
862Const SCALINGFACTORY = 115
863Const VREFRESH = 116
864Const DESKTOPVERTRES = 117
865Const DESKTOPHORZRES = 118
866Const BLTALIGNMENT = 119
867Const DT_PLOTTER = 0 ' Device Technologies
868Const DT_RASDISPLAY = 1
869Const DT_RASPRINTER = 2
870Const DT_RASCAMERA = 3
871Const DT_CHARSTREAM = 4
872Const DT_METAFILE = 5
873Const DT_DISPFILE = 6
874Const CC_NONE = 0 ' Curve Capabilities
875Const CC_CIRCLES = 1
876Const CC_PIE = 2
877Const CC_CHORD = 4
878Const CC_ELLIPSES = 8
879Const CC_WIDE = 16
880Const CC_STYLED = 32
881Const CC_WIDESTYLED = 64
882Const CC_INTERIORS = 128
883Const CC_ROUNDRECT = 256
884Const LC_NONE = 0 ' Line Capabilities
885Const LC_POLYLINE = 2
886Const LC_MARKER = 4
887Const LC_POLYMARKER = 8
888Const LC_WIDE = 16
889Const LC_STYLED = 32
890Const LC_WIDESTYLED = 64
891Const LC_INTERIORS = 128
892Const PC_NONE = 0 ' Polygonal Capabilities
893Const PC_POLYGON = 1
894Const PC_RECTANGLE = 2
895Const PC_WINDPOLYGON = 4
896Const PC_TRAPEZOID = 4
897Const PC_SCANLINE = 8
898Const PC_WIDE = 16
899Const PC_STYLED = 32
900Const PC_WIDESTYLED = 64
901Const PC_INTERIORS = 128
902Const PC_POLYPOLYGON = 256
903Const PC_PATHS = 512
904Const CP_NONE = 0 ' Clipping Capabilities
905Const CP_RECTANGLE = 1
906Const CP_REGION = 2
907Const TC_OP_CHARACTER = &H00000001 ' Text Capabilities
908Const TC_OP_STROKE = &H00000002
909Const TC_CP_STROKE = &H00000004
910Const TC_CR_90 = &H00000008
911Const TC_CR_ANY = &H00000010
912Const TC_SF_X_YINDEP = &H00000020
913Const TC_SA_DOUBLE = &H00000040
914Const TC_SA_INTEGER = &H00000080
915Const TC_SA_CONTIN = &H00000100
916Const TC_EA_DOUBLE = &H00000200
917Const TC_IA_ABLE = &H00000400
918Const TC_UA_ABLE = &H00000800
919Const TC_SO_ABLE = &H00001000
920Const TC_RA_ABLE = &H00002000
921Const TC_VA_ABLE = &H00004000
922Const TC_RESERVED = &H00008000
923Const TC_SCROLLBLT = &H00010000
924Const RC_BITBLT = 1 ' Raster Capabilities
925Const RC_BANDING = 2
926Const RC_SCALING = 4
927Const RC_BITMAP64 = 8
928Const RC_GDI20_OUTPUT = &H0010
929Const RC_GDI20_STATE = &H0020
930Const RC_SAVEBITMAP = &H0040
931Const RC_DI_BITMAP = &H0080
932Const RC_PALETTE = &H0100
933Const RC_DIBTODEV = &H0200
934Const RC_BIGFONT = &H0400
935Const RC_STRETCHBLT = &H0800
936Const RC_FLOODFILL = &H1000
937Const RC_STRETCHDIB = &H2000
938Const RC_OP_DX_OUTPUT = &H4000
939Const RC_DEVBITS = &H8000
940Const SB_NONE = &H00000000 ' Shading and blending caps
941Const SB_CONST_ALPHA = &H00000001
942Const SB_PIXEL_ALPHA = &H00000002
943Const SB_PREMULT_ALPHA = &H00000004
944Const SB_GRAD_RECT = &H00000010
945Declare Function GetDeviceCaps Lib "gdi32" (hdc As HDC, nIndex As Long) As Long
946
947Declare 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
948Declare Function GetEnhMetaFile Lib "gdi32" Alias _FuncName_GetEnhMetaFile (pszMetaFile As PCTSTR) As HENHMETAFILE
949Declare Function GetEnhMetaFileBits Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, pbBuffer As *Byte) As DWord
950Declare Function GetEnhMetaFileDescription Lib "gdi32" Alias _FuncName_GetEnhMetaFileDescription (hemf As HENHMETAFILE, cbBuffer As DWord, pszDescription As PTSTR) As DWord
951Declare Function GetEnhMetaFileHeader Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, ByRef emh As ENHMETAHEADER) As DWord
952Declare Function GetEnhMetaFilePaletteEntries Lib "gdi32" (hemf As HENHMETAFILE, cEntries As DWord, ByRef pe As PALETTEENTRY) As DWord
953
954Const MM_TEXT = 1
955Const MM_LOMETRIC = 2
956Const MM_HIMETRIC = 3
957Const MM_LOENGLISH = 4
958Const MM_HIENGLISH = 5
959Const MM_TWIPS = 6
960Const MM_ISOTROPIC = 7
961Const MM_ANISOTROPIC = 8
962Declare Function GetMapMode Lib "gdi32" (hdc As HDC) As Long
963Declare Function GetMetaFileBitsEx Lib "gdi32" (hmf As HMETAFILE, nSize As DWord, pvData As VoidPtr) As DWord
964Declare Function GetMiterLimit Lib "gdi32" (hdc As HDC, peLimit As SinglePtr) As Long
965Declare Function GetObject Lib "gdi32" Alias _FuncName_GetObject (hgdiobj As HANDLE, cbBuffer As Long, ByRef pvObject As Any) As Long
966Declare Function GetObjectType Lib "gdi32" (hObject As HANDLE) As Long
967
968Const PT_CLOSEFIGURE = &H01
969Const PT_LINETO = &H02
970Const PT_BEZIERTO = &H04
971Const PT_MOVETO = &H06
972Declare Function GetPath Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, lpTypes As BytePtr, nSize As Long) As Long
973
974Declare Function GetPixel Lib "gdi32" (hdc As HDC, x As Long, y As Long) As DWord
975Declare Function GetPolyFillMode Lib "gdi32" (hdc As HDC) As Long
976Declare Function GetRgnBox Lib "gdi32" (hRgn As HRGN, ByRef lpRect As RECT) As Long
977Declare Function GetROP2 Lib "gdi32" (hdc As HDC) As Long
978
979Const WHITE_BRUSH = 0
980Const LTGRAY_BRUSH = 1
981Const GRAY_BRUSH = 2
982Const DKGRAY_BRUSH = 3
983Const BLACK_BRUSH = 4
984Const NULL_BRUSH = 5
985Const HOLLOW_BRUSH = NULL_BRUSH
986Const WHITE_PEN = 6
987Const BLACK_PEN = 7
988Const NULL_PEN = 8
989Const OEM_FIXED_FONT = 10
990Const ANSI_FIXED_FONT = 11
991Const ANSI_VAR_FONT = 12
992Const SYSTEM_FONT = 13
993Const DEVICE_DEFAULT_FONT = 14
994Const DEFAULT_PALETTE = 15
995Const SYSTEM_FIXED_FONT = 16
996'#if WINVER >= &h0400
997Const DEFAULT_GUI_FONT = 17
998'#endif
999
1000Declare Function GetStockObject Lib "gdi32" (fnObject As Long) As HANDLE
1001
1002Declare Function GetStretchBltMode Lib "gdi32" (hdc As HDC) As Long
1003
1004Const TA_NOUPDATECP = 0
1005Const TA_UPDATECP = 1
1006Const TA_LEFT = 0
1007Const TA_RIGHT = 2
1008Const TA_CENTER = 6
1009Const TA_TOP = 0
1010Const TA_BOTTOM = 8
1011Const TA_BASELINE = 24
1012Const TA_RTLREADING = 256
1013Declare Function GetTextAlign Lib "gdi32" (hdc As HDC) As DWord
1014
1015Declare Function GetTextColor Lib "gdi32" (hdc As HDC) As DWord
1016Declare Function GetTextExtentPoint32A Lib "gdi32" (hdc As HDC, pString As PCSTR, cbString As Long, ByRef Size As SIZE) As Long
1017Declare Function GetTextExtentPoint32W Lib "gdi32" (hdc As HDC, pString As PCWSTR, cbString As Long, ByRef Size As SIZE) As Long
1018#ifdef UNICODE
1019Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32W" (hdc As HDC, pString As PCWSTR, cbString As Long, ByRef Size As SIZE) As Long
1020#else
1021Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (hdc As HDC, pString As PCSTR, cbString As Long, ByRef Size As SIZE) As Long
1022#endif
1023Declare Function GetTextFace Lib "gdi32" Alias _FuncName_GetTextFace (hdc As HDC, nCount As Long, lpFacename As LPTSTR)As Long
1024
1025Const TMPF_FIXED_PITCH = &H01
1026Const TMPF_VECTOR = &H02
1027Const TMPF_DEVICE = &H08
1028Const TMPF_TRUETYPE = &H04
1029Type TEXTMETRICW
1030 tmHeight As Long
1031 tmAscent As Long
1032 tmDescent As Long
1033 tmInternalLeading As Long
1034 tmExternalLeading As Long
1035 tmAveCharWidth As Long
1036 tmMaxCharWidth As Long
1037 tmWeight As Long
1038 tmOverhang As Long
1039 tmDigitizedAspectX As Long
1040 tmDigitizedAspectY As Long
1041 tmFirstChar As WCHAR
1042 tmLastChar As WCHAR
1043 tmDefaultChar As WCHAR
1044 tmBreakChar As WCHAR
1045 tmItalic As Byte
1046 tmUnderlined As Byte
1047 tmStruckOut As Byte
1048 tmPitchAndFamily As Byte
1049 tmCharSet As Byte
1050End Type
1051Type TEXTMETRICA
1052 tmHeight As Long
1053 tmAscent As Long
1054 tmDescent As Long
1055 tmInternalLeading As Long
1056 tmExternalLeading As Long
1057 tmAveCharWidth As Long
1058 tmMaxCharWidth As Long
1059 tmWeight As Long
1060 tmOverhang As Long
1061 tmDigitizedAspectX As Long
1062 tmDigitizedAspectY As Long
1063 tmFirstChar As SByte
1064 tmLastChar As SByte
1065 tmDefaultChar As SByte
1066 tmBreakChar As SByte
1067 tmItalic As Byte
1068 tmUnderlined As Byte
1069 tmStruckOut As Byte
1070 tmPitchAndFamily As Byte
1071 tmCharSet As Byte
1072End Type
1073#ifdef UNICODE
1074TypeDef TEXTMETRIC = TEXTMETRICW
1075#else
1076TypeDef TEXTMETRIC = TEXTMETRICA
1077#endif
1078Declare Function GetTextMetrics Lib "gdi32" Alias _FuncName_GetTextMetrics (hdc As HDC, ByRef tm As TEXTMETRIC) As Long
1079
1080Declare Function GetViewportExtEx Lib "gdi32" (hdc As HDC, ByRef lpSize As SIZE) As Long
1081Declare Function GetViewportOrgEx Lib "gdi32" (hdc As HDC, ByRef lpPoint As POINTAPI) As Long
1082Declare Function GetWindowExtEx Lib "gdi32" (hdc As HDC, ByRef lpSize As SIZE) As Long
1083Declare Function GetWindowOrgEx Lib "gdi32" (hdc As HDC, ByRef lpPoint As POINTAPI) As Long
1084Declare Function GetWinMetaFileBits Lib "gdi32" (hemf As HENHMETAFILE, cbBuffer As DWord, pbBuffer As *Byte, fnMapMode As Long, hdcRef As HDC) As DWord
1085Declare Function IntersectClipRect Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1086Declare Function InvertRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1087Declare Function LineTo Lib "gdi32" (hdc As HDC, nXEnd As Long, nYEnd As Long) As Long
1088Declare Function LPtoDP Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, nCount As Long) As Long
1089Declare Function MoveToEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1090Declare Function OffsetRgn Lib "gdi32" (hRgn As HRGN, nXOffset As Long, nYOffset As Long) As Long
1091Declare Function OffsetClipRgn Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long) As Long
1092Declare Function OffsetViewportOrgEx Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long, ByRef lpPoint As POINTAPI) As Long
1093Declare Function OffsetWindowOrgEx Lib "gdi32" (hdc As HDC, nXOffset As Long, nYOffset As Long, ByRef lpPoint As POINTAPI) As Long
1094Declare Function PaintRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1095Declare Function PatBlt Lib "gdi32" (hdc As HDC, nXLeft As Long, nYLeft As Long, nWidth As Long, nHeight As Long, dwRop As DWord) As Long
1096Declare Function PathToRegion Lib "gdi32" (hdc As HDC) As HRGN
1097Declare 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
1098Declare Function PlayEnhMetaFile Lib "gdi32" (hdc As HDC, hemf As HENHMETAFILE, ByRef Rect As RECT) As Long
1099Declare Function PlayEnhMetaFileRecord Lib "gdi32" (hdc As HDC, ByRef Handletable As HANDLETABLE, ByRef EnhMetaRecord As ENHMETARECORD, nHandles As DWord) As BOOL
1100Declare Function PlayMetaFile Lib "gdi32" (hdc As HDC, hmf As HMETAFILE) As BOOL
1101Declare Function PlayMetaFileRecord Lib "gdi32" (hdc As HDC, ByRef Handletable As HANDLETABLE, ByRef MetaRecord As METARECORD, nHandles As DWord) As BOOL
1102Declare 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
1103Declare Function PolyBezier Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1104Declare Function PolyBezierTo Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1105Declare Function Polygon Lib "gdi32" (hdc As HDC, ByRef lpPoints As POINTAPI, cPoints As Long) As Long
1106Declare Function Polyline Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1107Declare Function PolylineTo Lib "gdi32" (hdc As HDC, ByRef lppt As POINTAPI, cPoints As Long) As Long
1108Declare Function PtInRegion Lib "gdi32" (hRgn As HRGN, x As Long, y As Long) As Long
1109Declare Function PtVisible Lib "gdi32" (hdc As HDC, x As Long, y As Long) As Long
1110Declare Function RealizePalette Lib "gdi32" (hdc As HDC) As Long
1111Declare Function Rectangle Lib "gdi32" (hdc As HDC, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1112Declare Function RectInRegion Lib "gdi32" (hRgn As HRGN, ByRef lpRect As RECT) As Long
1113Declare Function RectVisible Lib "gdi32" (hdc As HDC, ByRef lpRect As RECT) As Long
1114Declare Function ResetDC Lib "gdi32" Alias _FuncName_ResetDC (hdc As HDC, ByRef InitData As DEVMODE) As HDC
1115Declare Function RestoreDC Lib "gdi32" (hdc As HDC, nSavedDC As Long) As Long
1116Declare 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
1117Declare Function SaveDC Lib "gdi32" (hdc As HDC) As Long
1118Declare 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
1119Declare 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
1120Declare Function SelectClipPath Lib "gdi32" (hdc As HDC, iMode As Long) As Long
1121Declare Function SelectClipRgn Lib "gdi32" (hdc As HDC, hRgn As HRGN) As Long
1122Declare Function SelectObject Lib "gdi32" (hdc As HDC, hObject As HANDLE) As HANDLE
1123Declare Function SelectPalette Lib "gdi32" (hdc As HDC, hpal As HPALETTE, bForceBackground As BOOL) As HPALETTE
1124Declare Function SetBkColor Lib "gdi32" (hdc As HDC, crColor As DWord) As DWord
1125
1126Const TRANSPARENT = 1
1127Const OPAQUE = 2
1128Declare Function SetBkMode Lib "gdi32" (hdc As HDC, iBkMode As Long) As Long
1129
1130Declare Function SetBrushOrgEx Lib "gdi32" (hdc As HDC, nXOrg As Long, nYOrg As Long, ByRef lppt As POINTAPI) As Long
1131Declare 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
1132Declare Function SetEnhMetaFileBits Lib "gdi32" (cbBuffer As DWord, pData As *Byte) As HENHMETAFILE
1133Declare Function SetMapMode Lib "gdi32" (hdc As HDC, fnMapMode As Long) As Long
1134Declare Function SetMetaFileBitsEx Lib "gdi32" (nSize As DWord, pData As *Byte) As HMETAFILE
1135Declare Function SetMiterLimit Lib "gdi32" (hdc As HDC, eNewLimit As Single, peOldLimit As SinglePtr) As Long
1136Declare Function SetPixel Lib "gdi32" (hdc As HDC, x As Long, y As Long, crColor As DWord) As DWord
1137Declare Function SetPolyFillMode Lib "gdi32" (hdc As HDC, iPolyFillMode As Long) As Long
1138Declare Function SetRectRgn Lib "gdi32" (hRgn As HRGN, nLeftRect As Long, nTopRect As Long, nRightRect As Long, nBottomRect As Long) As Long
1139Declare Function SetROP2 Lib "gdi32" (hdc As HDC, fnDrawMode As Long) As Long
1140
1141Const BLACKONWHITE = 1
1142Const WHITEONBLACK = 2
1143Const COLORONCOLOR = 3
1144Const HALFTONE = 4
1145Const STRETCH_ANDSCANS = BLACKONWHITE
1146Const STRETCH_ORSCANS = WHITEONBLACK
1147Const STRETCH_DELETESCANS = COLORONCOLOR
1148Const STRETCH_HALFTONE = HALFTONE
1149Declare Function SetStretchBltMode Lib "gdi32" (hdc As HDC, iStretchMode As Long) As Long
1150
1151Declare Function SetTextAlign Lib "gdi32" (hdc As HDC, fMode As DWord) As DWord
1152Declare Function SetTextColor Lib "gdi32" (hdc As HDC, crColor As DWord) As DWord
1153Declare Function SetViewportExtEx Lib "gdi32" (hdc As HDC, nXExtent As Long, nYExtent As Long, ByRef lpSize As SIZE) As Long
1154Declare Function SetViewportOrgEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1155Declare Function SetWindowExtEx Lib "gdi32" (hdc As HDC, nXExtent As Long, nYExtent As Long, ByRef lpSize As SIZE) As Long
1156Declare Function SetWindowOrgEx Lib "gdi32" (hdc As HDC, x As Long, y As Long, ByRef lpPoint As POINTAPI) As Long
1157Declare Function SetWinMetaFileBits Lib "gdi32" (cbBuffer As DWord, pbBuffer As *Byte, hdcRef As HDC, ByRef mfp As METAFILEPICT) As HENHMETAFILE
1158Declare Function StartDoc Lib "gdi32" Alias _FuncName_StartDoc (hdc As HDC, ByRef di As DOCINFO) As Long
1159Declare Function StartPage Lib "gdi32" (hdc As HDC) As Long
1160Declare 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
1161Declare 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
1162Declare Function StrokeAndFillPath Lib "gdi32" (hdc As HDC) As Long
1163Declare Function StrokePath Lib "gdi32" (DC As DWord) As Long
1164Declare Function TextOutA Lib "gdi32" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCSTR, cbString As Long) As Long
1165Declare Function TextOutW Lib "gdi32" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCWSTR, cbString As Long) As Long
1166#ifdef UNICODE
1167Declare Function TextOut Lib "gdi32" Alias "TextOutW" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCWSTR, cbString As Long) As Long
1168#else
1169Declare Function TextOut Lib "gdi32" Alias "TextOutA" (hdc As HDC, nXStart As Long, nYStart As Long, pString As PCSTR, cbString As Long) As Long
1170#endif
1171 Declare 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
1172
1173/* Pixel Format */
1174Type PIXELFORMATDESCRIPTOR
1175 nSize As Word
1176 nVersion As Word
1177 dwFlags As DWord
1178 iPixelType As Byte
1179 cColorBits As Byte
1180 cRedBits As Byte
1181 cRedShift As Byte
1182 cGreenBits As Byte
1183 cGreenShift As Byte
1184 cBlueBits As Byte
1185 cBlueShift As Byte
1186 cAlphaBits As Byte
1187 cAlphaShift As Byte
1188 cAccumBits As Byte
1189 cAccumRedBits As Byte
1190 cAccumGreenBits As Byte
1191 cAccumBlueBits As Byte
1192 cAccumAlphaBits As Byte
1193 cDepthBits As Byte
1194 cStencilBits As Byte
1195 cAuxBuffers As Byte
1196 iLayerType As Byte
1197 bReserved As Byte
1198 dwLayerMask As DWord
1199 dwVisibleMask As DWord
1200 dwDamageMask As DWord
1201End Type
1202TypeDef PPIXELFORMATDESCRIPTOR = *PIXELFORMATDESCRIPTOR
1203TypeDef LPPIXELFORMATDESCRIPTOR = *PIXELFORMATDESCRIPTOR
1204
1205Const PFD_TYPE_RGBA = 0
1206Const PFD_TYPE_COLORINDEX = 1
1207
1208Const PFD_MAIN_PLANE = 0
1209Const PFD_OVERLAY_PLANE = 1
1210Const PFD_UNDERLAY_PLANE = (-1)
1211
1212Const PFD_DOUBLEBUFFER = &H00000001
1213Const PFD_STEREO = &H00000002
1214Const PFD_DRAW_TO_WINDOW = &H00000004
1215Const PFD_DRAW_TO_BITMAP = &H00000008
1216Const PFD_SUPPORT_GDI = &H00000010
1217Const PFD_SUPPORT_OPENGL = &H00000020
1218Const PFD_GENERIC_FORMAT = &H00000040
1219Const PFD_NEED_PALETTE = &H00000080
1220Const PFD_NEED_SYSTEM_PALETTE = &H00000100
1221Const PFD_SWAP_EXCHANGE = &H00000200
1222Const PFD_SWAP_COPY = &H00000400
1223Const PFD_SWAP_LAYER_BUFFERS = &H00000800
1224Const PFD_GENERIC_ACCELERATED = &H00001000
1225Const PFD_SUPPORT_DIRECTDRAW = &H00002000
1226
1227Const PFD_DEPTH_DONTCARE = &H20000000
1228Const PFD_DOUBLEBUFFER_DONTCARE = &H40000000
1229Const PFD_STEREO_DONTCARE = &H80000000
1230
1231Declare Function ChoosePixelFormat Lib "gdi32" (hdc As HDC, ByRef lppfd As PIXELFORMATDESCRIPTOR) As Long
1232Declare Function DescribePixelFormat Lib "gdi32" (hdc As HDC, n As Long, u As DWord, ByRef lppfd As PIXELFORMATDESCRIPTOR) As Long
1233Declare Function GetPixelFormat Lib "gdi32" (hdc As HDC) As Long
1234Declare Function SetPixelFormat Lib "gdi32" (hdc As HDC, i As Long, ByRef lppfd As PIXELFORMATDESCRIPTOR) As BOOL
1235
1236
1237/* OpenGL Support */
1238
1239Declare Function wglCopyContext Lib "opengl32" (hglrcSource As HGLRC, hglrcDest As HGLRC, mask As DWord) As BOOL
1240Declare Function wglCreateContext Lib "opengl32" (hdc As HDC) As HGLRC
1241Declare Function wglCreateLayerContext Lib "opengl32" (hdc As HDC, iLayerPlane As Long) As HGLRC
1242Declare Function wglDeleteContext Lib "opengl32" (hglrc As HGLRC) As BOOL
1243Declare Function wglGetCurrentContext Lib "opengl32" () As HGLRC
1244Declare Function wglGetCurrentDC Lib "opengl32" () As HDC
1245Declare Function wglGetProcAddress Lib "opengl32" (lpstr As LPSTR) As PROC
1246Declare Function wglMakeCurrent Lib "opengl32" (hdc As HDC, hglrc As HGLRC) As BOOL
1247Declare Function wglShareLists Lib "opengl32" (hglrc1 As HGLRC, hglrc2 As HGLRC) As BOOL
1248Declare Function wglUseFontBitmaps Lib "opengl32" Alias _FuncName_wglUseFontBitmaps (hdc As HDC, first As DWord, count As DWord, listbase As DWord) As BOOL
1249Declare Function SwapBuffers Lib "gdi32" (hdc As HDC) As BOOL
1250
1251Type POINTFLOAT
1252 x As Single
1253 y As Single
1254End Type
1255TypeDef PPOINTFLOAT = *POINTFLOAT
1256
1257Type GLYPHMETRICSFLOAT
1258 gmfBlackBoxX As Single
1259 gmfBlackBoxY As Single
1260 gmfptGlyphOrigin As POINTFLOAT
1261 gmfCellIncX As Single
1262 gmfCellIncY As Single
1263End Type
1264TypeDef PGLYPHMETRICSFLOAT = *GLYPHMETRICSFLOAT
1265TypeDef LPGLYPHMETRICSFLOAT = *GLYPHMETRICSFLOAT
1266
1267Const WGL_FONT_LINES = 0
1268Const WGL_FONT_POLYGONS = 1
1269
1270Declare 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
1271
1272Type LAYERPLANEDESCRIPTOR
1273 nSize As Word
1274 nVersion As Word
1275 dwFlags As DWord
1276 iPixelType As Byte
1277 cColorBits As Byte
1278 cRedBits As Byte
1279 cRedShift As Byte
1280 cGreenBits As Byte
1281 cGreenShift As Byte
1282 cBlueBits As Byte
1283 cBlueShift As Byte
1284 cAlphaBits As Byte
1285 cAlphaShift As Byte
1286 cAccumBits As Byte
1287 cAccumRedBits As Byte
1288 cAccumGreenBits As Byte
1289 cAccumBlueBits As Byte
1290 cAccumAlphaBits As Byte
1291 cDepthBits As Byte
1292 cStencilBits As Byte
1293 cAuxBuffers As Byte
1294 iLayerPlane As Byte
1295 bReserved As Byte
1296 crTransparent As COLORREF
1297End Type
1298TypeDef PLAYERPLANEDESCRIPTOR = *LAYERPLANEDESCRIPTOR
1299TypeDef LPLAYERPLANEDESCRIPTOR = *LAYERPLANEDESCRIPTOR
1300
1301Const LPD_DOUBLEBUFFER = &H00000001
1302Const LPD_STEREO = &H00000002
1303Const LPD_SUPPORT_GDI = &H00000010
1304Const LPD_SUPPORT_OPENGL = &H00000020
1305Const LPD_SHARE_DEPTH = &H00000040
1306Const LPD_SHARE_STENCIL = &H00000080
1307Const LPD_SHARE_ACCUM = &H00000100
1308Const LPD_SWAP_EXCHANGE = &H00000200
1309Const LPD_SWAP_COPY = &H00000400
1310Const LPD_TRANSPARENT = &H00001000
1311Const LPD_TYPE_RGBA = 0
1312Const LPD_TYPE_COLORINDEX = 1
1313
1314Const WGL_SWAP_MAIN_PLANE = &H00000001
1315Const WGL_SWAP_OVERLAY1 = &H00000002
1316Const WGL_SWAP_OVERLAY2 = &H00000004
1317Const WGL_SWAP_OVERLAY3 = &H00000008
1318Const WGL_SWAP_OVERLAY4 = &H00000010
1319Const WGL_SWAP_OVERLAY5 = &H00000020
1320Const WGL_SWAP_OVERLAY6 = &H00000040
1321Const WGL_SWAP_OVERLAY7 = &H00000080
1322Const WGL_SWAP_OVERLAY8 = &H00000100
1323Const WGL_SWAP_OVERLAY9 = &H00000200
1324Const WGL_SWAP_OVERLAY10 = &H00000400
1325Const WGL_SWAP_OVERLAY11 = &H00000800
1326Const WGL_SWAP_OVERLAY12 = &H00001000
1327Const WGL_SWAP_OVERLAY13 = &H00002000
1328Const WGL_SWAP_OVERLAY14 = &H00004000
1329Const WGL_SWAP_OVERLAY15 = &H00008000
1330Const WGL_SWAP_UNDERLAY1 = &H00010000
1331Const WGL_SWAP_UNDERLAY2 = &H00020000
1332Const WGL_SWAP_UNDERLAY3 = &H00040000
1333Const WGL_SWAP_UNDERLAY4 = &H00080000
1334Const WGL_SWAP_UNDERLAY5 = &H00100000
1335Const WGL_SWAP_UNDERLAY6 = &H00200000
1336Const WGL_SWAP_UNDERLAY7 = &H00400000
1337Const WGL_SWAP_UNDERLAY8 = &H00800000
1338Const WGL_SWAP_UNDERLAY9 = &H01000000
1339Const WGL_SWAP_UNDERLAY10 = &H02000000
1340Const WGL_SWAP_UNDERLAY11 = &H04000000
1341Const WGL_SWAP_UNDERLAY12 = &H08000000
1342Const WGL_SWAP_UNDERLAY13 = &H10000000
1343Const WGL_SWAP_UNDERLAY14 = &H20000000
1344Const WGL_SWAP_UNDERLAY15 = &H40000000
1345
1346Declare Function wglDescribeLayerPlane Lib "opengl32" (hdc As HDC, iPixelFormat As Long, iLayerPlane As Long, nByte As DWord, ByRef lplpd As LAYERPLANEDESCRIPTOR) As BOOL
1347Declare Function wglSetLayerPaletteEntries Lib "opengl32" (hdc As HDC, iLayerPlane As Long, iStart As Long, cEntries As Long, lpcr As *COLORREF) As Long
1348Declare Function wglGetLayerPaletteEntries Lib "opengl32" (hdc As HDC, iLayerPlane As Long, iStart As Long, cEntries As Long, lpcr As *COLORREF) As Long
1349Declare Function wglRealizeLayerPalette Lib "opengl32" (hdc As HDC, iLayerPlane As Long, bRealize As BOOL) As BOOL
1350Declare Function wglSwapLayerBuffers Lib "opengl32" (hdc As HDC, fuPlanes As DWord) As BOOL
1351
1352Type WGLSWAP
1353 hdc As HDC
1354 uiFlags As DWord
1355End Type
1356TypeDef PWGLSWAP = *WGLSWAP
1357TypeDef LPWGLSWAP = *WGLSWAP
1358
1359Const WGL_SWAPMULTIPLE_MAX = 16
1360
1361'Declare Function wglSwapMultipleBuffers Lib "opengl32" (u As DWord, lpwglswap As *WGLSWAP) As DWord
Note: See TracBrowser for help on using the repository browser.