diff options
author | 2024-10-04 21:20:43 +0300 | |
---|---|---|
committer | 2024-10-04 21:20:43 +0300 | |
commit | dd08f98f0ebb6fb59801bfa030a56267e45a509b (patch) | |
tree | 2c05243605c469e418110e4f9c14f4d3ad3342c4 | |
parent | 13c649881edfda9ab0215c7353a5236e07ef749d (diff) | |
download | iced-dd08f98f0ebb6fb59801bfa030a56267e45a509b.tar.gz iced-dd08f98f0ebb6fb59801bfa030a56267e45a509b.tar.bz2 iced-dd08f98f0ebb6fb59801bfa030a56267e45a509b.zip |
Add `window::Settings::fullscreen`
Corresponds to `winit::window::WindowAttributes::with_fullscreen`.
Currently only allows to set `Fullscreen::Borderless(None)` meaning
borderless on the current monitor, exclusive fullscreen does not
make sense for a GUI and iced does not expose monitors yet.
-rw-r--r-- | core/src/window/settings.rs | 4 | ||||
-rw-r--r-- | winit/src/conversion.rs | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/core/src/window/settings.rs b/core/src/window/settings.rs index 13822e82..e87fcc83 100644 --- a/core/src/window/settings.rs +++ b/core/src/window/settings.rs @@ -37,6 +37,9 @@ pub struct Settings { /// Whether the window should start maximized. pub maximized: bool, + /// Whether the window should start fullscreen. + pub fullscreen: bool, + /// The initial position of the window. pub position: Position, @@ -83,6 +86,7 @@ impl Default for Settings { Self { size: Size::new(1024.0, 768.0), maximized: false, + fullscreen: false, position: Position::default(), min_size: None, max_size: None, diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index e0b0569b..e454c208 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -24,6 +24,11 @@ pub fn window_attributes( height: settings.size.height, }) .with_maximized(settings.maximized) + .with_fullscreen( + settings + .fullscreen + .then_some(winit::window::Fullscreen::Borderless(None)), + ) .with_resizable(settings.resizable) .with_enabled_buttons(if settings.resizable { winit::window::WindowButtons::all() |