diff options
author | 2022-04-27 15:40:29 -0300 | |
---|---|---|
committer | 2022-04-27 15:43:41 -0300 | |
commit | 6e167675d6a51a8a78d93439719ebffe35dcfdef (patch) | |
tree | 916ec6025b58de3893cc97f9bac379c335976f04 /winit | |
parent | 8643fbef90fc16371e27ae0142eb7e4c6b432d29 (diff) | |
download | iced-6e167675d6a51a8a78d93439719ebffe35dcfdef.tar.gz iced-6e167675d6a51a8a78d93439719ebffe35dcfdef.tar.bz2 iced-6e167675d6a51a8a78d93439719ebffe35dcfdef.zip |
Use closure internally to fetch `graphics_info`
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/application.rs | 12 | ||||
-rw-r--r-- | winit/src/system.rs | 8 |
2 files changed, 9 insertions, 11 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 59f0624c..9d881475 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -176,7 +176,7 @@ where &mut clipboard, &mut proxy, &window, - &compositor.fetch_information(), + || compositor.fetch_information(), ); runtime.track(subscription); @@ -264,8 +264,6 @@ async fn run_instance<A, E, C>( physical_size.height, ); - let graphics_info = compositor.fetch_information(); - let mut user_interface = ManuallyDrop::new(build_user_interface( &mut application, user_interface::Cache::default(), @@ -321,7 +319,7 @@ async fn run_instance<A, E, C>( &mut debug, &mut messages, &window, - &graphics_info, + || compositor.fetch_information(), ); // Update window @@ -521,7 +519,7 @@ pub fn update<A: Application, E: Executor>( debug: &mut Debug, messages: &mut Vec<A::Message>, window: &winit::window::Window, - graphics_info: &compositor::Information, + graphics_info: impl FnOnce() -> compositor::Information + Copy, ) { for message in messages.drain(..) { debug.log_message(&message); @@ -544,7 +542,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: &compositor::Information, + graphics_info: impl FnOnce() -> compositor::Information + Copy, ) { use iced_native::command; use iced_native::system; @@ -584,7 +582,7 @@ pub fn run_command<Message: 'static + std::fmt::Debug + Send, E: Executor>( command::Action::System(action) => match action { system::Action::QueryInformation(tag) => { let information = - crate::system::get_information(graphics_info); + crate::system::get_information(graphics_info()); let message = tag(information); diff --git a/winit/src/system.rs b/winit/src/system.rs index f5f68593..beda2bdd 100644 --- a/winit/src/system.rs +++ b/winit/src/system.rs @@ -17,7 +17,7 @@ pub fn fetch_information<Message>( #[cfg(feature = "sysinfo")] pub(crate) fn get_information( - graphics_info: &compositor::Information, + graphics_info: compositor::Information, ) -> Option<Information> { use sysinfo::{ProcessExt, ProcessorExt, System, SystemExt}; let mut system = System::new_all(); @@ -38,8 +38,8 @@ pub(crate) fn get_information( cpu_cores: system.physical_core_count(), memory_total: system.total_memory(), memory_used, - graphics_adapter: graphics_info.adapter.clone(), - graphics_backend: graphics_info.backend.clone(), + graphics_adapter: graphics_info.adapter, + graphics_backend: graphics_info.backend, }; Some(information) @@ -47,7 +47,7 @@ pub(crate) fn get_information( #[cfg(not(feature = "sysinfo"))] pub(crate) fn get_information( - _graphics_info: &compositor::Information, + _graphics_info: compositor::Information, ) -> Option<Information> { None } |