RenderWindow.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_RENDERWINDOW_HPP
26 #define SFML_RENDERWINDOW_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/RenderTarget.hpp>
33 #include <SFML/Graphics/Image.hpp>
34 #include <SFML/Window/Window.hpp>
35 #include <string>
36 
37 
38 namespace sf
39 {
44 class SFML_GRAPHICS_API RenderWindow : public Window, public RenderTarget
45 {
46 public:
47 
56 
76  RenderWindow(VideoMode mode, const String& title, Uint32 style = Style::Default, const ContextSettings& settings = ContextSettings());
77 
94  explicit RenderWindow(WindowHandle handle, const ContextSettings& settings = ContextSettings());
95 
102  virtual ~RenderWindow();
103 
113  virtual Vector2u getSize() const;
114 
131  bool setActive(bool active = true);
132 
158  SFML_DEPRECATED Image capture() const;
159 
160 protected:
161 
170  virtual void onCreate();
171 
179  virtual void onResize();
180 };
181 
182 } // namespace sf
183 
184 
185 #endif // SFML_RENDERWINDOW_HPP
186 
187 
Class for loading, manipulating and saving images.
Definition: Image.hpp:47
Base class for all render targets (window, texture, ...)
Window that can serve as a target for 2D drawing.
RenderWindow(WindowHandle handle, const ContextSettings &settings=ContextSettings())
Construct the window from an existing control.
virtual ~RenderWindow()
Destructor.
Image capture() const
Copy the current contents of the window to an image.
virtual void onCreate()
Function called after the window has been created.
virtual void onResize()
Function called after the window has been resized.
RenderWindow()
Default constructor.
virtual Vector2u getSize() const
Get the size of the rendering region of the window.
RenderWindow(VideoMode mode, const String &title, Uint32 style=Style::Default, const ContextSettings &settings=ContextSettings())
Construct a new window.
bool setActive(bool active=true)
Activate or deactivate the window as the current target for OpenGL rendering.
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:46
VideoMode defines a video mode (width, height, bpp)
Definition: VideoMode.hpp:42
Window that serves as a target for OpenGL rendering.
platform specific WindowHandle
Define a low-level window handle type, specific to each platform.
@ Default
Default window style.
Definition: WindowStyle.hpp:46
Structure defining the settings of the OpenGL context attached to a window.