Go to the documentation of this file.00001
00002
00003 #ifndef _RENDER_WINDOW_H_
00004 #define _RENDER_WINDOW_H_
00005
00006 #include <EngineConfig.h>
00007 #include <core/Types.h>
00008 #include <render/RenderTarget.h>
00009
00010 #include <string>
00011
00012 namespace render
00013 {
00014
00031 class ENGINE_PUBLIC_EXPORT RenderWindow: public RenderTarget
00032 {
00033 public:
00034
00044 virtual void create(u32 width, u32 height, u32 colorDepth, bool fullScreen, u32 left, u32 top, bool depthBuffer, void* windowId = NULL) = 0;
00045
00050 virtual void setFullscreen(bool fullScreen, u32 width, u32 height);
00051
00053 virtual void destroy() = 0;
00054
00056 virtual void resize(u32 width, u32 height) = 0;
00057
00059 virtual void reposition(s32 left, s32 top) = 0;
00060
00070 virtual bool isVisible() const;
00071
00073 virtual void setVisible(bool visible);
00074
00075 virtual bool isActive() const;
00076
00078 virtual bool isClosed() const = 0;
00079
00097 virtual void swapBuffers(bool waitForVSync = true) = 0;
00098
00099 virtual void setCaption(const std::string& text) = 0;
00100
00102 virtual void windowMovedOrResized();
00103
00105 virtual bool isFullScreen();
00106
00109 virtual void getMetrics(u32& width, u32& height, u32& colorDepth, s32& left, s32& top);
00110
00111 protected:
00112
00113 virtual void updateImpl(f32 elapsedTime);
00114
00115 bool mIsFullScreen;
00116
00117 s32 mLeft;
00118 s32 mTop;
00119
00120 void* mWindowId;
00121 };
00122
00123 }
00124
00125 #endif