00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEOS_IMAGE_H
00022 #define KEOS_IMAGE_H
00023
00024 #include "KeosPrerequisites.h"
00025
00026 namespace Keos
00027 {
00028
00032 class KEOS_EXPORT CImage
00033 {
00034 public :
00035
00040 CImage(const TVector2I& Size = TVector2I(1, 1), TPixelFormat Format = PXF_A8R8G8B8);
00041
00047 CImage(const TVector2I& Size, TPixelFormat Format, const uchar* pPixels);
00048
00051 const TVector2I& GetSize() const;
00052
00055 TPixelFormat GetFormat() const;
00056
00059 const uchar* GetData() const;
00060
00063 void Fill(const CColor& Color);
00064
00070 void SetPixel(int x, int y, const uchar* pPix);
00071
00077 void SetPixel(int x, int y, const CColor& Color);
00078
00084 void GetPixel(int x, int y, uchar* pPix) const;
00085
00091 CColor GetPixel(int x, int y) const;
00092
00098 void CopyImage(const CImage& Src);
00099
00104 CImage SubImage(const CRectangle& Rect) const;
00105
00108 void Flip();
00109
00112 void Mirror();
00113
00114 private :
00115
00117 TVector2I m_Size;
00119 TPixelFormat m_Format;
00121 std::vector<uchar> m_Pixels;
00122 };
00123
00124 }
00125
00126 #endif // KEOS_IMAGE_H