windows.offscreen structs
parent
eb21a7b0dd
commit
0c37990f53
|
@ -2,25 +2,26 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: alien.c-types kernel combinators sequences
|
USING: alien.c-types kernel combinators sequences
|
||||||
math windows.gdi32 windows.types images destructors
|
math windows.gdi32 windows.types images destructors
|
||||||
accessors fry locals ;
|
accessors fry locals classes.struct ;
|
||||||
IN: windows.offscreen
|
IN: windows.offscreen
|
||||||
|
|
||||||
: (bitmap-info) ( dim -- BITMAPINFO )
|
: (bitmap-info) ( dim -- BITMAPINFO )
|
||||||
"BITMAPINFO" <c-object> [
|
[
|
||||||
BITMAPINFO-bmiHeader {
|
BITMAPINFO <struct>
|
||||||
[ nip "BITMAPINFOHEADER" heap-size swap set-BITMAPINFOHEADER-biSize ]
|
dup bmiHeader>>
|
||||||
[ [ first ] dip set-BITMAPINFOHEADER-biWidth ]
|
BITMAPINFOHEADER heap-size >>biSize
|
||||||
[ [ second ] dip set-BITMAPINFOHEADER-biHeight ]
|
] dip
|
||||||
[ nip 1 swap set-BITMAPINFOHEADER-biPlanes ]
|
[ first >>biWidth ]
|
||||||
[ nip 32 swap set-BITMAPINFOHEADER-biBitCount ]
|
[ second >>biHeight ]
|
||||||
[ nip BI_RGB swap set-BITMAPINFOHEADER-biCompression ]
|
[ first2 * 4 * >>biSizeImage ] tri
|
||||||
[ [ first2 * 4 * ] dip set-BITMAPINFOHEADER-biSizeImage ]
|
1 >>biPlanes
|
||||||
[ nip 72 swap set-BITMAPINFOHEADER-biXPelsPerMeter ]
|
32 >>biBitCount
|
||||||
[ nip 72 swap set-BITMAPINFOHEADER-biYPelsPerMeter ]
|
BI_RGB >>biCompression
|
||||||
[ nip 0 swap set-BITMAPINFOHEADER-biClrUsed ]
|
72 >>biXPelsPerMeter
|
||||||
[ nip 0 swap set-BITMAPINFOHEADER-biClrImportant ]
|
72 >>biYPelsPerMeter
|
||||||
} 2cleave
|
0 >>biClrUsed
|
||||||
] keep ;
|
0 >>biClrImportant
|
||||||
|
drop ;
|
||||||
|
|
||||||
: make-bitmap ( dim dc -- hBitmap bits )
|
: make-bitmap ( dim dc -- hBitmap bits )
|
||||||
[ nip ]
|
[ nip ]
|
||||||
|
|
|
@ -257,28 +257,28 @@ C-STRUCT: PAINTSTRUCT
|
||||||
{ "BYTE[32]" "rgbReserved" }
|
{ "BYTE[32]" "rgbReserved" }
|
||||||
;
|
;
|
||||||
|
|
||||||
C-STRUCT: BITMAPINFOHEADER
|
STRUCT: BITMAPINFOHEADER
|
||||||
{ "DWORD" "biSize" }
|
{ biSize DWORD }
|
||||||
{ "LONG" "biWidth" }
|
{ biWidth LONG }
|
||||||
{ "LONG" "biHeight" }
|
{ biHeight LONG }
|
||||||
{ "WORD" "biPlanes" }
|
{ biPlanes WORD }
|
||||||
{ "WORD" "biBitCount" }
|
{ biBitCount WORD }
|
||||||
{ "DWORD" "biCompression" }
|
{ biCompression DWORD }
|
||||||
{ "DWORD" "biSizeImage" }
|
{ biSizeImage DWORD }
|
||||||
{ "LONG" "biXPelsPerMeter" }
|
{ biXPelsPerMeter LONG }
|
||||||
{ "LONG" "biYPelsPerMeter" }
|
{ biYPelsPerMeter LONG }
|
||||||
{ "DWORD" "biClrUsed" }
|
{ biClrUsed DWORD }
|
||||||
{ "DWORD" "biClrImportant" } ;
|
{ biClrImportant DWORD } ;
|
||||||
|
|
||||||
C-STRUCT: RGBQUAD
|
STRUCT: RGBQUAD
|
||||||
{ "BYTE" "rgbBlue" }
|
{ rgbBlue BYTE }
|
||||||
{ "BYTE" "rgbGreen" }
|
{ rgbGreen BYTE }
|
||||||
{ "BYTE" "rgbRed" }
|
{ rgbRed BYTE }
|
||||||
{ "BYTE" "rgbReserved" } ;
|
{ rgbReserved BYTE } ;
|
||||||
|
|
||||||
C-STRUCT: BITMAPINFO
|
STRUCT: BITMAPINFO
|
||||||
{ "BITMAPINFOHEADER" "bmiHeader" }
|
{ bmiHeader BITMAPINFOHEADER }
|
||||||
{ "RGBQUAD[1]" "bmiColors" } ;
|
{ bimColors RGBQUAD[1] } ;
|
||||||
|
|
||||||
TYPEDEF: void* LPPAINTSTRUCT
|
TYPEDEF: void* LPPAINTSTRUCT
|
||||||
TYPEDEF: void* PAINTSTRUCT
|
TYPEDEF: void* PAINTSTRUCT
|
||||||
|
|
Loading…
Reference in New Issue