aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/style/Styler.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-12-03 22:44:57 +0800
committercrupest <crupest@outlook.com>2020-12-03 22:44:57 +0800
commitb29fb11be2f043a3438a50d8942b4ad7d2af0034 (patch)
tree5847f7b880b43f2596bc10b46fc52c6f028a7a58 /include/cru/ui/style/Styler.hpp
parent93a8bf8b967817031cd2798cdaedfa73f867dead (diff)
downloadcru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.tar.gz
cru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.tar.bz2
cru-b29fb11be2f043a3438a50d8942b4ad7d2af0034.zip
...
Diffstat (limited to 'include/cru/ui/style/Styler.hpp')
-rw-r--r--include/cru/ui/style/Styler.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/cru/ui/style/Styler.hpp b/include/cru/ui/style/Styler.hpp
index 2aece114..10b169b1 100644
--- a/include/cru/ui/style/Styler.hpp
+++ b/include/cru/ui/style/Styler.hpp
@@ -2,19 +2,24 @@
#include "../Base.hpp"
#include "ApplyBorderStyleInfo.hpp"
#include "cru/common/Base.hpp"
+#include "cru/common/ClonablePtr.hpp"
#include <memory>
namespace cru::ui::style {
class Styler : public Object {
public:
- virtual void Apply(controls::Control* control) const;
+ virtual void Apply(controls::Control* control) const = 0;
virtual Styler* Clone() const = 0;
};
class BorderStyler : public Styler {
public:
+ static ClonablePtr<BorderStyler> Create(ApplyBorderStyleInfo style) {
+ return ClonablePtr<BorderStyler>(new BorderStyler(std::move(style)));
+ }
+
explicit BorderStyler(ApplyBorderStyleInfo style);
void Apply(controls::Control* control) const override;