[4576] | 1 | /* $Id: bitmap.h,v 1.2 2000-11-09 18:23:22 sandervl Exp $ */
|
---|
[4] | 2 |
|
---|
| 3 | /*
|
---|
| 4 | * GDI bitmap definitions
|
---|
| 5 | *
|
---|
| 6 | * Copyright 1993, 1994 Alexandre Julliard
|
---|
| 7 | */
|
---|
| 8 |
|
---|
| 9 | #ifndef __WINE_BITMAP_H
|
---|
| 10 | #define __WINE_BITMAP_H
|
---|
| 11 |
|
---|
[4576] | 12 | ////#include "gdi.h"
|
---|
[4] | 13 |
|
---|
| 14 | struct tagGDI_BITMAP_DRIVER;
|
---|
| 15 |
|
---|
| 16 | /* Flags used for BitmapBits. We only use the first two at the moment */
|
---|
| 17 |
|
---|
| 18 | #define DDB_SET 1
|
---|
| 19 | #define DDB_GET 2
|
---|
| 20 | #define DDB_COPY 4
|
---|
| 21 | #define DDB_SETWITHFILLER 8
|
---|
| 22 |
|
---|
| 23 | typedef struct {
|
---|
| 24 | const struct tagDC_FUNCS *funcs; /* DC function table */
|
---|
| 25 | void *physBitmap; /* ptr to device specific data */
|
---|
| 26 | } DDBITMAP;
|
---|
| 27 |
|
---|
[4576] | 28 | #if 0
|
---|
[4] | 29 | /* GDI logical bitmap object */
|
---|
| 30 | typedef struct tagBITMAPOBJ
|
---|
| 31 | {
|
---|
| 32 | GDIOBJHDR header;
|
---|
| 33 | BITMAP bitmap;
|
---|
| 34 | SIZE size; /* For SetBitmapDimension() */
|
---|
| 35 |
|
---|
| 36 | DDBITMAP *DDBitmap;
|
---|
| 37 |
|
---|
| 38 | /* For device-independent bitmaps: */
|
---|
| 39 | DIBSECTION *dib;
|
---|
| 40 | } BITMAPOBJ;
|
---|
| 41 |
|
---|
| 42 | typedef struct tagBITMAP_DRIVER
|
---|
| 43 | {
|
---|
| 44 | INT (*pSetDIBits)(struct tagBITMAPOBJ *,struct tagDC *,UINT,UINT,LPCVOID,const BITMAPINFO *,UINT,HBITMAP);
|
---|
| 45 | INT (*pGetDIBits)(struct tagBITMAPOBJ *,struct tagDC *,UINT,UINT,LPVOID,BITMAPINFO *,UINT,HBITMAP);
|
---|
| 46 | VOID (*pDeleteDIBSection)(struct tagBITMAPOBJ *);
|
---|
| 47 | } BITMAP_DRIVER;
|
---|
| 48 |
|
---|
| 49 | extern BITMAP_DRIVER *BITMAP_Driver;
|
---|
| 50 |
|
---|
| 51 | /* objects/bitmap.c */
|
---|
| 52 | extern INT16 BITMAP_GetObject16( BITMAPOBJ * bmp, INT16 count, LPVOID buffer );
|
---|
| 53 | extern INT BITMAP_GetObject( BITMAPOBJ * bmp, INT count, LPVOID buffer );
|
---|
| 54 | extern BOOL BITMAP_DeleteObject( HBITMAP16 hbitmap, BITMAPOBJ * bitmap );
|
---|
[4576] | 55 | #endif
|
---|
| 56 |
|
---|
[4] | 57 | extern INT BITMAP_GetWidthBytes( INT width, INT depth );
|
---|
| 58 | extern HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name, UINT loadflags );
|
---|
| 59 | extern HBITMAP BITMAP_CopyBitmap( HBITMAP hbitmap );
|
---|
| 60 |
|
---|
| 61 | /* objects/dib.c */
|
---|
| 62 | extern int DIB_GetDIBWidthBytes( int width, int depth );
|
---|
| 63 | extern int DIB_GetDIBImageBytes( int width, int height, int depth );
|
---|
| 64 | extern int DIB_BitmapInfoSize( const BITMAPINFO * info, WORD coloruse );
|
---|
| 65 | extern int DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, DWORD *width,
|
---|
| 66 | int *height, WORD *bpp, WORD *compr );
|
---|
[4576] | 67 | //extern void DIB_UpdateDIBSection( DC *dc, BOOL toDIB );
|
---|
| 68 | //extern void DIB_DeleteDIBSection( BITMAPOBJ *bmp );
|
---|
| 69 | //extern void DIB_SelectDIBSection( DC *dc, BITMAPOBJ *bmp );
|
---|
[4] | 70 | extern void DIB_FixColorsToLoadflags(BITMAPINFO * bmi, UINT loadflags,
|
---|
| 71 | BYTE pix);
|
---|
| 72 |
|
---|
| 73 | #endif /* __WINE_BITMAP_H */
|
---|