www.pudn.com > airhockey.rar > texture.h
#ifndef __TEXTURE_H #define __TEXTURE_H #include#include #include #include #include #include #define BITMAP_ID 0x4D42 // the universal bitmap ID enum texTypes_t { PCX, BMP, TGA }; // only partial pcx file header typedef struct { unsigned char manufacturer; unsigned char version; unsigned char encoding; unsigned char bits; unsigned char xMin; unsigned char yMin; unsigned char xMax; unsigned char yMax; unsigned char *palette; } PCXHEADER; class CTexture { private: long int scaledWidth; long int scaledHeight; unsigned char *palette; unsigned char *LoadBitmapFile(char *filename, BITMAPINFOHEADER *bitmapInfoHeader); unsigned char *LoadPCXFile(char *filename, PCXHEADER *pcxHeader); void LoadPCXTexture(char *filename); void LoadBMPTexture(char *filename); public: texTypes_t textureType; int width; int height; unsigned int texID; unsigned char *data; CTexture() { data = NULL; palette = NULL; } ~CTexture() {} void LoadTexture(char *filename); void Unload() { glDeleteTextures(1, &texID); if (data != NULL) free(data); if (palette != NULL) free(palette); data = NULL; palette = NULL; } }; #endif