]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/image/bmp.h
Merge branch 'master' into divVerent/farplanedist-sky-fix
[xonotic/netradiant.git] / plugins / image / bmp.h
index fbe66288339c1a71164dc5943895140778511e7a..bbb0714e5742165c2bb9478093194c3db4deeacf 100644 (file)
@@ -1,6 +1,6 @@
 /*
-   Copyright (C) 1999-2007 id Software, Inc. and contributors.
-   For a list of contributors, see the accompanying CONTRIBUTORS file.
+   Copyright (C) 2001-2006, William Joseph.
+   All Rights Reserved.
 
    This file is part of GtkRadiant.
 
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#ifndef _BMP_H
-#define _BMP_H
+#if !defined ( INCLUDED_BMP_H )
+#define INCLUDED_BMP_H
 
-#define xBI_NONE  0
-#define xBI_RGB   0
-#define xBI_RLE4  2
-#define xBI_RLE8  1
+class Image;
+class ArchiveFile;
 
-#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)
+Image* LoadBMP( ArchiveFile& file );
 
 #endif