2 * GDI bitmap definitions
4 * Copyright 1993, 1994 Alexandre Julliard
7 #ifndef __WINE_BITMAP_H
8 #define __WINE_BITMAP_H
14 /* Additional info for DIB section objects */
17 /* Windows DIB section */
18 DIBSECTION dibSection
;
21 enum { DIB_NoHandler
, DIB_InSync
, DIB_AppMod
, DIB_GdiMod
} status
;
30 /* Selector for 16-bit access to bits */
35 /* Flags used for BitmapBits. We only use the first two at the moment */
40 #define DDB_SETWITHFILLER 8
43 const struct tagDC_FUNCS
*funcs
; /* DC function table */
44 void *physBitmap
; /* ptr to device specific data */
47 /* GDI logical bitmap object */
48 typedef struct tagBITMAPOBJ
52 SIZE32 size
; /* For SetBitmapDimension() */
56 /* For device-independent bitmaps: */
61 /* objects/bitmap.c */
62 extern INT16
BITMAP_GetObject16( BITMAPOBJ
* bmp
, INT16 count
, LPVOID buffer
);
63 extern INT32
BITMAP_GetObject32( BITMAPOBJ
* bmp
, INT32 count
, LPVOID buffer
);
64 extern BOOL32
BITMAP_DeleteObject( HBITMAP16 hbitmap
, BITMAPOBJ
* bitmap
);
65 extern INT32
BITMAP_GetPadding( INT32 width
, INT32 depth
);
66 extern INT32
BITMAP_GetWidthBytes( INT32 width
, INT32 depth
);
67 extern HBITMAP32
BITMAP_LoadBitmap32W(HINSTANCE32 instance
,LPCWSTR name
,
69 extern HBITMAP32
BITMAP_CopyBitmap( HBITMAP32 hbitmap
);
72 extern int DIB_GetDIBWidthBytes( int width
, int depth
);
73 extern int DIB_BitmapInfoSize( BITMAPINFO
* info
, WORD coloruse
);
74 extern int DIB_GetBitmapInfo( const BITMAPINFOHEADER
*header
, DWORD
*width
,
75 int *height
, WORD
*bpp
, WORD
*compr
);
76 extern void DIB_UpdateDIBSection( DC
*dc
, BOOL32 toDIB
);
77 extern void DIB_DeleteDIBSection( BITMAPOBJ
*bmp
);
78 extern void DIB_SelectDIBSection( DC
*dc
, BITMAPOBJ
*bmp
);
79 extern void DIB_FixColorsToLoadflags(BITMAPINFO
* bmi
, UINT32 loadflags
,
82 #endif /* __WINE_BITMAP_H */