diff options
author | 2020-12-06 11:13:53 +0100 | |
---|---|---|
committer | 2021-08-12 20:44:11 +0700 | |
commit | bbe5fe9d71eb3b53ce4e84e43ca9ecc1e95bf1b2 (patch) | |
tree | 3952ebbabcf6de5285ea45436f8c138b2efe8671 /winit | |
parent | a7c40665fea1762aef87a82541cebf7a0b859220 (diff) | |
download | iced-bbe5fe9d71eb3b53ce4e84e43ca9ecc1e95bf1b2.tar.gz iced-bbe5fe9d71eb3b53ce4e84e43ca9ecc1e95bf1b2.tar.bz2 iced-bbe5fe9d71eb3b53ce4e84e43ca9ecc1e95bf1b2.zip |
Add PlatformSpecific winit settings for macOS
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/settings.rs | 22 | ||||
-rw-r--r-- | winit/src/settings/macos.rs | 13 | ||||
-rw-r--r-- | winit/src/settings/other.rs (renamed from winit/src/settings/not_windows.rs) | 3 |
3 files changed, 32 insertions, 6 deletions
diff --git a/winit/src/settings.rs b/winit/src/settings.rs index 72a1a24a..4ea61d61 100644 --- a/winit/src/settings.rs +++ b/winit/src/settings.rs @@ -2,10 +2,12 @@ #[cfg(target_os = "windows")] #[path = "settings/windows.rs"] mod platform; -#[cfg(not(target_os = "windows"))] -#[path = "settings/not_windows.rs"] +#[cfg(target_os = "macos")] +#[path = "settings/macos.rs"] +mod platform; +#[cfg(not(any(target_os = "windows", target_os = "macos")))] +#[path = "settings/other.rs"] mod platform; - pub use platform::PlatformSpecific; use crate::conversion; @@ -137,6 +139,20 @@ impl Window { .with_drag_and_drop(self.platform_specific.drag_and_drop); } + #[cfg(target_os = "macos")] + { + use winit::platform::macos::WindowBuilderExtMacOS; + + window_builder = window_builder + .with_title_hidden(self.platform_specific.title_hidden) + .with_titlebar_transparent( + self.platform_specific.titlebar_transparent, + ) + .with_fullsize_content_view( + self.platform_specific.fullsize_content_view, + ); + } + window_builder = window_builder .with_fullscreen(conversion::fullscreen(primary_monitor, mode)); diff --git a/winit/src/settings/macos.rs b/winit/src/settings/macos.rs new file mode 100644 index 00000000..ad4c8cae --- /dev/null +++ b/winit/src/settings/macos.rs @@ -0,0 +1,13 @@ +#![cfg(target_os = "macos")] +//! Platform specific settings for macOS. + +/// The platform specific window settings of an application. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub struct PlatformSpecific { + /// Hides the window title. + pub title_hidden: bool, + /// Makes the titlebar transparent and allows the content to appear behind it. + pub titlebar_transparent: bool, + /// Makes the window content appear behind the titlebar. + pub fullsize_content_view: bool, +} diff --git a/winit/src/settings/not_windows.rs b/winit/src/settings/other.rs index 5d703f84..a25beed0 100644 --- a/winit/src/settings/not_windows.rs +++ b/winit/src/settings/other.rs @@ -1,6 +1,3 @@ -#![cfg(not(target_os = "windows"))] -//! Platform specific settings for not Windows. - /// The platform specific window settings of an application. #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] pub struct PlatformSpecific {} |