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

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

UI_Sampleの追加。イベントのコメントアウト解除。Form.abからテスト部分を除去。Application.DoEventsを実装。MakeControlEventHandlerを静的メンバのイベント対応へ。WindowsExceptionの追加。

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