From bc3fa9650699046f3a87a620282ee43f26b2fa75 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 14 Dec 2025 21:00:19 +0800 Subject: Fix render rect of border render object. --- src/ui/render/BorderRenderObject.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/ui/render/BorderRenderObject.cpp b/src/ui/render/BorderRenderObject.cpp index 144ad787..42cd9576 100644 --- a/src/ui/render/BorderRenderObject.cpp +++ b/src/ui/render/BorderRenderObject.cpp @@ -133,6 +133,17 @@ Thickness BorderRenderObject::GetInnerSpaceThickness() { : RenderObject::GetInnerSpaceThickness(); } +Rect BorderRenderObject::GetBorderRect() { + const auto size = GetSize(); + Rect rect{Point{}, size}; + rect = rect.Shrink(GetMargin()); + rect.left = std::min(rect.left, size.width); + rect.top = std::min(rect.top, size.height); + rect.width = std::max(rect.width, 0.0f); + rect.height = std::max(rect.height, 0.0f); + return rect; +} + Rect BorderRenderObject::GetPaddingRect() { const auto size = GetSize(); Rect rect{Point{}, size}; @@ -158,6 +169,8 @@ Rect BorderRenderObject::GetContentRect() { return rect; } +Rect BorderRenderObject::GetRenderRect() { return GetBorderRect(); } + void BorderRenderObject::RecreateGeometry() { geometry_.reset(); border_outer_geometry_.reset(); -- cgit v1.2.3