1 #pragma once 2 3 // Image Options 4 #define LC_IMAGE_TRANSPARENT 0x2000 5 //#define LC_IMAGE_MASK 0x7000 6 7 enum lcPixelFormat 8 { 9 LC_PIXEL_FORMAT_INVALID, 10 LC_PIXEL_FORMAT_A8, 11 LC_PIXEL_FORMAT_L8A8, 12 LC_PIXEL_FORMAT_R8G8B8, 13 LC_PIXEL_FORMAT_R8G8B8A8 14 }; 15 16 class Image 17 { 18 public: 19 Image(); 20 Image(Image&& Other); 21 virtual ~Image(); 22 23 Image(const Image&) = delete; 24 Image& operator=(const Image&) = delete; 25 Image& operator=(Image&&) = delete; 26 27 int GetBPP() const; 28 bool HasAlpha() const; 29 30 bool FileLoad(lcMemFile& File); 31 bool FileLoad(const QString& FileName); 32 33 void Resize(int Width, int Height); 34 void ResizePow2(); 35 void Allocate(int Width, int Height, lcPixelFormat Format); 36 void FreeData(); 37 38 int mWidth; 39 int mHeight; 40 lcPixelFormat mFormat; 41 unsigned char* mData; 42 }; 43 44