summaryrefslogtreecommitdiffstats
path: root/winit/src/application.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r--winit/src/application.rs21
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;