1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:08:10 +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

@ -77,7 +77,7 @@ int main(int, char**)
Terminal terminal;
terminal.create_window();
terminal.paint();
terminal.update();
for (;;) {
fd_set rfds;
@ -100,7 +100,7 @@ int main(int, char**)
assert(nread != 0);
for (ssize_t i = 0; i < nread; ++i)
terminal.on_char(buffer[i]);
terminal.paint();
terminal.update();
}
if (FD_ISSET(event_fd, &rfds)) {