diff options
author | 2019-11-30 21:32:46 +0900 | |
---|---|---|
committer | 2019-11-30 21:48:33 +0900 | |
commit | 5077f1dc6a6aca5ab84dd89296fb70489393cf57 (patch) | |
tree | d6a90269600361a3a94c24a2aba110b1219d3e20 /winit/src/application.rs | |
parent | f0a857ddde7cf4739c1acde57e8df502e983a254 (diff) | |
download | iced-5077f1dc6a6aca5ab84dd89296fb70489393cf57.tar.gz iced-5077f1dc6a6aca5ab84dd89296fb70489393cf57.tar.bz2 iced-5077f1dc6a6aca5ab84dd89296fb70489393cf57.zip |
Add platform specific settings
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r-- | winit/src/application.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 2a0e56b7..a75d57af 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -98,6 +98,7 @@ pub trait Application: Sized { let (width, height) = settings.window.size; + #[cfg(not(target_os = "windows"))] let window = WindowBuilder::new() .with_title(&title) .with_inner_size(winit::dpi::LogicalSize { @@ -109,6 +110,26 @@ pub trait Application: Sized { .build(&event_loop) .expect("Open window"); + #[cfg(target_os = "windows")] + let window = { + use winit::platform::windows::WindowBuilderExtWindows; + + let mut window_builder = 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); + + 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") + }; + let dpi = window.hidpi_factor(); let mut size = window.inner_size(); let mut new_size: Option<winit::dpi::LogicalSize> = None; |