1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
vcmi/client/CBitmapHandler.h
beegee1 7f04ed990b Major refactoring. First part: BattleInterface
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00

54 lines
1.1 KiB
C++

#pragma once
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
{
ui8 R,G,B,F;
};
/// Class which converts pcx to bmp images
class CPCXConv
{
public:
ui8 * 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
{
//Load file from specific LOD
SDL_Surface * loadBitmapFromLod(CLodHandler *lod, std::string fname, bool setKey=true);
//Load file from any LODs
SDL_Surface * loadBitmap(std::string fname, bool setKey=true);
};