ladybird/Userland/Services/WindowServer
Tom 38af4c29e6 WindowServer: Coalesce flushing buffers into one ioctl() call
We regularily need to flush many rectangles, so instead of making many
expensive ioctl() calls to the framebuffer driver, collect the
rectangles and only make one call. And if we have too many rectangles
then it may be cheaper to just update the entire region, in which case
we simply convert them all into a union and just flush that one
rectangle instead.
2021-06-27 09:46:27 +02:00
..
AppletManager.cpp Taskbar+LibGUI+WindowServer: Shrink taskbar by one pixel 2021-05-09 00:11:37 +02:00
AppletManager.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Button.cpp WindowServer: Load multiple scaled versions of Bitmaps and Cursors 2021-06-20 14:57:26 +02:00
Button.h WindowServer: Load multiple scaled versions of Bitmaps and Cursors 2021-06-20 14:57:26 +02:00
ClientConnection.cpp WindowServer: Change rendering drag&drop to use the Overlay class 2021-06-25 20:38:13 +02:00
ClientConnection.h WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
CMakeLists.txt WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
Compositor.cpp WindowServer: Coalesce flushing buffers into one ioctl() call 2021-06-27 09:46:27 +02:00
Compositor.h WindowServer: Change rendering drag&drop to use the Overlay class 2021-06-25 20:38:13 +02:00
Cursor.cpp WindowServer: Fix animated cursor regression 2021-06-21 16:52:29 +02:00
Cursor.h WindowServer: Fix animated cursor regression 2021-06-21 16:52:29 +02:00
Event.h WindowServer: Preserve all members in MouseEvent::translated() 2021-06-18 17:40:05 +02:00
EventLoop.cpp WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
EventLoop.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HitTestResult.h WindowServer: Make hit test results richer 2021-06-18 17:40:05 +02:00
main.cpp WindowServer: Add API to set/get screen layouts 2021-06-20 14:57:26 +02:00
Menu.cpp WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
Menu.h WindowServer: Add Menu::is_open() to improve readability 2021-05-17 23:28:15 +02:00
Menubar.cpp Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&> 2021-06-08 19:14:24 +02:00
Menubar.h Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&> 2021-06-08 19:14:24 +02:00
MenuItem.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MenuItem.h WindowServer: Fix a handful of clang-tidy warnings in the menu code 2021-05-09 15:47:21 +02:00
MenuManager.cpp WindowServer: Make deliver_mouse_event() perform coordinate translation 2021-06-18 17:40:05 +02:00
MenuManager.h Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&> 2021-06-08 19:14:24 +02:00
MultiScaleBitmaps.cpp WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
MultiScaleBitmaps.h WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
Overlays.cpp WindowServer: Fix geometry label not updating if it isn't moving 2021-06-27 09:37:07 +02:00
Overlays.h WindowServer: Fix geometry label not updating if it isn't moving 2021-06-27 09:37:07 +02:00
Screen.cpp WindowServer: Coalesce flushing buffers into one ioctl() call 2021-06-27 09:46:27 +02:00
Screen.h WindowServer: Coalesce flushing buffers into one ioctl() call 2021-06-27 09:46:27 +02:00
ScreenLayout.cpp WindowServer: Add API to set/get screen layouts 2021-06-20 14:57:26 +02:00
ScreenLayout.h WindowServer: Add API to set/get screen layouts 2021-06-20 14:57:26 +02:00
ScreenLayout.ipp WindowServer: Add API to set/get screen layouts 2021-06-20 14:57:26 +02:00
Window.cpp WindowServer: Change window geometry label to use the Overlay class 2021-06-25 20:38:13 +02:00
Window.h WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
WindowClient.ipc WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
WindowFrame.cpp WindowServer: Enhance simple shadow function to include optional frame 2021-06-25 20:38:13 +02:00
WindowFrame.h WindowServer: Enhance simple shadow function to include optional frame 2021-06-25 20:38:13 +02:00
WindowManager.cpp WindowServer: Change rendering drag&drop to use the Overlay class 2021-06-25 20:38:13 +02:00
WindowManager.h WindowServer: Change rendering drag&drop to use the Overlay class 2021-06-25 20:38:13 +02:00
WindowManagerClient.ipc Userland: Use snake case names in .ipc files 2021-05-03 21:14:40 +02:00
WindowManagerServer.ipc WindowServer+Taskbar: Make all the IPC used by Taskbar asynchronous 2021-05-10 12:26:35 +02:00
WindowServer.ipc WindowServer: Add an Overlay class for flicker-free overlay rendering 2021-06-25 20:38:13 +02:00
WindowStack.cpp WindowServer: Don't include frame when determining hovered window 2021-06-18 17:40:05 +02:00
WindowStack.h WindowServer: Don't include frame when determining hovered window 2021-06-18 17:40:05 +02:00
WindowSwitcher.cpp WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
WindowSwitcher.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
WindowType.h WindowServer: Add sanity checks to create_window IPC 2021-06-03 08:27:57 +02:00
WMClientConnection.cpp WindowServer: Add initial support for rendering on multiple screens 2021-06-20 14:57:26 +02:00
WMClientConnection.h Userland: Update IPC calls to use proxies 2021-05-03 21:14:40 +02:00