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.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;
}