From 723ea4bcd705a029bf632204b03b91e8aca29b87 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 28 Oct 2021 19:40:08 +0200 Subject: [PATCH] LibWeb: Add Layout::Box::border_box_as_relative_rect() This helper returns the border box (content+padding+border) of a given box. Margin not included. --- Userland/Libraries/LibWeb/Layout/Box.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Userland/Libraries/LibWeb/Layout/Box.h b/Userland/Libraries/LibWeb/Layout/Box.h index dc7ecee20b1..d256ecbc734 100644 --- a/Userland/Libraries/LibWeb/Layout/Box.h +++ b/Userland/Libraries/LibWeb/Layout/Box.h @@ -88,6 +88,17 @@ public: return { m_offset, m_size }; } + Gfx::FloatRect border_box_as_relative_rect() const + { + auto rect = content_box_as_relative_rect(); + auto border_box = box_model().border_box(); + rect.set_x(rect.x() - border_box.left); + rect.set_width(rect.width() + border_box.left + border_box.right); + rect.set_y(rect.y() - border_box.top); + rect.set_height(rect.height() + border_box.top + border_box.bottom); + return rect; + } + Gfx::FloatRect margin_box_as_relative_rect() const { auto rect = content_box_as_relative_rect();