Euphoria
container.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 
6 namespace eu::render
7 {
8  struct SpriteRenderer;
9 }
10 
11 namespace eu::gui
12 {
13  struct Widget;
14 }
15 
16 
17 namespace eu::gui
18 {
19  struct Container
20  {
21  std::vector<std::shared_ptr<Widget>> widgets;
22 
25 
26  Container(const Container&) = delete;
27  Container(Container&&) = delete;
28  void operator=(const Container&) = delete;
29  void operator=(Container&&) = delete;
30 
31  void add(std::shared_ptr<Widget> widget);
32  void update(float dt);
33 
34  void render(render::SpriteRenderer* renderer) const;
35 
36  [[nodiscard]] bool has_any_widgets() const;
37  };
38 }
39 
bool has_any_widgets() const
Definition: container.cc:15
void operator=(const Container &)=delete
void add(std::shared_ptr< Widget > widget)
Definition: container.cc:22
void update(float dt)
Definition: container.cc:29
void render(render::SpriteRenderer *renderer) const
Definition: container.cc:39
std::vector< std::shared_ptr< Widget > > widgets
Definition: container.h:21
Container(Container &&)=delete
Container(const Container &)=delete
void operator=(Container &&)=delete