/* * UIElement.h * * Created on: Nov 27, 2016 * Author: tibi */ #ifndef GUI_PRIMITIVES_UIELEMENT_H_ #define GUI_PRIMITIVES_UIELEMENT_H_ #include #include namespace farmlands { namespace gui { namespace primitives { class UIElement { public: UIElement(); virtual ~UIElement(); virtual void render(RenderContext& context); virtual bool handleEvent(SDL_Event& event); // Getters & setters inline float x() const { return m_x; } inline float y() const { return m_y; } inline float width() const { return m_w; } inline float height() const { return m_h; } inline SDL_Color backColor() const { return m_backColor; } virtual void setPosition(float x, float y); virtual void setSize(float w, float h); virtual void setBackColor(SDL_Color backColor); virtual void setBackColor(float r, float g, float b, float a = 1.0f); private: float m_x, m_y; float m_w, m_h; SDL_Color m_backColor; }; } /* namespace primitives */ } /* namespace gui */ } /* namespace farmlands */ #endif /* GUI_PRIMITIVES_UIELEMENT_H_ */