diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-08-01 20:46:13 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-08-01 20:46:13 +0200 |
commit | 27255cdb64b87c048fad70ca893f684cf61819a4 (patch) | |
tree | d89ea70475d1e8e9508d652eef836c49c0d162a8 /include | |
parent | 6624db873c91087bc1805b9d018c92c455b85190 (diff) |
Change global widget container to page
Diffstat (limited to 'include')
-rw-r--r-- | include/gui/Page.hpp | 27 | ||||
-rw-r--r-- | include/gui/Widget.hpp | 1 | ||||
-rw-r--r-- | include/gui/WidgetContainer.hpp | 30 |
3 files changed, 27 insertions, 31 deletions
diff --git a/include/gui/Page.hpp b/include/gui/Page.hpp new file mode 100644 index 0000000..1435e68 --- /dev/null +++ b/include/gui/Page.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include <vector> +#include <memory> + +namespace mgl { + class Event; + class Window; +} + +namespace gsr { + class Widget; + + class Page { + public: + Page() = default; + Page(const Page&) = delete; + Page& operator=(const Page&) = delete; + + void add_widget(std::unique_ptr<Widget> widget); + + void on_event(mgl::Event &event, mgl::Window &window); + void draw(mgl::Window &window); + private: + std::vector<std::unique_ptr<Widget>> widgets; + }; +}
\ No newline at end of file diff --git a/include/gui/Widget.hpp b/include/gui/Widget.hpp index 81f47b5..63cb64a 100644 --- a/include/gui/Widget.hpp +++ b/include/gui/Widget.hpp @@ -24,6 +24,5 @@ namespace gsr { virtual mgl::vec2f get_position() const; protected: mgl::vec2f position; - bool move_to_top = false; }; }
\ No newline at end of file diff --git a/include/gui/WidgetContainer.hpp b/include/gui/WidgetContainer.hpp deleted file mode 100644 index e40ffb9..0000000 --- a/include/gui/WidgetContainer.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include <vector> -#include <memory> - -namespace mgl { - class Event; - class Window; -} - -namespace gsr { - class Widget; - - class WidgetContainer { - public: - static WidgetContainer& get_instance(); - - void add_widget(Widget *widget); - void remove_widget(Widget *widget); - - void on_event(mgl::Event &event, mgl::Window &window); - void draw(mgl::Window &window); - private: - WidgetContainer() = default; - WidgetContainer& operator=(const WidgetContainer&) = delete; - WidgetContainer(const WidgetContainer&) = delete; - private: - std::vector<Widget*> widgets; - }; -}
\ No newline at end of file |