Parcourir la source

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.
Andreas Kling il y a 3 ans
Parent
commit
723ea4bcd7
1 fichiers modifiés avec 11 ajouts et 0 suppressions
  1. 11 0
      Userland/Libraries/LibWeb/Layout/Box.h

+ 11 - 0
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();