39 lines
2.0 KiB
Plaintext
39 lines
2.0 KiB
Plaintext
#load "Windows.kl"
|
|
RBGQUAD :: struct;; rgbBlue: BYTE; rgbGreen: BYTE; rgbRed: BYTE; rgbReserved: BYTE
|
|
BITMAPINFOHEADER :: struct;; biSize: DWORD; biWidth: LONG; biHeight: LONG; biPlanes: WORD; biBitCount: WORD; biCompression: DWORD; biSizeImage: DWORD; biXPelsPerMeter: LONG; biYPelsPerMeter: LONG; biClrUsed: DWORD; biClrImportant: DWORD
|
|
BITMAPINFO :: struct;; bmiHeader: BITMAPINFOHEADER; bmiColors: [1]RBGQUAD
|
|
HGDIOBJ :: HANDLE
|
|
|
|
BI_RGB :: 0x0000
|
|
BI_RLE8 :: 0x0001
|
|
BI_RLE4 :: 0x0002
|
|
BI_BITFIELDS :: 0x0003
|
|
BI_JPEG :: 0x0004
|
|
BI_PNG :: 0x0005
|
|
BI_CMYK :: 0x000B
|
|
BI_CMYKRLE8 :: 0x000C
|
|
BI_CMYKRLE4 :: 0x000
|
|
DIB_RGB_COLORS :: 0x00
|
|
|
|
SRCCOPY :: 0x00CC0020 /* dest = source */
|
|
SRCPAINT :: 0x00EE0086 /* dest = source OR dest */
|
|
SRCAND :: 0x008800C6 /* dest = source AND dest */
|
|
SRCINVERT :: 0x00660046 /* dest = source XOR dest */
|
|
SRCERASE :: 0x00440328 /* dest = source AND (NOT dest ) */
|
|
NOTSRCCOPY :: 0x00330008 /* dest = (NOT source) */
|
|
NOTSRCERASE :: 0x001100A6 /* dest = (NOT src) AND (NOT dest) */
|
|
MERGECOPY :: 0x00C000CA /* dest = (source AND pattern) */
|
|
MERGEPAINT :: 0x00BB0226 /* dest = (NOT source) OR dest */
|
|
PATCOPY :: 0x00F00021 /* dest = pattern */
|
|
PATPAINT :: 0x00FB0A09 /* dest = DPSnoo */
|
|
PATINVERT :: 0x005A0049 /* dest = pattern XOR dest */
|
|
DSTINVERT :: 0x00550009 /* dest = (NOT dest) */
|
|
BLACKNESS :: 0x00000042 /* dest = BLACK */
|
|
WHITENESS :: 0x00FF0062 /* dest = WHITE */
|
|
|
|
|
|
// #import #foreign "gdi32.lib" @todo
|
|
CreateDIBSection :: #foreign (hdc: HDC, pbmi: *BITMAPINFO, usage: UINT, ppvBits: **VOID, hSection: HANDLE, offset: DWORD): HBITMAP
|
|
CreateCompatibleDC :: #foreign (hdc: HDC): HDC
|
|
SelectObject :: #foreign (hdc: HDC, h: HGDIOBJ): HGDIOBJ
|
|
BitBlt :: #foreign (hdc: HDC, x: int, y: int, cx: int, cy: int, hdcSrc: HDC, x1: int, y1: int, ro: DWORD): BOOL |