Sync with trunk (48237)
[reactos.git] / subsystems / win32 / win32k / include / bitmaps.h
1 #pragma once
2
3 #include "surface.h"
4
5 typedef struct tagBITMAPV5INFO
6 {
7 BITMAPV5HEADER bmiHeader;
8 RGBQUAD bmiColors[256];
9 } BITMAPV5INFO, *PBITMAPV5INFO;
10
11 INT APIENTRY BITMAP_GetObject(SURFACE * bmp, INT count, LPVOID buffer);
12 HBITMAP FASTCALL IntCreateBitmap(IN SIZEL Size, IN LONG Width, IN ULONG Format, IN ULONG Flags, IN PVOID Bits);
13 HBITMAP FASTCALL BITMAP_CopyBitmap (HBITMAP hBitmap);
14 UINT FASTCALL BITMAP_GetRealBitsPixel(UINT nBitsPixel);
15 INT FASTCALL BITMAP_GetWidthBytes (INT bmWidth, INT bpp);
16 NTSTATUS FASTCALL ProbeAndConvertToBitmapV5Info( OUT PBITMAPV5INFO pbmiDst, IN CONST BITMAPINFO* pbmiUnsafe, IN DWORD dwUse, UINT MaxSize);
17 VOID FASTCALL GetBMIFromBitmapV5Info(IN PBITMAPV5INFO pbmiSrc, OUT PBITMAPINFO pbmiDst, IN DWORD dwUse);
18
19 HBITMAP
20 APIENTRY
21 GreCreateBitmap(
22 IN INT nWidth,
23 IN INT nHeight,
24 IN UINT cPlanes,
25 IN UINT cBitsPixel,
26 IN OPTIONAL PVOID pvBits);
27
28 HBITMAP
29 APIENTRY
30 GreCreateBitmapEx(
31 IN INT nWidth,
32 IN INT nHeight,
33 IN ULONG cjWidthBytes,
34 IN ULONG iFormat,
35 IN USHORT fjBitmap,
36 IN ULONG cjBits,
37 IN OPTIONAL PVOID pvBits);
38
39 HBITMAP
40 FASTCALL
41 GreCreateDIBitmapInternal(
42 IN HDC hDc,
43 IN INT cx,
44 IN INT cy,
45 IN DWORD fInit,
46 IN OPTIONAL LPBYTE pjInit,
47 IN OPTIONAL PBITMAPV5INFO pbmi,
48 IN DWORD iUsage,
49 IN FLONG fl,
50 IN HANDLE hcmXform);