aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/style
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-01-24 20:26:58 +0800
committercrupest <crupest@outlook.com>2022-01-24 20:26:58 +0800
commit72402c09d45b696cd58a65b4a141a804e1cd9371 (patch)
tree4a8793a588370c071d576f144994495886d8e909 /include/cru/ui/style
parent549b072d241a8d2d1ca187bba8c1cb5190dd737e (diff)
downloadcru-72402c09d45b696cd58a65b4a141a804e1cd9371.tar.gz
cru-72402c09d45b696cd58a65b4a141a804e1cd9371.tar.bz2
cru-72402c09d45b696cd58a65b4a141a804e1cd9371.zip
...
Diffstat (limited to 'include/cru/ui/style')
-rw-r--r--include/cru/ui/style/StyleRule.hpp7
-rw-r--r--include/cru/ui/style/Styler.hpp5
2 files changed, 12 insertions, 0 deletions
diff --git a/include/cru/ui/style/StyleRule.hpp b/include/cru/ui/style/StyleRule.hpp
index e6035784..743aa759 100644
--- a/include/cru/ui/style/StyleRule.hpp
+++ b/include/cru/ui/style/StyleRule.hpp
@@ -10,6 +10,13 @@
namespace cru::ui::style {
class StyleRule : public Object {
public:
+ static ClonablePtr<StyleRule> Create(ClonablePtr<Condition> condition,
+ ClonablePtr<Styler> styler,
+ String name = {}) {
+ return ClonablePtr<StyleRule>(new StyleRule(
+ std::move(condition), std::move(styler), std::move(name)));
+ }
+
StyleRule(ClonablePtr<Condition> condition, ClonablePtr<Styler> styler,
String name = {});
diff --git a/include/cru/ui/style/Styler.hpp b/include/cru/ui/style/Styler.hpp
index 721a3bfd..3bf0b027 100644
--- a/include/cru/ui/style/Styler.hpp
+++ b/include/cru/ui/style/Styler.hpp
@@ -25,6 +25,11 @@ class CompoundStyler : public Styler {
new CompoundStyler(std::vector<ClonablePtr<Styler>>{std::move(s)...}));
}
+ static ClonablePtr<CompoundStyler> Create(
+ std::vector<ClonablePtr<Styler>> stylers) {
+ return ClonablePtr<CompoundStyler>(new CompoundStyler(std::move(stylers)));
+ }
+
explicit CompoundStyler(std::vector<ClonablePtr<Styler>> stylers)
: stylers_(std::move(stylers)) {}