From 497217a3e09b577f650aaf503356588515067ca8 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 25 Sep 2022 17:29:17 +0200 Subject: widgets --- include/gui/WidgetContainer.hpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 include/gui/WidgetContainer.hpp (limited to 'include/gui/WidgetContainer.hpp') diff --git a/include/gui/WidgetContainer.hpp b/include/gui/WidgetContainer.hpp new file mode 100644 index 0000000..e40ffb9 --- /dev/null +++ b/include/gui/WidgetContainer.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +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 widgets; + }; +} \ No newline at end of file -- cgit v1.2.3