00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(AFX_Image_H__0EBAA0E7_3103_43A4_90C0_5708ECE6DB43__INCLUDED_)
00022 #define AFX_Image_H__0EBAA0E7_3103_43A4_90C0_5708ECE6DB43__INCLUDED_
00023
00024 #include <string>
00025
00026 class ImageHandle;
00027 class Image
00028 {
00029 public:
00030 virtual ~Image();
00031
00032 virtual unsigned char *getBits() = 0;
00033 virtual unsigned char *getBitsOffset(int offset);
00034 virtual unsigned char *getBitsPos(int x, int y);
00035 virtual int getWidth() = 0;
00036 virtual int getHeight() = 0;
00037
00038 virtual void removeOwnership() = 0;
00039
00040 virtual int getAlignment() = 0;
00041 virtual int getComponents() = 0;
00042
00043 virtual bool writeToFile(const std::string &filename);
00044
00045 #ifndef S3D_SERVER
00046 ImageHandle createAlphaMult(float mult);
00047 ImageHandle createResize(int newWidth, int newHeight);
00048 #endif
00049 };
00050
00051 #endif // !defined(AFX_Image_H__0EBAA0E7_3103_43A4_90C0_5708ECE6DB43__INCLUDED_)