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
;
32 /* Flags used for BitmapBits. We only use the first two at the moment */
37 #define DDB_SETWITHFILLER 8
40 const struct tagDC_FUNCS
*funcs
; /* DC function table */
41 void *physBitmap
; /* ptr to device specific data */
44 /* GDI logical bitmap object */
45 typedef struct tagBITMAPOBJ
49 SIZE32 size
; /* For SetBitmapDimension() */
53 /* For device-independent bitmaps: */
58 /* objects/bitmap.c */
59 extern INT16
BITMAP_GetObject16( BITMAPOBJ
* bmp
, INT16 count
, LPVOID buffer
);
60 extern INT32
BITMAP_GetObject32( BITMAPOBJ
* bmp
, INT32 count
, LPVOID buffer
);
61 extern BOOL32
BITMAP_DeleteObject( HBITMAP16 hbitmap
, BITMAPOBJ
* bitmap
);
62 extern INT32
BITMAP_GetPadding( INT32 width
, INT32 depth
);
63 extern INT32
BITMAP_GetWidthBytes( INT32 width
, INT32 depth
);
64 extern HBITMAP32
BITMAP_LoadBitmap32W(HINSTANCE32 instance
,LPCWSTR name
,
66 extern HBITMAP32
BITMAP_CopyBitmap( HBITMAP32 hbitmap
);
69 extern int DIB_GetDIBWidthBytes( int width
, int depth
);
70 extern int DIB_BitmapInfoSize( BITMAPINFO
* info
, WORD coloruse
);
71 extern int DIB_GetBitmapInfo( const BITMAPINFOHEADER
*header
, DWORD
*width
,
72 int *height
, WORD
*bpp
, WORD
*compr
);
73 extern void DIB_UpdateDIBSection( DC
*dc
, BOOL32 toDIB
);
74 extern void DIB_DeleteDIBSection( BITMAPOBJ
*bmp
);
75 extern void DIB_SelectDIBSection( DC
*dc
, BITMAPOBJ
*bmp
);
76 extern void DIB_FixColorsToLoadflags(BITMAPINFO
* bmi
, UINT32 loadflags
,
79 #endif /* __WINE_BITMAP_H */