mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 20:07:36 +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:
parent
3a401d5249
commit
7cf3c7461c
16 changed files with 117 additions and 40 deletions
|
@ -50,3 +50,9 @@ int gui_set_window_rect(int window_id, const GUI_Rect* rect)
|
|||
int rc = syscall(SC_gui_set_window_rect, window_id, rect);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_notify_paint_finished(int window_id, const GUI_Rect* rect)
|
||||
{
|
||||
int rc = syscall(SC_gui_notify_paint_finished, window_id, rect);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ __BEGIN_DECLS
|
|||
|
||||
int gui_create_window(const GUI_WindowParameters*);
|
||||
int gui_invalidate_window(int window_id, const GUI_Rect*);
|
||||
int gui_notify_paint_finished(int window_id, const GUI_Rect*);
|
||||
int gui_get_window_backing_store(int window_id, GUI_WindowBackingStoreInfo*);
|
||||
int gui_release_window_backing_store(void* backing_store_id);
|
||||
int gui_get_window_title(int window_id, char*, size_t);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue