Add platform specific settings

This commit is contained in:
hatoo 2019-11-30 21:32:46 +09:00
parent f0a857ddde
commit 5077f1dc6a
9 changed files with 106 additions and 0 deletions

View file

@ -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;