diff options
Diffstat (limited to 'src/ui/controls/button.cpp')
-rw-r--r-- | src/ui/controls/button.cpp | 30 |
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(); } } |