mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:27:35 +00:00
LibWeb: Support Element.client{Top,Left,Width,Height}
This commit is contained in:
parent
9d852623f2
commit
3006e15c94
3 changed files with 42 additions and 0 deletions
|
@ -358,4 +358,36 @@ NonnullRefPtr<Geometry::DOMRect> Element::get_bounding_client_rect() const
|
|||
return Geometry::DOMRect::create(box.absolute_rect().translated(-viewport_offset.x(), -viewport_offset.y()));
|
||||
}
|
||||
|
||||
int Element::client_top() const
|
||||
{
|
||||
if (!layout_node() || !layout_node()->is_box())
|
||||
return 0;
|
||||
auto& box = static_cast<Layout::Box const&>(*layout_node());
|
||||
return box.absolute_rect().top();
|
||||
}
|
||||
|
||||
int Element::client_left() const
|
||||
{
|
||||
if (!layout_node() || !layout_node()->is_box())
|
||||
return 0;
|
||||
auto& box = static_cast<Layout::Box const&>(*layout_node());
|
||||
return box.absolute_rect().left();
|
||||
}
|
||||
|
||||
int Element::client_width() const
|
||||
{
|
||||
if (!layout_node() || !layout_node()->is_box())
|
||||
return 0;
|
||||
auto& box = static_cast<Layout::Box const&>(*layout_node());
|
||||
return box.absolute_rect().width();
|
||||
}
|
||||
|
||||
int Element::client_height() const
|
||||
{
|
||||
if (!layout_node() || !layout_node()->is_box())
|
||||
return 0;
|
||||
auto& box = static_cast<Layout::Box const&>(*layout_node());
|
||||
return box.absolute_rect().height();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue