26 #ifndef TGUI_CANVAS_HPP
27 #define TGUI_CANVAS_HPP
29 #include <TGUI/Config.hpp>
31 #if TGUI_HAS_BACKEND_SFML
33 #include <TGUI/Widgets/ClickableWidget.hpp>
34 #include <SFML/Graphics/RenderTexture.hpp>
35 #include <SFML/Graphics/Sprite.hpp>
43 class TGUI_API CanvasSFML :
public ClickableWidget
47 typedef std::shared_ptr<CanvasSFML> Ptr;
48 typedef std::shared_ptr<const CanvasSFML> ConstPtr;
58 CanvasSFML(
const char* typeName =
"Canvas",
bool initRenderer =
true);
64 CanvasSFML(
const CanvasSFML& copy);
70 CanvasSFML(CanvasSFML&& copy);
76 CanvasSFML& operator= (
const CanvasSFML& right);
82 CanvasSFML& operator= (CanvasSFML&& right);
93 static CanvasSFML::Ptr create(Layout2d size = {
"100%",
"100%"});
104 static CanvasSFML::Ptr copy(CanvasSFML::ConstPtr canvas);
113 void setSize(
const Layout2d& size)
override;
130 void setView(
const sf::View& view);
138 const sf::View& getView()
const;
148 const sf::View& getDefaultView()
const;
159 IntRect getViewport()
const;
180 void draw(
const sf::Drawable& drawable,
const sf::RenderStates& states = {});
192 void draw(
const sf::Vertex* vertices, std::size_t vertexCount,
193 sf::PrimitiveType type,
const sf::RenderStates& states = {});
204 void draw(
const tgui::Sprite& sprite,
const RenderStates& states = {});
225 void draw(BackendRenderTargetBase& target, RenderStates states)
const override;
234 bool canGainFocus()
const override;
244 sf::RenderTexture& getRenderTexture()
246 return m_renderTexture;
259 void rendererChanged(
const String& property)
override;
267 return std::make_shared<CanvasSFML>(*
this);
274 sf::RenderTexture m_renderTexture;
280 using Canvas = CanvasSFML;
static const Color Black
Black predefined color.
Definition: Color.hpp:236
Definition: Sprite.hpp:49
Namespace that contains all TGUI functions and classes.
Definition: AbsoluteOrRelativeValue.hpp:36