Desktop: Implement pointer lock for NumberInput (#3638)

* Desktop: Implement pointer lock for NumberInput

* add shift and ctrl modifiers

* fixup
This commit is contained in:
Timon
2026-01-15 12:27:31 +01:00
committed by GitHub
parent 6616d1bfb1
commit 73682b482b
12 changed files with 150 additions and 26 deletions

View File

@@ -6,6 +6,8 @@ use super::app_window_message_handler::AppWindowPlatform;
#[derive(PartialEq, Clone, Debug, serde::Serialize, serde::Deserialize)]
pub enum AppWindowMessage {
UpdatePlatform { platform: AppWindowPlatform },
PointerLock,
PointerLockMove { x: f64, y: f64 },
Close,
Minimize,
Maximize,

View File

@@ -15,6 +15,12 @@ impl MessageHandler<AppWindowMessage, ()> for AppWindowMessageHandler {
self.platform = platform;
responses.add(FrontendMessage::UpdatePlatform { platform: self.platform });
}
AppWindowMessage::PointerLock => {
responses.add(FrontendMessage::WindowPointerLock);
}
AppWindowMessage::PointerLockMove { x, y } => {
responses.add(FrontendMessage::WindowPointerLockMove { x, y });
}
AppWindowMessage::Close => {
responses.add(FrontendMessage::WindowClose);
}

View File

@@ -364,6 +364,11 @@ pub enum FrontendMessage {
},
// Window prefix: cause the application window to do something
WindowPointerLock,
WindowPointerLockMove {
x: f64,
y: f64,
},
WindowClose,
WindowMinimize,
WindowMaximize,