RenderTexture.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_RENDERTEXTURE_HPP
26 #define SFML_RENDERTEXTURE_HPP
27 
29 // Headers
31 #include <SFML/Graphics/Export.hpp>
32 #include <SFML/Graphics/Texture.hpp>
33 #include <SFML/Graphics/RenderTarget.hpp>
34 #include <SFML/Window/ContextSettings.hpp>
35 
36 
37 namespace sf
38 {
39 namespace priv
40 {
41  class RenderTextureImpl;
42 }
43 
48 class SFML_GRAPHICS_API RenderTexture : public RenderTarget
49 {
50 public:
51 
62 
67  virtual ~RenderTexture();
68 
89  SFML_DEPRECATED bool create(unsigned int width, unsigned int height, bool depthBuffer);
90 
109  bool create(unsigned int width, unsigned int height, const ContextSettings& settings = ContextSettings());
110 
117  static unsigned int getMaximumAntialiasingLevel();
118 
130  void setSmooth(bool smooth);
131 
140  bool isSmooth() const;
141 
153  void setRepeated(bool repeated);
154 
163  bool isRepeated() const;
164 
180 
196  bool setActive(bool active = true);
197 
207  void display();
208 
218  virtual Vector2u getSize() const;
219 
234  const Texture& getTexture() const;
235 
236 private:
237 
239  // Member data
241  priv::RenderTextureImpl* m_impl;
242  Texture m_texture;
243 };
244 
245 } // namespace sf
246 
247 
248 #endif // SFML_RENDERTEXTURE_HPP
249 
250 
Base class for all render targets (window, texture, ...)
Target for off-screen 2D rendering into a texture.
const Texture & getTexture() const
Get a read-only reference to the target texture.
bool create(unsigned int width, unsigned int height, bool depthBuffer)
Create the render-texture.
RenderTexture()
Default constructor.
bool create(unsigned int width, unsigned int height, const ContextSettings &settings=ContextSettings())
Create the render-texture.
bool isSmooth() const
Tell whether the smooth filtering is enabled or not.
bool setActive(bool active=true)
Activate or deactivate the render-texture for rendering.
virtual Vector2u getSize() const
Return the size of the rendering region of the texture.
bool isRepeated() const
Tell whether the texture is repeated or not.
bool generateMipmap()
Generate a mipmap using the current texture data.
virtual ~RenderTexture()
Destructor.
static unsigned int getMaximumAntialiasingLevel()
Get the maximum anti-aliasing level supported by the system.
void setSmooth(bool smooth)
Enable or disable texture smoothing.
void setRepeated(bool repeated)
Enable or disable texture repeating.
void display()
Update the contents of the target texture.
Image living on the graphics card that can be used for drawing.
Definition: Texture.hpp:49
Structure defining the settings of the OpenGL context attached to a window.