#ifndef __CBITMAPHANDLER_H__ #define __CBITMAPHANDLER_H__ #include "../global.h" struct SDL_Surface; class CLodHandler; /* * CBitmapHandler.h, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */ enum Epcxformat {PCX8B, PCX24B}; /// Struct which stands for a simple rgba palette struct BMPPalette { unsigned char R,G,B,F; }; /// Class which converts pcx to bmp images class CPCXConv { public: unsigned char * pcx, *bmp; int pcxs, bmps; void fromFile(std::string path); void saveBMP(std::string path) const; void openPCX(char * PCX, int len); SDL_Surface * getSurface() const; //for standard H3 PCX //SDL_Surface * getSurfaceZ(); //for ZSoft PCX CPCXConv() //c-tor : pcx(NULL), bmp(NULL), pcxs(0), bmps(0) {} ~CPCXConv() //d-tor { if (pcxs) delete[] pcx; if (bmps) delete[] bmp; } }; namespace BitmapHandler { SDL_Surface * loadBitmap(std::string fname, bool setKey=true); }; #endif // __CBITMAPHANDLER_H__