diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-09-16 17:48:19 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-01-13 03:39:31 +0100 |
commit | 892b9732751b64c2016ba476801e1fe4ed4e750f (patch) | |
tree | 99aa40953de5d61e30d47bdf345ee2cb9c3c18e1 /src/Widget.hpp | |
parent | 2017-09-15 (diff) | |
download | AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar.gz AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar.bz2 AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar.lz AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar.xz AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.tar.zst AltCraft-892b9732751b64c2016ba476801e1fe4ed4e750f.zip |
Diffstat (limited to 'src/Widget.hpp')
-rw-r--r-- | src/Widget.hpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/Widget.hpp b/src/Widget.hpp deleted file mode 100644 index 6d78ebe..0000000 --- a/src/Widget.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#pragma once - -#include <vector> -#include <memory> -#include <functional> - -#include "AssetManager.hpp" - -class Widget; -class RootWidget { - std::vector<std::unique_ptr<Widget>> allWidgets; - - std::vector<Widget*> childs; - - double prevX, prevY; - bool prevBut; -public: - RootWidget() = default; - - ~RootWidget() = default; - - void AttachWidget(std::unique_ptr<Widget> widget, Widget* parent); - - void AttachWidget(std::unique_ptr<Widget> widget); - - std::vector<Widget*> GetRenderList(); - - void UpdateEvents(double mouseX, double mouseY, bool mouseButton); -}; - -struct Widget { - Widget() = default; - - virtual ~Widget() = default; - - Widget *parent; - - std::vector<Widget*> childs; - - double x, y, w, h; //In OGL screen-coordinates - - virtual std::tuple<double, double, double, double> GetTexture() = 0; - - - using Handler = std::function<void(Widget*)>; - - Handler onPress; - - Handler onRelease; - - Handler onHover; - - Handler onUnhover; - - Handler onUpdate; -}; - -struct WidgetButton : Widget { - WidgetButton(); - - ~WidgetButton() override = default; - - std::string Text; - - Handler onClick; - - std::tuple<double, double, double, double> GetTexture() override; - - enum class WidgetState { - Idle, - Hovering, - Pressed, - } state; -};
\ No newline at end of file |