00001 #ifndef __NE_SDL_WINDOW_H__ 00002 #define __NE_SDL_WINDOW_H__ 00003 00004 #ifndef DOXYGEN_IGNORE_TAG 00005 00026 #endif 00027 00028 #include "../../Window.h" 00029 00030 struct SDL_Surface; 00031 00032 namespace NE 00033 { 00034 class SDL_Window : public Window 00035 { 00036 private: 00037 SDL_Surface* pNativeWindow; 00038 00039 unsigned int getFlags(const bool isFullscreen, const bool isOpenGL)const; 00040 00041 protected: 00042 00043 void* getNativeWindow(void)const { return pNativeWindow; } 00044 00045 public: 00046 static bool isRedCrossPressed; 00049 SDL_Window(void):Window(),pNativeWindow(NULL) {} 00050 ~SDL_Window(void); 00051 00052 bool createWindow(const USize2& winSize, const unsigned short bpp, const bool isFullscreen, const std::string& windowName, const std::string& windowIcon ="", const bool showCursor = false); 00053 void destroyWindow(void); 00054 00055 USize2 getWindowSize(void)const; 00056 int getBitsPerPixel(void)const; 00057 00058 bool needWindowClosure(void)const { return isRedCrossPressed; } 00059 }; 00060 } 00061 00066 #endif