SDL_Window.h
Aller à la documentation de ce fichier.00001 #ifndef _SDL_WINDOW_H
00002 #define _SDL_WINDOW_H
00003
00009 #include <list>
00010 #include <vector>
00011 #include <algorithm>
00012 #include <functional>
00013
00014 #include "BorderTexture.h"
00015 #include "refevent.h"
00016
00027 class SDL_Window
00028 {
00029 public:
00030 Uint32 Rmask;
00031 Uint32 Gmask;
00032 Uint32 Bmask;
00033 Uint32 Amask;
00034
00035 protected:
00036 std::list<SDL_Window *> filles;
00037 SDL_Rect coord;
00038 SDL_Window *mere;
00039 SDL_Surface *shadow;
00040 SDL_Surface *window;
00041 SDL_Surface *body;
00042 BorderTexture *border;
00043 std::vector<RefEvent> gesEvent;
00044
00045
00046
00047 private:
00048 SDL_Surface * screen;
00049 SDL_Rect oldCoord;
00050 bool drawed;
00051 bool needInit;
00052
00053 public:
00057 bool Draw(void);
00069 bool Resize(short width, short height, unsigned char relative = 0);
00080 bool Resize(float width, float height, bool target=0);
00092 bool Move(short x, short y, unsigned char relative);
00100 bool Move(float x, float y);
00105 bool ClearWindow();
00109 SDL_Window(void);
00115 virtual ~SDL_Window();
00126 void SetMasks(unsigned long rmask, unsigned long gmask, unsigned long bmask, unsigned long amask=0);
00132 std::list<SDL_Window*>::iterator CreateSubWindow(void);
00139 bool InitTextures(BorderTexture *bordTex,char* filebody);
00149 bool SetAlpha(unsigned char alpha,bool srcAlpha=true,bool rleAccel=true);
00154 void calcCoord(SDL_Rect *c);
00162 SDL_Window(SDL_Window &source, SDL_Window *mere=0);
00170 SDL_Window &operator=(SDL_Window &source);
00175 SDL_Window(SDL_Window *Mere);
00176
00177 protected:
00182 bool PrepareWindow();
00183
00184 };
00185 #endif
00186