diff options
author | 2022-03-17 00:59:35 -0300 | |
---|---|---|
committer | 2022-04-26 18:58:52 -0300 | |
commit | 83ab27b5cbb20de79e532687a342a5f4036e3046 (patch) | |
tree | f13909898b6af6ea01a750b3ba6b16a260f1363c /winit/src/application.rs | |
parent | 5356bb9bdb0074683722be194f36169836824af8 (diff) | |
download | iced-83ab27b5cbb20de79e532687a342a5f4036e3046.tar.gz iced-83ab27b5cbb20de79e532687a342a5f4036e3046.tar.bz2 iced-83ab27b5cbb20de79e532687a342a5f4036e3046.zip |
Add graphics information to `iced_winit`
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r-- | winit/src/application.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index f5a58f2f..9d65d769 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -167,17 +167,18 @@ where let mut clipboard = Clipboard::connect(&window); + let (compositor, renderer) = C::new(compositor_settings, Some(&window))?; + run_command( init_command, &mut runtime, &mut clipboard, &mut proxy, &window, + &compositor.get_information(), ); runtime.track(subscription); - let (compositor, renderer) = C::new(compositor_settings, Some(&window))?; - let (mut sender, receiver) = mpsc::unbounded(); let mut instance = Box::pin(run_instance::<A, E, C>( @@ -262,6 +263,8 @@ async fn run_instance<A, E, C>( physical_size.height, ); + let graphics_info = compositor.get_information(); + let mut user_interface = ManuallyDrop::new(build_user_interface( &mut application, user_interface::Cache::default(), @@ -317,6 +320,7 @@ async fn run_instance<A, E, C>( &mut debug, &mut messages, &window, + &graphics_info, ); // Update window @@ -516,6 +520,7 @@ pub fn update<A: Application, E: Executor>( debug: &mut Debug, messages: &mut Vec<A::Message>, window: &winit::window::Window, + graphics_info: &window::GraphicsInformation, ) { for message in messages.drain(..) { debug.log_message(&message); @@ -524,7 +529,7 @@ pub fn update<A: Application, E: Executor>( let command = runtime.enter(|| application.update(message)); debug.update_finished(); - run_command(command, runtime, clipboard, proxy, window); + run_command(command, runtime, clipboard, proxy, window, graphics_info); } let subscription = application.subscription(); @@ -538,6 +543,7 @@ pub fn run_command<Message: 'static + std::fmt::Debug + Send, E: Executor>( clipboard: &mut Clipboard, proxy: &mut winit::event_loop::EventLoopProxy<Message>, window: &winit::window::Window, + graphics_info: &window::GraphicsInformation, ) { use iced_native::command; use iced_native::system; @@ -591,6 +597,8 @@ pub fn run_command<Message: 'static + std::fmt::Debug + Send, E: Executor>( cpu_brand: cpu.brand().into(), cpu_cores: system.physical_core_count(), memory_total: system.total_memory(), + graphics_adapter: graphics_info.adapter.clone(), + graphics_backend: graphics_info.backend.clone(), }; Some(information) |