8 #include <SFML/Graphics/Rect.hpp> 9 #include <SFML/Graphics/RenderTexture.hpp> 10 #include <SFML/Graphics/View.hpp> 11 #include <SFML/System/Vector2.hpp> 12 #include <SFML/Window/Event.hpp> 14 #include <NasNas/core/data/ShaderHolder.hpp> 15 #include <NasNas/core/graphics/Renderable.hpp> 16 #include <NasNas/ui/Style.hpp> 17 #include <NasNas/ui/Widget.hpp> 25 auto addWidget() -> T&;
27 void setSize(
float x,
float y);
28 void setSize(
const sf::Vector2f& size);
29 auto getSize()
const -> sf::Vector2f;
31 auto getGlobalBounds()
const -> sf::FloatRect
override;
32 auto contains(
const sf::Vector2f& pos)
const ->
bool override;
34 void onEvent(
const sf::Event& event);
35 void render()
override;
38 auto transformPosition(
const sf::Vector2f& position)
const -> sf::Vector2f;
39 auto getWidgetUnder(
const sf::Vector2f& position)
const ->
Widget*;
40 void draw(sf::RenderTarget& target, sf::RenderStates states)
const override;
42 std::vector<std::unique_ptr<Widget>> m_widgets;
43 Widget* m_hovered_widget =
nullptr;
44 std::vector<Widget*> m_touched_widgets;
47 sf::RenderTexture m_render_texture;
51 auto Container::addWidget() -> T& {
52 auto* new_widget =
new T();
53 new_widget->m_root = m_root;
54 new_widget->m_parent =
this;
55 m_widgets.emplace_back(new_widget);