diff options
Diffstat (limited to 'include/cru/ui/base.hpp')
-rw-r--r-- | include/cru/ui/base.hpp | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/include/cru/ui/base.hpp b/include/cru/ui/base.hpp index c9d4d0ef..fbb87c8c 100644 --- a/include/cru/ui/base.hpp +++ b/include/cru/ui/base.hpp @@ -28,31 +28,16 @@ using cru::platform::native::mouse_buttons::right; } // namespace mouse_buttons namespace colors { -using cru::platform::colors::transparent; -using cru::platform::colors::black; -using cru::platform::colors::silver; -using cru::platform::colors::gray; -using cru::platform::colors::white; -using cru::platform::colors::maroon; -using cru::platform::colors::red; -using cru::platform::colors::purple; -using cru::platform::colors::fuchsia; -using cru::platform::colors::green; -using cru::platform::colors::lime; -using cru::platform::colors::olive; -using cru::platform::colors::yellow; -using cru::platform::colors::navy; -using cru::platform::colors::blue; -using cru::platform::colors::teal; -using cru::platform::colors::aqua; -using cru::platform::colors::orange; using cru::platform::colors::aliceblue; using cru::platform::colors::antiquewhite; +using cru::platform::colors::aqua; using cru::platform::colors::aquamarine; using cru::platform::colors::azure; using cru::platform::colors::beige; using cru::platform::colors::bisque; +using cru::platform::colors::black; using cru::platform::colors::blanchedalmond; +using cru::platform::colors::blue; using cru::platform::colors::blueviolet; using cru::platform::colors::brown; using cru::platform::colors::burlywood; @@ -91,10 +76,13 @@ using cru::platform::colors::dodgerblue; using cru::platform::colors::firebrick; using cru::platform::colors::floralwhite; using cru::platform::colors::forestgreen; +using cru::platform::colors::fuchsia; using cru::platform::colors::gainsboro; using cru::platform::colors::ghostwhite; using cru::platform::colors::gold; using cru::platform::colors::goldenrod; +using cru::platform::colors::gray; +using cru::platform::colors::green; using cru::platform::colors::greenyellow; using cru::platform::colors::grey; using cru::platform::colors::honeydew; @@ -122,9 +110,11 @@ using cru::platform::colors::lightslategray; using cru::platform::colors::lightslategrey; using cru::platform::colors::lightsteelblue; using cru::platform::colors::lightyellow; +using cru::platform::colors::lime; using cru::platform::colors::limegreen; using cru::platform::colors::linen; using cru::platform::colors::magenta; +using cru::platform::colors::maroon; using cru::platform::colors::mediumaquamarine; using cru::platform::colors::mediumblue; using cru::platform::colors::mediumorchid; @@ -139,8 +129,11 @@ using cru::platform::colors::mintcream; using cru::platform::colors::mistyrose; using cru::platform::colors::moccasin; using cru::platform::colors::navajowhite; +using cru::platform::colors::navy; using cru::platform::colors::oldlace; +using cru::platform::colors::olive; using cru::platform::colors::olivedrab; +using cru::platform::colors::orange; using cru::platform::colors::orangered; using cru::platform::colors::orchid; using cru::platform::colors::palegoldenrod; @@ -153,6 +146,9 @@ using cru::platform::colors::peru; using cru::platform::colors::pink; using cru::platform::colors::plum; using cru::platform::colors::powderblue; +using cru::platform::colors::purple; +using cru::platform::colors::rebeccapurple; +using cru::platform::colors::red; using cru::platform::colors::rosybrown; using cru::platform::colors::royalblue; using cru::platform::colors::saddlebrown; @@ -161,6 +157,7 @@ using cru::platform::colors::sandybrown; using cru::platform::colors::seagreen; using cru::platform::colors::seashell; using cru::platform::colors::sienna; +using cru::platform::colors::silver; using cru::platform::colors::skyblue; using cru::platform::colors::slateblue; using cru::platform::colors::slategray; @@ -169,14 +166,17 @@ using cru::platform::colors::snow; using cru::platform::colors::springgreen; using cru::platform::colors::steelblue; using cru::platform::colors::tan; +using cru::platform::colors::teal; using cru::platform::colors::thistle; using cru::platform::colors::tomato; +using cru::platform::colors::transparent; using cru::platform::colors::turquoise; using cru::platform::colors::violet; using cru::platform::colors::wheat; +using cru::platform::colors::white; using cru::platform::colors::whitesmoke; +using cru::platform::colors::yellow; using cru::platform::colors::yellowgreen; -using cru::platform::colors::rebeccapurple; } // namespace colors //-------------------- region: forward declaration -------------------- @@ -202,6 +202,8 @@ enum class Alignment { struct CornerRadius { constexpr CornerRadius() : left_top(), right_top(), left_bottom(), right_bottom() {} + constexpr CornerRadius(const float& value) + : CornerRadius(Point{value, value}) {} constexpr CornerRadius(const Point& value) : left_top(value), right_top(value), @@ -231,6 +233,14 @@ inline bool operator!=(const CornerRadius& left, const CornerRadius& right) { return !(left == right); } +struct BorderStyle { + std::shared_ptr<platform::graph::IBrush> border_brush; + Thickness border_thickness; + CornerRadius border_radius; + std::shared_ptr<platform::graph::IBrush> foreground_brush; + std::shared_ptr<platform::graph::IBrush> background_brush; +}; + class CanvasPaintEventArgs { public: CanvasPaintEventArgs(platform::graph::IPainter* painter, |