summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-11 10:21:45 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-11 10:21:45 +0200
commit8c110c1be92b8ede654aa605813e758fc5195d1c (patch)
treea958da4546c16fb8a259e58553b13b091f916f96 /winit
parentc63a81f68396ccd53ab757f1bdaeee6ca998d168 (diff)
downloadiced-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.rs12
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 {