diff options
author | 2024-01-09 23:29:00 +0100 | |
---|---|---|
committer | 2024-01-09 23:29:00 +0100 | |
commit | 90332acc4b18d7ea539459908b4e59517d8b48cb (patch) | |
tree | 7ce0ebd0f741a74ac11e7a5f45a4aad9e8f0f693 /winit | |
parent | f5c6fa7338713a0430dcdfc5bd53f72103144f22 (diff) | |
parent | 082985ade8a108aa3ec1fe573411120b82da0cad (diff) | |
download | iced-90332acc4b18d7ea539459908b4e59517d8b48cb.tar.gz iced-90332acc4b18d7ea539459908b4e59517d8b48cb.tar.bz2 iced-90332acc4b18d7ea539459908b4e59517d8b48cb.zip |
Merge pull request #2189 from Calastrophe/master
Add functions to fetch if a window is maximized or minimized
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/application.rs | 10 | ||||
-rw-r--r-- | winit/src/multi_window.rs | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index d9700075..35a35872 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -742,9 +742,19 @@ pub fn run_command<A, C, E>( ))) .expect("Send message to event loop"); } + window::Action::FetchMaximized(_id, callback) => { + proxy + .send_event(callback(window.is_maximized())) + .expect("Send message to event loop"); + } window::Action::Maximize(_id, maximized) => { window.set_maximized(maximized); } + window::Action::FetchMinimized(_id, callback) => { + proxy + .send_event(callback(window.is_minimized())) + .expect("Send message to event loop"); + } window::Action::Minimize(_id, minimized) => { window.set_minimized(minimized); } diff --git a/winit/src/multi_window.rs b/winit/src/multi_window.rs index 84651d40..1550b94b 100644 --- a/winit/src/multi_window.rs +++ b/winit/src/multi_window.rs @@ -942,11 +942,25 @@ fn run_command<A, C, E>( .expect("Send message to event loop"); } } + window::Action::FetchMaximized(id, callback) => { + if let Some(window) = window_manager.get_mut(id) { + proxy + .send_event(callback(window.raw.is_maximized())) + .expect("Send message to event loop"); + } + } window::Action::Maximize(id, maximized) => { if let Some(window) = window_manager.get_mut(id) { window.raw.set_maximized(maximized); } } + window::Action::FetchMinimized(id, callback) => { + if let Some(window) = window_manager.get_mut(id) { + proxy + .send_event(callback(window.raw.is_minimized())) + .expect("Send message to event loop"); + } + } window::Action::Minimize(id, minimized) => { if let Some(window) = window_manager.get_mut(id) { window.raw.set_minimized(minimized); |