diff options
Diffstat (limited to 'mwe/events/include/uiObject.h')
-rw-r--r-- | mwe/events/include/uiObject.h | 74 |
1 files changed, 36 insertions, 38 deletions
diff --git a/mwe/events/include/uiObject.h b/mwe/events/include/uiObject.h index 893232d..23efe44 100644 --- a/mwe/events/include/uiObject.h +++ b/mwe/events/include/uiObject.h @@ -1,70 +1,68 @@ #pragma once +#include "event.h" +#include "eventHandler.h" #include "gameObject.h" #include <SDL2/SDL.h> #include <SDL_ttf.h> -#include "event.h" -#include "eventHandler.h" #include <functional> struct Alignment { - enum class Horizontal { LEFT, CENTER, RIGHT }; - enum class Vertical { TOP, MIDDLE, BOTTOM }; - enum class PositioningMode { RELATIVE, STATIC,ABSOLUTE }; + enum class Horizontal { LEFT, CENTER, RIGHT }; + enum class Vertical { TOP, MIDDLE, BOTTOM }; + enum class PositioningMode { RELATIVE, STATIC, ABSOLUTE }; - Horizontal horizontal = Horizontal::CENTER; - Vertical vertical = Vertical::MIDDLE; - PositioningMode mode = PositioningMode::RELATIVE; + Horizontal horizontal = Horizontal::CENTER; + Vertical vertical = Vertical::MIDDLE; + PositioningMode mode = PositioningMode::RELATIVE; - int staticX = 0; - int staticY = 0; + int staticX = 0; + int staticY = 0; - int marginTop = 0; - int marginBottom = 0; - int marginLeft = 0; - int marginRight = 0; + int marginTop = 0; + int marginBottom = 0; + int marginLeft = 0; + int marginRight = 0; }; -struct RGBColor{ +struct RGBColor { int red; int green; int blue; }; -class UIObject : public GameObject{ - public: - UIObject(int width,int height); +class UIObject : public GameObject { +public: + UIObject(int width, int height); virtual ~UIObject() {} int width; int height; int x; int y; }; -class Button : public UIObject{ - public: - Button(int width,int height); +class Button : public UIObject { +public: + Button(int width, int height); RGBColor color; std::function<void()> onClick; - }; -class Text : public UIObject{ - public: - Text(int width,int height); +class Text : public UIObject { +public: + Text(int width, int height); std::string text; int size; Alignment alignment; //font resource - TTF_Font *font; + TTF_Font * font; RGBColor color; }; class TextInput : public UIObject { public: - TextInput(int width, int height); - std::string textBuffer; - std::string placeholder; - bool isActive = false; - RGBColor textColor; - RGBColor backgroundColor; - size_t maxLength = 100; - Alignment alignment; - TTF_Font* font = nullptr; - std::function<void()> onSubmit; - std::function<void()> onFocus; + TextInput(int width, int height); + std::string textBuffer; + std::string placeholder; + bool isActive = false; + RGBColor textColor; + RGBColor backgroundColor; + size_t maxLength = 100; + Alignment alignment; + TTF_Font * font = nullptr; + std::function<void()> onSubmit; + std::function<void()> onFocus; }; - |