mirror of
https://github.com/RGBCube/serenity
synced 2025-07-05 13:57:36 +00:00
WindowServer+LibGUI: Add a way to get notified at display refresh rate
This patch adds GUI::DisplayLink, a mechanism for registering callbacks that will fire at the display refresh rate. Note that we don't actually know the screen refresh rate, but this is instead completely driven by WindowServer's compositing timer. For all current intents and purposes it does the job well enough. :^)
This commit is contained in:
parent
bb70d0692b
commit
424a3f5ac3
11 changed files with 183 additions and 0 deletions
|
@ -31,6 +31,7 @@
|
|||
#include <LibGUI/Application.h>
|
||||
#include <LibGUI/Clipboard.h>
|
||||
#include <LibGUI/Desktop.h>
|
||||
#include <LibGUI/DisplayLink.h>
|
||||
#include <LibGUI/DragOperation.h>
|
||||
#include <LibGUI/Event.h>
|
||||
#include <LibGUI/Menu.h>
|
||||
|
@ -339,4 +340,9 @@ void WindowServerConnection::handle(const Messages::WindowClient::WindowStateCha
|
|||
window->notify_state_changed({}, message.minimized(), message.occluded());
|
||||
}
|
||||
|
||||
void WindowServerConnection::handle(const Messages::WindowClient::DisplayLinkNotification&)
|
||||
{
|
||||
DisplayLink::notify({});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue