summaryrefslogtreecommitdiff
path: root/WindowServer/WSMessageLoop.cpp
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-02-20 21:59:13 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-02-20 22:08:14 +0100
commitfa02d2a39b9dc403156f2c61987f0b5c7698fc71 (patch)
treebf658ffdc3d4d5b60d5b33fc0848622ff1c9ca00 /WindowServer/WSMessageLoop.cpp
parente0b81ee4c9630ab343b72e4d946f620473b56b7b (diff)
downloadserenity-fa02d2a39b9dc403156f2c61987f0b5c7698fc71.zip
Rework the rendering model so that clients instantiate backing stores.
This makes interactive resizing work a lot better, althought it's still not perfect. There are still glitches and unpleasant flashes of zeroed memory.
Diffstat (limited to 'WindowServer/WSMessageLoop.cpp')
-rw-r--r--WindowServer/WSMessageLoop.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/WindowServer/WSMessageLoop.cpp b/WindowServer/WSMessageLoop.cpp
index 199222a4dd..bbdec4fe35 100644
--- a/WindowServer/WSMessageLoop.cpp
+++ b/WindowServer/WSMessageLoop.cpp
@@ -330,6 +330,9 @@ void WSMessageLoop::on_receive_from_client(int client_id, const WSAPI_ClientMess
case WSAPI_ClientMessage::Type::GetWindowBackingStore:
post_message(client, make<WSAPIGetWindowBackingStoreRequest>(client_id, message.window_id));
break;
+ case WSAPI_ClientMessage::Type::SetWindowBackingStore:
+ post_message(client, make<WSAPISetWindowBackingStoreRequest>(client_id, message.window_id, message.backing.shared_buffer_id, message.backing.size, message.backing.bpp, message.backing.pitch, message.backing.has_alpha_channel));
+ break;
case WSAPI_ClientMessage::Type::SetGlobalCursorTracking:
post_message(client, make<WSAPISetGlobalCursorTrackingRequest>(client_id, message.window_id, message.value));
break;