26#ifndef TGUI_BACKEND_RENDER_TARGET_SFML_HPP
27#define TGUI_BACKEND_RENDER_TARGET_SFML_HPP
29#include <TGUI/Backend/Renderer/BackendRenderTarget.hpp>
31#include <SFML/Graphics/View.hpp>
32#include <SFML/Graphics/RenderStates.hpp>
43TGUI_IGNORE_DEPRECATED_WARNINGS_START
79#ifndef TGUI_REMOVE_DEPRECATED_CODE
95 void drawGui(
const std::shared_ptr<RootContainer>& root)
override;
97#ifndef TGUI_REMOVE_DEPRECATED_CODE
139 const int* indices, std::size_t indexCount,
const std::shared_ptr<BackendTexture>& texture)
override;
155#ifndef TGUI_REMOVE_DEPRECATED_CODE
159 TGUI_DEPRECATED(
"Pass the texture or nullptr to convertRenderStates") sf::
RenderStates convertRenderStates(const
RenderStates& states);
165 sf::RenderStates convertRenderStates(
const RenderStates& states,
const std::shared_ptr<BackendTexture>& texture);
171 sf::RenderTarget* m_target =
nullptr;
176 Color m_clearColor = {240, 240, 240};
179#ifndef TGUI_REMOVE_DEPRECATED_CODE
180 TGUI_DEPRECATED(
"Calculate using m_viewRect, m_viewport and m_targetSize instead. See new updateClipping function.") sf::View m_view;
181 TGUI_DEPRECATED("Use m_clipLayers instead") std::vector<std::pair<
FloatRect, sf::View>> m_clippingLayers;
184TGUI_IGNORE_DEPRECATED_WARNINGS_END
Render target that uses SFML to draw the gui.
Definition: BackendRenderTargetSFML.hpp:48
void drawVertexArray(const RenderStates &states, const Vertex *vertices, std::size_t vertexCount, const int *indices, std::size_t indexCount, const std::shared_ptr< BackendTexture > &texture) override
Draws a vertex array. This is called by the other draw functions when they are not overriden.
void drawSprite(const RenderStates &states, const Sprite &sprite) override
Draws a texture.
void drawGui(const std::shared_ptr< RootContainer > &root) override
Draws the gui and all of its widgets.
void setView(FloatRect view, FloatRect viewport) override
Informs the render target about which part of the window is used for rendering.
BackendRenderTargetSFML(sf::RenderTarget &target)
Constructs the render target.
void addClippingLayer(const RenderStates &states, FloatRect rect) override
Adds another clipping region.
void setClearColor(const Color &color) override
Select the color that will be used by clearScreen.
sf::RenderTarget * getTarget() const
Returns the SFML render target on which the gui is being drawn.
void updateClipping(FloatRect clipRect, FloatRect clipViewport) override
Called from addClippingLayer and removeClippingLayer to apply the clipping.
void clearScreen() override
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called.
void removeClippingLayer() override
Removes the last added clipping region.
Base class for render targets.
Definition: BackendRenderTarget.hpp:48
virtual void setView(FloatRect view, FloatRect viewport)
Informs the render target about which part of the window is used for rendering.
Wrapper for colors.
Definition: Color.hpp:63
Definition: Sprite.hpp:45
Namespace that contains all TGUI functions and classes.
Definition: AbsoluteOrRelativeValue.hpp:36
States used for drawing.
Definition: RenderStates.hpp:39
Definition: Vertex.hpp:37