From 3b7e3d0ca26b526c8c4e6fc335085ac28d63bbab Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 2 Oct 2018 00:15:52 +0800 Subject: Make button use border delegate. --- src/ui/controls/border_delegate.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/ui/controls/border_delegate.cpp') diff --git a/src/ui/controls/border_delegate.cpp b/src/ui/controls/border_delegate.cpp index 4031d787..ec7ba437 100644 --- a/src/ui/controls/border_delegate.cpp +++ b/src/ui/controls/border_delegate.cpp @@ -61,12 +61,19 @@ namespace cru::ui::controls border_property_->RemovePropertyChangedListener(border_property_changed_listener_); border_property_ = std::move(border_property); border_property_->AddPropertyChangedListener(border_property_changed_listener_); + control_->Repaint(); } void BorderDelegate::Draw(ID2D1DeviceContext* device_context, const Size& size) const { device_context->DrawRoundedRectangle( - D2D1::RoundedRect(D2D1::RectF(0.0f, 0.0f, size.width, size.height), + D2D1::RoundedRect( + D2D1::RectF( + border_property_->GetWidth() / 2.0f, + border_property_->GetWidth() / 2.0f, + size.width - border_property_->GetWidth(), + size.height - border_property_->GetWidth() + ), border_property_->GetRadiusX(), border_property_->GetRadiusY() ), -- cgit v1.2.3