aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/style/Styler.hpp
diff options
context:
space:
mode:
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;