aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/BorderRenderObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/render/BorderRenderObject.cpp')
-rw-r--r--src/ui/render/BorderRenderObject.cpp13
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();