#pragma once #include "../Base.hpp" #include "ApplyBorderStyleInfo.hpp" #include "cru/common/Base.hpp" #include namespace cru::ui::style { class Styler : public Object { public: virtual void Apply(controls::Control* control) const; virtual std::unique_ptr Clone() const = 0; }; class BorderStyler : public Styler { public: explicit BorderStyler(ApplyBorderStyleInfo style); void Apply(controls::Control* control) const override; std::unique_ptr Clone() const override { return std::make_unique(style_); } private: ApplyBorderStyleInfo style_; }; } // namespace cru::ui::style