2 #ifndef __WIN32K_BITMAPS_H
3 #define __WIN32K_BITMAPS_H
6 #include <win32k/gdiobj.h>
8 typedef struct _DDBITMAP
10 const PDRIVER_FUNCTIONS pDriverFunctions
;
15 /* GDI logical bitmap object */
16 typedef struct _BITMAPOBJ
19 SIZE size
; /* For SetBitmapDimension() */
23 /* For device-independent bitmaps: */
26 } BITMAPOBJ
, *PBITMAPOBJ
;
28 /* Internal interface */
30 #define BITMAPOBJ_AllocBitmap() \
31 ((HBITMAP) GDIOBJ_AllocObj (sizeof (BITMAPOBJ), GO_BITMAP_MAGIC))
32 #define BITMAPOBJ_FreeBitmap(hBMObj) \
33 GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GO_BITMAP_MAGIC, GDIOBJFLAG_DEFAULT)
34 #define BITMAPOBJ_HandleToPtr(hBMObj) \
35 ((PBITMAPOBJ) GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GO_BITMAP_MAGIC))
36 #define BITMAPOBJ_ReleasePtr(hBMObj) \
37 GDIOBJ_UnlockObj ((HGDIOBJ) hBMObj, GO_BITMAP_MAGIC)
39 /*#define BITMAPOBJ_PtrToHandle(hBMObj) \
40 ((HBITMAP) GDIOBJ_PtrToHandle ((PGDIOBJ) hBMObj, GO_BITMAP_MAGIC))*/
41 #define BITMAPOBJ_LockBitmap(hBMObj) GDIOBJ_LockObject ((HGDIOBJ) hBMObj)
42 #define BITMAPOBJ_UnlockBitmap(hBMObj) GDIOBJ_UnlockObject ((HGDIOBJ) hBMObj)
44 INT FASTCALL
BITMAPOBJ_GetWidthBytes (INT bmWidth
, INT bpp
);
45 HBITMAP FASTCALL
BITMAPOBJ_CopyBitmap (HBITMAP hBitmap
);
46 INT FASTCALL
DIB_GetDIBWidthBytes (INT width
, INT depth
);
47 int STDCALL
DIB_GetDIBImageBytes (INT width
, INT height
, INT depth
);
48 int FASTCALL
DIB_BitmapInfoSize (const BITMAPINFO
* info
, WORD coloruse
);
49 INT STDCALL
BITMAP_GetObject(BITMAPOBJ
* bmp
, INT count
, LPVOID buffer
);
50 BOOL FASTCALL
Bitmap_InternalDelete( PBITMAPOBJ pBmp
);
51 HBITMAP FASTCALL
BitmapToSurf(PBITMAPOBJ BitmapObj
);
53 /* User Entry Points */
78 W32kCreateCompatibleBitmap (
85 W32kCreateBitmapIndirect (
92 CONST BITMAPINFOHEADER
* bmih
,
95 CONST BITMAPINFO
* bmi
,
100 W32kCreateDIBSection (
102 CONST BITMAPINFO
* bmi
,
110 W32kCreateDiscardableBitmap (
141 W32kGetBitmapDimensionEx (
147 W32kGetDIBColorTable (
210 W32kSetBitmapDimensionEx (
218 W32kSetDIBColorTable (
222 CONST RGBQUAD
* Colors
232 CONST BITMAPINFO
* bmi
,
237 W32kSetDIBitsToDevice (
248 CONST BITMAPINFO
* bmi
,
295 CONST BITMAPINFO
* BitsInfo
,