diff options
author | 2024-07-11 10:21:45 +0200 | |
---|---|---|
committer | 2024-07-11 10:21:45 +0200 | |
commit | 8c110c1be92b8ede654aa605813e758fc5195d1c (patch) | |
tree | a958da4546c16fb8a259e58553b13b091f916f96 /winit | |
parent | c63a81f68396ccd53ab757f1bdaeee6ca998d168 (diff) | |
download | iced-8c110c1be92b8ede654aa605813e758fc5195d1c.tar.gz iced-8c110c1be92b8ede654aa605813e758fc5195d1c.tar.bz2 iced-8c110c1be92b8ede654aa605813e758fc5195d1c.zip |
Make window visible after surface creation in `iced_winit`
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/program.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/winit/src/program.rs b/winit/src/program.rs index 3a4e2e48..1590cd3c 100644 --- a/winit/src/program.rs +++ b/winit/src/program.rs @@ -494,6 +494,8 @@ where let exit_on_close_request = settings.exit_on_close_request; + let visible = settings.visible; + #[cfg(target_arch = "wasm32")] let target = settings.platform_specific.target.clone(); @@ -507,7 +509,8 @@ where .or(event_loop .primary_monitor()), self.id.clone(), - ), + ) + .with_visible(false), ) .expect("Create window"); @@ -563,6 +566,7 @@ where id, window, exit_on_close_request, + make_visible: visible, }, ); } @@ -612,6 +616,7 @@ enum Event<Message: 'static> { id: window::Id, window: winit::window::Window, exit_on_close_request: bool, + make_visible: bool, }, EventLoopAwakened(winit::event::Event<Message>), } @@ -667,6 +672,7 @@ async fn run_instance<P, C>( id, window, exit_on_close_request, + make_visible, } => { let window = window_manager.insert( id, @@ -691,6 +697,10 @@ async fn run_instance<P, C>( ); let _ = ui_caches.insert(id, user_interface::Cache::default()); + if make_visible { + window.raw.set_visible(true); + } + events.push(( id, core::Event::Window(window::Event::Opened { |