rnd-20100313-1-src
[rocksndiamonds.git] / src / game_sp / BitMapObject.h
1 // ----------------------------------------------------------------------------
2 // BitMapObject.h
3 // ----------------------------------------------------------------------------
4
5 #ifndef BITMAPOBJECT_H
6 #define BITMAPOBJECT_H
7
8 #include "vb_types.h"
9 #include "vb_defs.h"
10 #include "vb_vars.h"
11 #include "vb_lib.h"
12
13 #include "global.h"
14
15 #ifndef HAS_BitmapFileHeaderType
16 typedef struct // {    /* bmfh */
17 {
18   byte bfTypeB;
19   byte bfTypeM;
20   long bfSize;
21   int bfReserved1;
22   int bfReserved2;
23   long bfOffBits;
24 } BitmapFileHeaderType;
25 #define HAS_BitmapFileHeaderType
26 #endif
27
28 #ifndef HAS_BitmapInfoHeaderType
29 typedef struct // {    /* bmih */
30 {
31   long biSize;
32   long biWidth;
33   long biHeight;
34   int biPlanes;
35   int biBitCount;
36   long biCompression;
37   long biSizeImage;
38   long biXPelsPerMeter;
39   long biYPelsPerMeter;
40   long biClrUsed;
41   long biClrImportant;
42 } BitmapInfoHeaderType;
43 #define HAS_BitmapInfoHeaderType
44 #endif
45
46 #ifndef HAS_RGBQUADType
47 typedef struct // {     /* rgbq */
48 {
49   byte rgbBlue;
50   byte rgbGreen;
51   byte rgbRed;
52   byte rgbReserved;
53 } RGBQUADType;
54 #define HAS_RGBQUADType
55 #endif
56
57 extern void BitMapObject_CreateAtSize(long XPixels, long YPixels, long BitsPerPixel);
58 extern void BitMapObject_CreateFromFile(char *Path);
59 extern int BitMapObject_GetPaletteIndex(long Color);
60 extern BitMapObject BitMapObject_GetStretchCopy(float StretchVal);
61 extern long BitMapObject_Get_ColorIndex(long X, long Y);
62 extern long BitMapObject_Get_ColorsUsed();
63 extern long BitMapObject_Get_Height();
64 extern long BitMapObject_Get_Palette(long Index);
65 extern long BitMapObject_Get_Point(long X, long Y);
66 extern long BitMapObject_Get_Width();
67 extern void BitMapObject_Let_ColorIndex(long X, long Y, long ColorIndex);
68 extern void BitMapObject_Let_Palette(long Index, long NewVal);
69 extern void BitMapObject_Let_Point(long X, long Y, long NewColor);
70 extern void BitMapObject_SaveToFile(char *Path);
71
72 #endif /* BITMAPOBJECT_H */