Bitmap_RLE16.h
Go to the documentation of this file.00001 00015 #ifndef __Bitmap_RLE16_H__ 00016 #define __Bitmap_RLE16_H__ 00017 00018 // Includes 00019 #include "Bitmap.h" 00020 00021 // Forward declares 00022 class Image; 00023 00024 00025 // Bitmap_RLE16 00026 class Bitmap_RLE16:public Bitmap 00027 { 00028 public: 00029 Bitmap_RLE16(); 00030 00031 Bitmap_RLE16(const Asset& asset); 00032 00033 Bitmap_RLE16( 00034 const Image& image, 00035 bool dither = false 00036 ); 00037 00038 ~Bitmap_RLE16(); 00039 00040 virtual StringId GetType(); 00041 00042 virtual unsigned short* GetColorData(); 00043 00044 virtual unsigned char* GetAlphaData(); 00045 00046 virtual void Clear(); 00047 00048 virtual void Fill(int x1, int y1, int x2, int y2, unsigned short color, unsigned char alpha = 255 ); 00049 virtual void Fill(unsigned short color, unsigned char alpha = 255); 00050 00051 virtual int GetWidth(Transformation transformation = NoTransformation) const; 00052 virtual int GetHeight(Transformation transformation = NoTransformation) const; 00053 00054 virtual unsigned short GetPixelColor(int x, int y, Transformation transformation = NoTransformation) const; 00055 virtual unsigned char GetPixelAlpha(int x, int y, Transformation transformation = NoTransformation) const; 00056 00057 virtual void SetPixelColor(int x, int y, unsigned short color, Transformation transformation = NoTransformation); 00058 virtual void SetPixelAlpha(int x, int y, unsigned char alpha, Transformation transformation = NoTransformation); 00059 00060 virtual void BlendPixel(int x, int y, unsigned short color, unsigned char alpha, Transformation transformation = NoTransformation); 00061 00062 virtual void Blit(Bitmap& target, int x, int y, unsigned short modulate = 0xffff, unsigned char alpha = 255, Transformation transformation = NoTransformation) const; 00063 virtual void Blit(int x1, int y1, int x2, int y2, Bitmap& target, int x, int y, unsigned short modulate = 0xffff, unsigned char alpha = 255, Transformation transformation = NoTransformation) const; 00064 00065 virtual void Copy(Bitmap& target, int x, int y, unsigned short modulate = 0xffff, Transformation transformation = NoTransformation) const; 00066 virtual void Copy(int x1, int y1, int x2, int y2, Bitmap& target, int x, int y, unsigned short modulate = 0xffff, Transformation transformation = NoTransformation) const; 00067 00068 virtual void Save(Asset& asset) const; 00069 virtual void Load(const Asset& asset); 00070 00071 virtual void WriteToAsset(Asset* asset) const; 00072 virtual void ReadFromAsset(const Asset* asset); 00073 00074 private: 00075 00076 void BlitRLE(Bitmap& target, int xp, int yp) const; 00077 00078 private: 00079 friend class GenerateRLE16; 00080 unsigned int opaqueSize_; 00081 unsigned char* opaqueData_; 00082 unsigned int alphaSize_; 00083 unsigned char* alphaData_; 00084 }; 00085 00086 00087 00088 00089 #endif /* __Bitmap_RLE16_H__ */ 00090
Reproduction/republishing of any material on this site without permission is strictly prohibited.
