00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00024 #ifndef __ze_zimage_h__
00025 #define __ze_zimage_h__
00026
00027 #include "ZE_ZObject.h"
00028
00029 namespace ZE
00030 {
00031
00037 class ZImage : public ZObject
00038 {
00039 protected:
00041 GLfloat rTexMinX;
00043 GLfloat rTexMinY;
00045 GLfloat rTexMaxX;
00047 GLfloat rTexMaxY;
00049 SDL_Surface *rImage;
00051 unsigned int rTexID;
00053 unsigned int rWidth;
00055 unsigned int rHeight;
00056
00057 public:
00058
00064 ZImage();
00065
00072 ZImage(string filename);
00073
00080 ZImage(SDL_Surface *surface);
00081
00093 ZImage(SDL_Surface *img, Sint16 x, Sint16 y, Sint16 w, Sint16 h);
00094
00100 ~ZImage();
00101
00103
00105
00112 void Open(string filename);
00113
00125 void OpenFromImage(SDL_Surface *img, Sint16 x, Sint16 y, Sint16 w, Sint16 h);
00126
00133 void Attach(SDL_Surface *surface);
00134
00140 void Reload();
00141
00147 void Release();
00148
00150
00152
00161 void SetColorKey(Uint8 red, Uint8 green, Uint8 blue);
00162
00170 void Flip(bool horizontal, bool vertical);
00171
00179 void Stretch(float xFactor, float yFactor);
00180
00188 void Resize(unsigned int width, unsigned int height);
00189
00196 void Bind();
00197
00205 void Draw(float x, float y);
00206
00215 void DrawRotated(int x, int y, float angle);
00216
00218
00220
00227 bool IsLoaded();
00228
00234 SDL_Surface *Surface();
00235
00242 int Width();
00243
00250 int Height();
00251 };
00252
00253 }
00254
00255 #endif