1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 13:25:08 +00:00

Refactor GUI rendering model to be two-phased.

Instead of clients painting whenever they feel like it, we now ask that they
paint in response to a paint message.

After finishing painting, clients notify the WindowServer about the rect(s)
they painted into and then flush eventually happens, etc.

This stuff leaves us with a lot of badly named things. Need to fix that.
This commit is contained in:
Andreas Kling 2019-01-26 05:20:32 +01:00
parent 3a401d5249
commit 7cf3c7461c
16 changed files with 117 additions and 40 deletions

View file

@ -106,7 +106,7 @@ void GWidget::update()
if (m_has_pending_paint_event)
return;
m_has_pending_paint_event = true;
GEventLoop::main().post_event(w, make<GPaintEvent>(relative_rect()));
w->update(relative_rect());
}
GWidget::HitTestResult GWidget::hit_test(int x, int y)