aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/button.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/controls/button.cpp')
-rw-r--r--src/ui/controls/button.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/ui/controls/button.cpp b/src/ui/controls/button.cpp
index db0b71c2..e600eb89 100644
--- a/src/ui/controls/button.cpp
+++ b/src/ui/controls/button.cpp
@@ -6,33 +6,31 @@ namespace cru::ui::controls
{
using graph::CreateSolidBrush;
- Button::Button() : Control(true)
+ Button::Button() : Control(true),
+ normal_border_{CreateSolidBrush(D2D1::ColorF(D2D1::ColorF::RoyalBlue))},
+ pressed_border_{CreateSolidBrush(D2D1::ColorF(D2D1::ColorF::Blue))}
{
- normal_border_ = BorderProperty::Create();
- normal_border_->SetBrush(CreateSolidBrush(D2D1::ColorF(D2D1::ColorF::RoyalBlue)));
- normal_border_->SetWidth(2);
- normal_border_->SetRadiusX(6);
- normal_border_->SetRadiusY(6);
+ normal_border_.SetStrokeWidth(2);
+ normal_border_.SetRadiusX(6);
+ normal_border_.SetRadiusY(6);
- pressed_border_ = BorderProperty::Create();
- pressed_border_->SetBrush(CreateSolidBrush(D2D1::ColorF(D2D1::ColorF::Blue)));
- pressed_border_->SetWidth(2);
- pressed_border_->SetRadiusX(6);
- pressed_border_->SetRadiusY(6);
+ pressed_border_.SetStrokeWidth(2);
+ pressed_border_.SetRadiusX(6);
+ pressed_border_.SetRadiusY(6);
SetBordered(true);
- SetBorderProperty(normal_border_);
+ GetBorderProperty() = normal_border_;
}
void Button::OnMouseClickBegin(MouseButton button)
{
- SetBorderProperty(pressed_border_);
- Repaint();
+ GetBorderProperty() = pressed_border_;
+ InvalidateBorder();
}
void Button::OnMouseClickEnd(MouseButton button)
{
- SetBorderProperty(normal_border_);
- Repaint();
+ GetBorderProperty() = normal_border_;
+ InvalidateBorder();
}
}