1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:47:35 +00:00

WindowServer: Add WindowServer::get_window_rect_from_client()

This allows a client to get the rect of a window in another client.
This commit is contained in:
Timothy 2021-07-17 19:36:51 +10:00 committed by Andreas Kling
parent 88e6d18a61
commit b77b631571
3 changed files with 15 additions and 0 deletions

View file

@ -1132,4 +1132,17 @@ void ClientConnection::set_window_parent_from_client(i32 client_id, i32 parent_i
child_window->set_parent_window(*parent_window); child_window->set_parent_window(*parent_window);
} }
Messages::WindowServer::GetWindowRectFromClientResponse ClientConnection::get_window_rect_from_client(i32 client_id, i32 window_id)
{
auto client_connection = from_client_id(client_id);
if (!client_connection)
did_misbehave("GetWindowRectFromClient: Bad client ID");
auto window = client_connection->window_from_id(window_id);
if (!window)
did_misbehave("GetWindowRectFromClient: Bad window ID");
return window->rect();
}
} }

View file

@ -165,6 +165,7 @@ private:
virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale(u32) override; virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale(u32) override;
virtual void set_flash_flush(bool) override; virtual void set_flash_flush(bool) override;
virtual void set_window_parent_from_client(i32, i32, i32) override; virtual void set_window_parent_from_client(i32, i32, i32) override;
virtual Messages::WindowServer::GetWindowRectFromClientResponse get_window_rect_from_client(i32, i32) override;
Window* window_from_id(i32 window_id); Window* window_from_id(i32 window_id);

View file

@ -149,4 +149,5 @@ endpoint WindowServer
set_flash_flush(bool enabled) =| set_flash_flush(bool enabled) =|
set_window_parent_from_client(i32 client_id, i32 parent_id, i32 child_id) =| set_window_parent_from_client(i32 client_id, i32 parent_id, i32 child_id) =|
get_window_rect_from_client(i32 client_id, i32 window_id) => (Gfx::IntRect rect)
} }