1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:07:44 +00:00

LibGUI: Only repaint grabbable part of Splitter when hovered/unhovered

Before this change, we would repaint the Splitter and all of its split
children when hovering over it. Now we only repaint the grabbable part.
This commit is contained in:
Andreas Kling 2021-07-10 01:36:55 +02:00
parent 05c174b45a
commit f4a318ee2d

View file

@ -74,13 +74,18 @@ void Splitter::resize_event(ResizeEvent& event)
void Splitter::set_hovered_grabbable(Grabbable* grabbable)
{
if (m_hovered_index.has_value() && grabbable && grabbable->index == m_hovered_index.value())
return;
if (grabbable)
if (m_hovered_index.has_value()) {
if (grabbable && grabbable->index == m_hovered_index.value())
return;
update(m_grabbables[m_hovered_index.value()].paint_rect);
}
if (grabbable) {
m_hovered_index = grabbable->index;
else
update(grabbable->paint_rect);
} else {
m_hovered_index = {};
update();
}
}
void Splitter::override_cursor(bool do_override)