mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 05:27:43 +00:00
WindowServer: Allow partial repaints in window frame & menubars
Before this change, invalidating any rect in a WindowFrame would cause the entire window (including frame & drop shadow) to get invalidated, leading to copious amounts of overdraw when mousing over menubars, titlebars, and window buttons. We now simply allow the partial frame invalidations through to the window's dirty rects collection and the compositor takes care of it.
This commit is contained in:
parent
cad62230f6
commit
432ab47053
3 changed files with 4 additions and 4 deletions
|
@ -643,14 +643,14 @@ void Window::invalidate(bool invalidate_frame, bool re_render_frame)
|
|||
Compositor::the().invalidate_window();
|
||||
}
|
||||
|
||||
void Window::invalidate(const Gfx::IntRect& rect, bool with_frame)
|
||||
void Window::invalidate(Gfx::IntRect const& rect)
|
||||
{
|
||||
if (type() == WindowType::Applet) {
|
||||
AppletManager::the().invalidate_applet(*this, rect);
|
||||
return;
|
||||
}
|
||||
|
||||
if (invalidate_no_notify(rect, with_frame))
|
||||
if (invalidate_no_notify(rect))
|
||||
Compositor::the().invalidate_window();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue