aboutsummaryrefslogtreecommitdiff
path: root/src/ui/border_property.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/border_property.cpp')
-rw-r--r--src/ui/border_property.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/ui/border_property.cpp b/src/ui/border_property.cpp
new file mode 100644
index 00000000..03cae16e
--- /dev/null
+++ b/src/ui/border_property.cpp
@@ -0,0 +1,43 @@
+#include "border_property.h"
+
+#include "graph/graph.h"
+
+namespace cru::ui
+{
+ BorderProperty::BorderProperty()
+ {
+ brush_ = graph::CreateSolidBrush(D2D1::ColorF(D2D1::ColorF::Black));
+ }
+
+ void BorderProperty::SetBrush(Microsoft::WRL::ComPtr<ID2D1Brush> brush)
+ {
+ if (brush == nullptr)
+ throw std::invalid_argument("Brush of BorderProperty mustn't be null.");
+ brush_ = std::move(brush);
+ RaisePropertyChangedEvent(brush_property_name);
+ }
+
+ void BorderProperty::SetWidth(const float width)
+ {
+ stroke_width_ = width;
+ RaisePropertyChangedEvent(width_property_name);
+ }
+
+ void BorderProperty::SetStrokeStyle(Microsoft::WRL::ComPtr<ID2D1StrokeStyle> stroke_style)
+ {
+ stroke_style_ = std::move(stroke_style);
+ RaisePropertyChangedEvent(stroke_style_property_name);
+ }
+
+ void BorderProperty::SetRadiusX(const float radius_x)
+ {
+ radius_x_ = radius_x;
+ RaisePropertyChangedEvent(radius_x_property_name);
+ }
+
+ void BorderProperty::SetRadiusY(const float radius_y)
+ {
+ radius_y_ = radius_y;
+ RaisePropertyChangedEvent(radius_y_property_name);
+ }
+}