aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/button.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2018-11-05 20:54:48 +0800
committercrupest <crupest@outlook.com>2018-11-05 20:54:48 +0800
commit1dab244aaad8694ba37ef43caedd8c8ba0310c00 (patch)
treef70f6489a0f88520a0bdc095cd9713d03f83687b /src/ui/controls/button.cpp
parent252519effe30881825dd02e26dc41bd9cde34782 (diff)
downloadcru-1dab244aaad8694ba37ef43caedd8c8ba0310c00.tar.gz
cru-1dab244aaad8694ba37ef43caedd8c8ba0310c00.tar.bz2
cru-1dab244aaad8694ba37ef43caedd8c8ba0310c00.zip
...
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();
}
}