KeosImage.h

Go to the documentation of this file.
00001 /*
00002  * This source file is part of KEOS (Free 3D Engine)
00003  * For the latest info, see http://www.keosengine.org/
00004  * E-mails : thierry.vouriot@keosengine.org, yeri@keosengine.org
00005  *
00006  * This program is free software; you can redistribute it and/or modify it under
00007  * the terms of the GNU Lesser General Public License as published by the Free Software
00008  * Foundation; either version 2 of the License, or (at your option) any later
00009  * version.
00010  *
00011  * This program is distributed in the hope that it will be useful, but WITHOUT
00012  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00013  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public License along with
00016  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
00017  * Place - Suite 330, Boston, MA 02111-1307, USA, or go to
00018  * http://www.gnu.org/copyleft/lesser.txt.
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 } // namespace Keos
00125 
00126 #endif // KEOS_IMAGE_H

Generated on Fri Mar 9 14:29:02 2007 for Keos by  doxygen 1.5.1-p1