diff options
author | Jelle Raaijmakers <jelle@gmta.nl> | 2023-05-22 00:41:18 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-05-23 12:35:42 +0200 |
commit | f391ccfe53e18395842d0d6b743d08d23b9108e5 (patch) | |
tree | ed5b2b426988494bf54689fa4c7e9d7af5519a6f /Userland/Libraries/LibGUI/TreeView.cpp | |
parent | b7f43637916956cd49ccf5973bc044b7bfb108c9 (diff) | |
download | serenity-f391ccfe53e18395842d0d6b743d08d23b9108e5.zip |
LibGfx+Everywhere: Change `Gfx::Rect` to be endpoint exclusive
Previously, calling `.right()` on a `Gfx::Rect` would return the last
column's coordinate still inside the rectangle, or `left + width - 1`.
This is called 'endpoint inclusive' and does not make a lot of sense for
`Gfx::Rect<float>` where a rectangle of width 5 at position (0, 0) would
return 4 as its right side. This same problem exists for `.bottom()`.
This changes `Gfx::Rect` to be endpoint exclusive, which gives us the
nice property that `width = right - left` and `height = bottom - top`.
It enables us to treat `Gfx::Rect<int>` and `Gfx::Rect<float>` exactly
the same.
All users of `Gfx::Rect` have been updated accordingly.
Diffstat (limited to 'Userland/Libraries/LibGUI/TreeView.cpp')
-rw-r--r-- | Userland/Libraries/LibGUI/TreeView.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Libraries/LibGUI/TreeView.cpp b/Userland/Libraries/LibGUI/TreeView.cpp index a8a4322465..7407cd29b9 100644 --- a/Userland/Libraries/LibGUI/TreeView.cpp +++ b/Userland/Libraries/LibGUI/TreeView.cpp @@ -327,7 +327,7 @@ void TreeView::paint_event(PaintEvent& event) Gfx::IntRect icon_rect = { rect.x(), rect.y(), icon_size(), icon_size() }; icon_rect.center_vertically_within(rect); Gfx::IntRect background_rect = { - icon_rect.right() + 1 + icon_spacing(), rect.y(), + icon_rect.right() + icon_spacing(), rect.y(), min(rect.width(), column_width - indent_width) - icon_size() - icon_spacing(), rect.height() }; Gfx::IntRect text_rect = background_rect.shrunken(text_padding() * 2, 0); |