]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/image/bmp.h
fix windows compile, it's possible the linux build broke and will need misc tweaks...
[xonotic/netradiant.git] / plugins / image / bmp.h
index c246f17215823d3fbace17a334e48dedb4cac383..ea93165cdb58e61b336a40bfcdcfb8809037a6db 100644 (file)
-/*\r
-Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
-For a list of contributors, see the accompanying CONTRIBUTORS file.\r
-\r
-This file is part of GtkRadiant.\r
-\r
-GtkRadiant is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-GtkRadiant is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with GtkRadiant; if not, write to the Free Software\r
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
-*/\r
-\r
-#ifndef _BMP_H\r
-#define _BMP_H\r
-\r
-#define xBI_NONE  0\r
-#define xBI_RGB   0\r
-#define xBI_RLE4  2\r
-#define xBI_RLE8  1\r
-\r
-#define BMP_SIGNATURE_WORD  0x4d42\r
-\r
-#pragma pack(1)\r
-\r
-\r
-\r
-typedef struct {\r
-    unsigned short    bfType;       // signature - 'BM'\r
-    unsigned long     bfSize;       // file size in bytes\r
-    unsigned short    bfReserved1;  // 0\r
-    unsigned short    bfReserved2;  // 0\r
-    unsigned long     bfOffBits;    // offset to bitmap\r
-} bmphd_t;\r
-\r
-\r
-\r
-typedef struct {\r
-    unsigned long     biSize;       // size of this struct\r
-    long              biWidth;      // bmap width in pixels\r
-    long              biHeight;     // bmap height in pixels\r
-    unsigned short    biPlanes;     // num planes - always 1\r
-    unsigned short    biBitCount;   // bits perpixel\r
-    unsigned long     biCompression; // compression flag\r
-    unsigned long     biSizeImage;   // image size in bytes\r
-    long              biXPelsPerMeter; // horz resolution\r
-    long              biYPelsPerMeter; // vert resolution\r
-    unsigned long     biClrUsed;       // 0 -> color table size\r
-    unsigned long     biClrImportant;  // important color count\r
-} binfo_t;\r
-\r
-\r
-typedef struct {\r
-    unsigned char blue;\r
-    unsigned char green;\r
-    unsigned char red;\r
-    unsigned char reserved;\r
-} drgb_t;\r
-\r
-\r
-// quake expects its palette to be bgr\r
-// this is totally backwards but what can you do\r
-typedef struct {\r
-    unsigned char r;\r
-    unsigned char g;\r
-    unsigned char b;\r
-} rgb_t;\r
-\r
-\r
-typedef struct {\r
-    unsigned char b;\r
-    unsigned char g;\r
-    unsigned char r;\r
-} bgr_t;\r
-\r
-\r
-typedef struct {\r
-       int            bpp;        // bits per pixel\r
-    int            width;\r
-    int            height;\r
-    unsigned char *data;\r
-    rgb_t         *palette;\r
-} bitmap_t;\r
-\r
-\r
-void LoadBMP(char *filename, bitmap_t *bit);\r
-void FreeBMP(bitmap_t *bitmap);\r
-void WriteBMP(char *filename, bitmap_t *bit);\r
-void NewBMP(int width, int height, int bpp, bitmap_t *bit);\r
-\r
-\r
-\r
-#endif\r
+/*
+Copyright (C) 1999-2007 id Software, Inc. and contributors.
+For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+This file is part of GtkRadiant.
+
+GtkRadiant is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+GtkRadiant is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GtkRadiant; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef _BMP_H
+#define _BMP_H
+
+#define xBI_NONE  0
+#define xBI_RGB   0
+#define xBI_RLE4  2
+#define xBI_RLE8  1
+
+#define BMP_SIGNATURE_WORD  0x4d42
+
+#pragma pack(push)
+#pragma pack(1)
+
+typedef struct {
+    unsigned short    bfType;       // signature - 'BM'
+    unsigned long     bfSize;       // file size in bytes
+    unsigned short    bfReserved1;  // 0
+    unsigned short    bfReserved2;  // 0
+    unsigned long     bfOffBits;    // offset to bitmap
+} bmphd_t;
+
+
+
+typedef struct {
+    unsigned long     biSize;       // size of this struct
+    long              biWidth;      // bmap width in pixels
+    long              biHeight;     // bmap height in pixels
+    unsigned short    biPlanes;     // num planes - always 1
+    unsigned short    biBitCount;   // bits perpixel
+    unsigned long     biCompression; // compression flag
+    unsigned long     biSizeImage;   // image size in bytes
+    long              biXPelsPerMeter; // horz resolution
+    long              biYPelsPerMeter; // vert resolution
+    unsigned long     biClrUsed;       // 0 -> color table size
+    unsigned long     biClrImportant;  // important color count
+} binfo_t;
+
+
+typedef struct {
+    unsigned char blue;
+    unsigned char green;
+    unsigned char red;
+    unsigned char reserved;
+} drgb_t;
+
+
+// quake expects its palette to be bgr
+// this is totally backwards but what can you do
+typedef struct {
+    unsigned char r;
+    unsigned char g;
+    unsigned char b;
+} rgb_t;
+
+
+typedef struct {
+    unsigned char b;
+    unsigned char g;
+    unsigned char r;
+} bgr_t;
+
+
+typedef struct {
+       int            bpp;        // bits per pixel
+    int            width;
+    int            height;
+    unsigned char *data;
+    rgb_t         *palette;
+} bitmap_t;
+
+
+void LoadBMP(char *filename, bitmap_t *bit);
+void FreeBMP(bitmap_t *bitmap);
+void WriteBMP(char *filename, bitmap_t *bit);
+void NewBMP(int width, int height, int bpp, bitmap_t *bit);
+
+#pragma pack(pop)
+
+#endif