2 * GDI bitmap definitions
4 * Copyright 1993, 1994 Alexandre Julliard
7 #ifndef __WINE_BITMAP_H
8 #define __WINE_BITMAP_H
12 /* GDI logical bitmap object */
18 SIZE16 size
; /* For SetBitmapDimension() */
21 /* GCs used for B&W and color bitmap operations */
22 extern GC BITMAP_monoGC
, BITMAP_colorGC
;
24 #define BITMAP_GC(bmp) \
25 (((bmp)->bitmap.bmBitsPixel == 1) ? BITMAP_monoGC : BITMAP_colorGC)
27 #define BITMAP_WIDTH_BYTES(width,bpp) \
28 (((bpp) == 24) ? (width) * 4 : ((width) * (bpp) + 15) / 16 * 2)
30 #define XCREATEIMAGE(image,width,height,bpp) \
32 int width_bytes = DIB_GetImageWidthBytes( (width), (bpp) ); \
33 (image) = XCreateImage(display, DefaultVisualOfScreen(screen), \
34 (bpp), ZPixmap, 0, xmalloc( (height)*width_bytes ),\
35 (width), (height), 32, width_bytes ); \
38 /* objects/bitmap.c */
39 extern BOOL
BITMAP_Init(void);
40 extern INT16
BITMAP_GetObject16( BITMAPOBJ
* bmp
, INT16 count
, LPVOID buffer
);
41 extern INT32
BITMAP_GetObject32( BITMAPOBJ
* bmp
, INT32 count
, LPVOID buffer
);
42 extern BOOL
BITMAP_DeleteObject( HBITMAP hbitmap
, BITMAPOBJ
* bitmap
);
43 extern HBITMAP
BITMAP_SelectObject( DC
* dc
, HBITMAP hbitmap
,
47 extern int DIB_GetImageWidthBytes( int width
, int depth
);
48 extern int DIB_BitmapInfoSize( BITMAPINFO
* info
, WORD coloruse
);
50 /* objects/oembitmap.c */
51 extern HBITMAP
OBM_LoadBitmap( WORD id
);
52 extern HANDLE
OBM_LoadCursorIcon( WORD id
, BOOL fCursor
);
54 #endif /* __WINE_BITMAP_H */