aboutsummaryrefslogtreecommitdiff
path: root/src/ui/controls/button.cpp
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-09-15 17:06:34 +0800
committer杨宇千 <crupest@outlook.com>2019-09-15 17:06:34 +0800
commit574e69fb379cd54fc3034fe45a155e770435b97d (patch)
tree96fab3a1db66fa974a135e777778e56a861745bc /src/ui/controls/button.cpp
parent55d98d3259e9f3e184ad6323d1d49d298bd1723b (diff)
downloadcru-574e69fb379cd54fc3034fe45a155e770435b97d.tar.gz
cru-574e69fb379cd54fc3034fe45a155e770435b97d.tar.bz2
cru-574e69fb379cd54fc3034fe45a155e770435b97d.zip
...
Diffstat (limited to 'src/ui/controls/button.cpp')
-rw-r--r--src/ui/controls/button.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/ui/controls/button.cpp b/src/ui/controls/button.cpp
index 5e32e064..1a1f4286 100644
--- a/src/ui/controls/button.cpp
+++ b/src/ui/controls/button.cpp
@@ -37,11 +37,10 @@ Button::Button() : click_detector_(this) {
border_style_.press_cancel.corner_radius =
render::CornerRadius{Point{10, 5}};
- render_object_.reset(
- new render::BorderRenderObject(border_style_.normal.brush));
+ render_object_.reset(new render::BorderRenderObject);
render_object_->SetAttachedControl(this);
- render_object_->SetEnabled(true);
- render_object_->SetStyle(border_style_.normal);
+ render_object_->SetBorderEnabled(true);
+ (*render_object_->GetBorderStyle()) = border_style_.normal;
MouseEnterEvent()->Direct()->AddHandler([this](event::MouseEventArgs& args) {
if (click_detector_.GetPressingButton() & trigger_button_) {
@@ -85,19 +84,19 @@ void Button::OnChildChanged(Control* old_child, Control* new_child) {
void Button::OnStateChange(ButtonState oldState, ButtonState newState) {
switch (newState) {
case ButtonState::Normal:
- render_object_->SetStyle(border_style_.normal);
+ (*render_object_->GetBorderStyle()) = border_style_.normal;
SetCursor(GetSystemCursor(SystemCursor::Arrow));
break;
case ButtonState::Hover:
- render_object_->SetStyle(border_style_.hover);
+ (*render_object_->GetBorderStyle()) = border_style_.hover;
SetCursor(GetSystemCursor(SystemCursor::Hand));
break;
case ButtonState::Press:
- render_object_->SetStyle(border_style_.press);
+ (*render_object_->GetBorderStyle()) = border_style_.press;
SetCursor(GetSystemCursor(SystemCursor::Hand));
break;
case ButtonState::PressCancel:
- render_object_->SetStyle(border_style_.press_cancel);
+ (*render_object_->GetBorderStyle()) = border_style_.press_cancel;
SetCursor(GetSystemCursor(SystemCursor::Arrow));
break;
}