diff options
author | 2024-02-22 17:13:12 +1300 | |
---|---|---|
committer | 2024-02-22 09:16:05 +0100 | |
commit | 59885e9a363dd73b3a3e8dd125decf0e34130c59 (patch) | |
tree | 01eb049c55c514d5455cd8569a0fb4360adb6146 /winit/src/application.rs | |
parent | 6c00e615b9fb7618c710a3f5d920d00e6b8a258c (diff) | |
download | iced-59885e9a363dd73b3a3e8dd125decf0e34130c59.tar.gz iced-59885e9a363dd73b3a3e8dd125decf0e34130c59.tar.bz2 iced-59885e9a363dd73b3a3e8dd125decf0e34130c59.zip |
Add `fetch_location` command to `window` module
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r-- | winit/src/application.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 1fd51d82..c86d1619 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -773,6 +773,20 @@ pub fn run_command<A, C, E>( y: position.y, }); } + window::Action::FetchLocation(_id, callback) => { + let position = window + .inner_position() + .map(|p| { + let pos = + p.to_logical::<f32>(window.scale_factor()); + crate::core::Point::new(pos.x, pos.y) + }) + .ok(); + + proxy + .send_event(callback(position)) + .expect("Send message to event loop"); + } window::Action::ChangeMode(_id, mode) => { window.set_visible(conversion::visible(mode)); window.set_fullscreen(conversion::fullscreen( |