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, const WindowSettings& Params = WindowSettings());
00067
00075 RenderWindow(WindowHandle Handle, const WindowSettings& Params = WindowSettings());
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
00114 void SetView(const View& NewView);
00115
00122 const View& GetView() const;
00123
00130 View& GetDefaultView();
00131
00142 sf::Vector2f ConvertCoords(unsigned int WindowX, unsigned int WindowY, const View* TargetView = NULL) const;
00143
00155 void PreserveOpenGLStates(bool Preserve);
00156
00157 private :
00158
00163 virtual void OnCreate();
00164
00169 virtual void OnDisplay();
00170
00175 void SetRenderStates() const;
00176
00178
00180 Color myBackgroundColor;
00181 View myDefaultView;
00182 const View* myCurrentView;
00183 bool myPreserveStates;
00184 mutable bool myIsDrawing;
00185 };
00186
00187 }
00188
00189
00190 #endif // SFML_RENDERWINDOW_HPP