diff options
Diffstat (limited to 'src/ui/render/BorderRenderObject.cpp')
| -rw-r--r-- | src/ui/render/BorderRenderObject.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
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(); |
