2012-08-28 00:34:37 +02:00
|
|
|
#ifndef _COMPRESSED_IMAGE_H_
|
|
|
|
#define _COMPRESSED_IMAGE_H_
|
|
|
|
|
|
|
|
enum ECompressionFormat {
|
|
|
|
eCompressionFormat_DXT1,
|
|
|
|
eCompressionFormat_DXT5,
|
|
|
|
eCompressionFormat_BPTC,
|
|
|
|
|
|
|
|
kNumCompressionFormats
|
|
|
|
};
|
|
|
|
|
|
|
|
class CompressedImage {
|
|
|
|
|
|
|
|
private:
|
|
|
|
unsigned char *m_Data;
|
|
|
|
unsigned int m_DataSz;
|
|
|
|
unsigned int m_Width;
|
|
|
|
unsigned int m_Height;
|
|
|
|
ECompressionFormat m_Format;
|
|
|
|
|
|
|
|
void InitData(const unsigned char *withData);
|
|
|
|
public:
|
2012-08-28 04:49:00 +02:00
|
|
|
CompressedImage();
|
2012-08-28 00:34:37 +02:00
|
|
|
CompressedImage(
|
|
|
|
const unsigned int width,
|
|
|
|
const unsigned int height,
|
|
|
|
const ECompressionFormat format,
|
|
|
|
const unsigned char *data
|
|
|
|
);
|
|
|
|
|
2012-10-20 22:54:43 +02:00
|
|
|
unsigned int GetHeight() const { return m_Height; }
|
|
|
|
unsigned int GetWidth() const { return m_Width; }
|
|
|
|
|
2012-08-28 00:34:37 +02:00
|
|
|
CompressedImage( const CompressedImage &other );
|
|
|
|
~CompressedImage();
|
2012-09-19 01:00:20 +02:00
|
|
|
|
|
|
|
bool DecompressImage(unsigned char *outBuf, unsigned int outBufSz) const;
|
2012-08-28 00:34:37 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _COMPRESSED_IMAGE_H_
|