1#ifndef OE_GUI_MANAGER_H
2#define OE_GUI_MANAGER_H
53 const std::string& name,
const std::string& title,
54 const glm::vec2& pos,
const glm::vec2& size,
55 const int& options = DEFAULT_WINDOW_FLAGS
105 template <
typename T,
typename... Args>
108 std::shared_ptr<T> result = std::make_shared<T>(std::forward<Args>(args)...);
109 _components.push_back(result);
111 result->setManager(
this);
134 inline gui_id_t _generate_new_id()
141 std::shared_ptr<nk_context> _ctx;
148 gui_id_t _last_id = 0;
150 std::vector<component::Window*> _windows;
152 std::vector<std::shared_ptr<Component>> _components;
Event handler.
Definition event_handler.h:22
Definition component.h:22
component::Window * createWindow(const std::string &name, const std::string &title, const glm::vec2 &pos, const glm::vec2 &size, const int &options=DEFAULT_WINDOW_FLAGS)
Renderer & getRenderer()
Definition manager.h:74
Theme & getTheme()
Definition manager.h:66
void bindToWindow(oe::core::Window *window)
void handleEvents(oe::core::EventHandler &)
T * createComponent(Args &&... args)
Definition manager.h:106
void applyTheme()
Apply theme settings before generating GUI.
glm::ivec2 dimensions
Definition manager.h:131
component::Window * getWindow(const std::string &name)
Core functionality (windows, event handler, logger, ...)
Definition cursor.h:8
Graphical user interface (panels, buttons, text input, ...)
Definition component.h:13
Oxygen Engine common namespace.
Definition cursor.h:8
Class providing native access to underlying handles.
Definition native.h:20