diff options
author | 杨宇千 <crupest@outlook.com> | 2019-09-15 17:06:34 +0800 |
---|---|---|
committer | 杨宇千 <crupest@outlook.com> | 2019-09-15 17:06:34 +0800 |
commit | 574e69fb379cd54fc3034fe45a155e770435b97d (patch) | |
tree | 96fab3a1db66fa974a135e777778e56a861745bc /src/ui/controls/button.cpp | |
parent | 55d98d3259e9f3e184ad6323d1d49d298bd1723b (diff) | |
download | cru-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.cpp | 15 |
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; } |