11#include "../component.h"
12#include "../../paint/background.h"
13#include "../../paint/border.h"
20 Shape(Sml::Color fillColor = Sml::COLOR_TRANSPARENT);
22 virtual ~Shape()
override =
default;
24 virtual void layout()
override final;
25 virtual bool isResizable()
const override final;
32 Sml::Color getFillColor()
const;
33 void setFillColor(Sml::Color color);
36 void setBackground(
const Background* background);
38 const Border* getBorder()
const;
39 void setBorder(
const Border* border);
41 virtual int32_t computeMinWidth(int32_t height = -1)
const override final;
42 virtual int32_t computeMinHeight(int32_t width = -1)
const override final;
44 virtual int32_t computeMaxWidth(int32_t height = -1)
const override final;
45 virtual int32_t computeMaxHeight(int32_t width = -1)
const override final;
48 Sml::Color m_FillColor = Sml::COLOR_TRANSPARENT;
50 const Border* m_Border =
nullptr;