00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_RENDERWINDOW_HPP
00026 #define SFML_RENDERWINDOW_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032 #include <SFML/Graphics/Image.hpp>
00033 #include <SFML/Graphics/View.hpp>
00034 #include <SFML/Graphics/Rect.hpp>
00035 #include <SFML/Window/Window.hpp>
00036 #include <string>
00037
00038
00039 namespace sf
00040 {
00041 class Drawable;
00042
00047 class SFML_API RenderWindow : public Window
00048 {
00049 public :
00050
00055 RenderWindow();
00056
00066 RenderWindow(VideoMode Mode, const std::string& Title, unsigned long WindowStyle = Style::Resize | Style::Close, int AntialiasingLevel = 0);
00067
00075 RenderWindow(WindowHandle Handle, int AntialiasingLevel = 0);
00076
00081 virtual ~RenderWindow();
00082
00089 void Draw(const Drawable& Object) const;
00090
00097 Image Capture() const;
00098
00106 void SetBackgroundColor(const Color& Col);
00107
00115 void SetView(const View* NewView);
00116
00123 const FloatRect& GetViewRect() const;
00124
00133 void OptimizeForNonOpenGL(bool Optimize);
00134
00135 private :
00136
00141 virtual void OnCreate();
00142
00147 virtual void OnDisplay();
00148
00153 virtual void OnEventReceived(const Event& EventReceived);
00154
00159 void SetRenderStates() const;
00160
00162
00164 Color myBackgroundColor;
00165 View myDefaultView;
00166 FloatRect myCurrentRect;
00167 float myCurrentProjection[16];
00168 bool myOptimizeStates;
00169 };
00170
00171 }
00172
00173
00174 #endif // SFML_RENDERWINDOW_HPP