xref: /reactos/win32ss/gdi/ntgdi/dib.h (revision c2c66aff)
1*c2c66affSColin Finck #pragma once
2*c2c66affSColin Finck 
3*c2c66affSColin Finck INT FASTCALL DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse);
4*c2c66affSColin Finck HBITMAP APIENTRY DIB_CreateDIBSection (PDC dc, CONST BITMAPINFO *bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset, DWORD ovr_pitch);
5*c2c66affSColin Finck int FASTCALL DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, LONG *width,
6*c2c66affSColin Finck                        LONG *height, WORD *planes, WORD *bpp, DWORD *compr, DWORD *size );
7*c2c66affSColin Finck INT APIENTRY DIB_GetDIBImageBytes (INT  width, INT height, INT depth);
8*c2c66affSColin Finck HPALETTE FASTCALL DIB_MapPaletteColors(PPALETTE ppal, CONST BITMAPINFO* lpbmi);
9*c2c66affSColin Finck HPALETTE FASTCALL BuildDIBPalette (CONST BITMAPINFO *bmi);
10*c2c66affSColin Finck 
11*c2c66affSColin Finck /* Those functions permit to tranparently work with a BITMAPCOREINFO structure */
12*c2c66affSColin Finck BITMAPINFO* FASTCALL DIB_ConvertBitmapInfo(CONST BITMAPINFO* bmi, DWORD Usage);
13*c2c66affSColin Finck /* Pass Usage = -1 if you don't want to convert the BITMAPINFO back to BITMAPCOREINFO */
14*c2c66affSColin Finck VOID FASTCALL DIB_FreeConvertedBitmapInfo(BITMAPINFO* converted, BITMAPINFO* orig, DWORD Usage);
15*c2c66affSColin Finck 
16*c2c66affSColin Finck INT
17*c2c66affSColin Finck APIENTRY
18*c2c66affSColin Finck GreGetDIBitsInternal(
19*c2c66affSColin Finck     HDC hDC,
20*c2c66affSColin Finck     HBITMAP hBitmap,
21*c2c66affSColin Finck     UINT StartScan,
22*c2c66affSColin Finck     UINT ScanLines,
23*c2c66affSColin Finck     LPBYTE Bits,
24*c2c66affSColin Finck     LPBITMAPINFO Info,
25*c2c66affSColin Finck     UINT Usage,
26*c2c66affSColin Finck     UINT MaxBits,
27*c2c66affSColin Finck     UINT MaxInfo);
28*c2c66affSColin Finck 
29*c2c66affSColin Finck HBITMAP
30*c2c66affSColin Finck NTAPI
31*c2c66affSColin Finck GreCreateDIBitmapFromPackedDIB(
32*c2c66affSColin Finck     _In_reads_(cjPackedDIB )PVOID pvPackedDIB,
33*c2c66affSColin Finck     _In_ UINT cjPackedDIB,
34*c2c66affSColin Finck     _In_ ULONG uUsage);
35*c2c66affSColin Finck 
36*c2c66affSColin Finck #define DIB_PAL_BRUSHHACK 3
37