diff options
author | 2019-12-03 07:20:22 +0100 | |
---|---|---|
committer | 2019-12-03 07:20:22 +0100 | |
commit | 7756081fdbc93aee3f5d11fbd14e3d9f2cbefe57 (patch) | |
tree | 4dfbc85275a853a168aa68f3b51da6d55d09146b /winit/src | |
parent | 369ed9bc2e3c09666458bd0a0c0834a402239b3f (diff) | |
download | iced-7756081fdbc93aee3f5d11fbd14e3d9f2cbefe57.tar.gz iced-7756081fdbc93aee3f5d11fbd14e3d9f2cbefe57.tar.bz2 iced-7756081fdbc93aee3f5d11fbd14e3d9f2cbefe57.zip |
Refactor window creation in `iced_winit`
Diffstat (limited to 'winit/src')
-rw-r--r-- | winit/src/application.rs | 30 | ||||
-rw-r--r-- | winit/src/settings/mod.rs | 12 |
2 files changed, 15 insertions, 27 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index a75d57af..00625052 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -96,25 +96,12 @@ pub trait Application: Sized { let mut title = application.title(); - let (width, height) = settings.window.size; - - #[cfg(not(target_os = "windows"))] - let window = WindowBuilder::new() - .with_title(&title) - .with_inner_size(winit::dpi::LogicalSize { - width: f64::from(width), - height: f64::from(height), - }) - .with_resizable(settings.window.resizable) - .with_decorations(settings.window.decorations) - .build(&event_loop) - .expect("Open window"); - - #[cfg(target_os = "windows")] let window = { - use winit::platform::windows::WindowBuilderExtWindows; + let mut window_builder = WindowBuilder::new(); - let mut window_builder = WindowBuilder::new() + let (width, height) = settings.window.size; + + window_builder = window_builder .with_title(&title) .with_inner_size(winit::dpi::LogicalSize { width: f64::from(width), @@ -123,8 +110,13 @@ pub trait Application: Sized { .with_resizable(settings.window.resizable) .with_decorations(settings.window.decorations); - if let Some(parent) = settings.window.platform_specific.parent { - window_builder = window_builder.with_parent_window(parent); + #[cfg(target_os = "windows")] + { + use winit::platform::windows::WindowBuilderExtWindows; + + if let Some(parent) = settings.window.platform_specific.parent { + window_builder = window_builder.with_parent_window(parent); + } } window_builder.build(&event_loop).expect("Open window") diff --git a/winit/src/settings/mod.rs b/winit/src/settings/mod.rs index 61a67bdb..151d73d7 100644 --- a/winit/src/settings/mod.rs +++ b/winit/src/settings/mod.rs @@ -1,12 +1,8 @@ //! Configure your application. -#[cfg(target_os = "windows")] -#[path = "windows.rs"] -pub mod platform; - -#[cfg(not(target_os = "windows"))] -#[path = "not_windows.rs"] -pub mod platform; +#[cfg_attr(target_os = "windows", path = "windows.rs")] +#[cfg_attr(not(target_os = "windows"), path = "not_windows.rs")] +mod platform; pub use platform::PlatformSpecific; @@ -31,7 +27,7 @@ pub struct Window { /// Whether the window should have a border, a title bar, etc. pub decorations: bool, - /// Platform specific Setting. + /// Platform specific settings. pub platform_specific: platform::PlatformSpecific, } |