Jelajahi Sumber

WindowServer: Add a GetDesktopDisplayScale IPC request

Tells you which scale factor is configured in window manager.
Eugene Barnett 4 tahun lalu
induk
melakukan
4ef85de9dc

+ 5 - 0
Userland/Services/WindowServer/ClientConnection.cpp

@@ -915,6 +915,11 @@ Messages::WindowServer::IsWindowModifiedResponse ClientConnection::is_window_mod
     return window.is_modified();
 }
 
+Messages::WindowServer::GetDesktopDisplayScaleResponse ClientConnection::get_desktop_display_scale()
+{
+    return WindowManager::the().scale_factor();
+}
+
 void ClientConnection::set_window_modified(i32 window_id, bool modified)
 {
     auto it = m_windows.find(window_id);

+ 1 - 0
Userland/Services/WindowServer/ClientConnection.h

@@ -151,6 +151,7 @@ private:
     virtual Messages::WindowServer::GetDoubleClickSpeedResponse get_double_click_speed() override;
     virtual void set_window_modified(i32, bool) override;
     virtual Messages::WindowServer::IsWindowModifiedResponse is_window_modified(i32) override;
+    virtual Messages::WindowServer::GetDesktopDisplayScaleResponse get_desktop_display_scale() override;
 
     Window* window_from_id(i32 window_id);
 

+ 2 - 0
Userland/Services/WindowServer/WindowServer.ipc

@@ -126,4 +126,6 @@ endpoint WindowServer
 
     set_double_click_speed(int speed) => ()
     get_double_click_speed() => (int speed)
+
+    get_desktop_display_scale() => (int desktop_display_scale)
 }