summaryrefslogtreecommitdiffstats
path: root/winit/src/conversion.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/conversion.rs')
-rw-r--r--winit/src/conversion.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index 05c9746e..ba5b0002 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -182,6 +182,39 @@ pub fn position(
}
}
+/// Converts a [`window::Mode`] to a [`winit`] fullscreen mode.
+///
+/// [`winit`]: https://github.com/rust-windowing/winit
+pub fn fullscreen(
+ monitor: Option<winit::monitor::MonitorHandle>,
+ mode: window::Mode,
+) -> Option<winit::window::Fullscreen> {
+ match mode {
+ window::Mode::Windowed | window::Mode::Hidden => None,
+ window::Mode::Fullscreen => {
+ Some(winit::window::Fullscreen::Borderless(monitor))
+ }
+ }
+}
+
+/// Converts a [`window::Mode`] to a visibility flag.
+pub fn visible(mode: window::Mode) -> bool {
+ match mode {
+ window::Mode::Windowed | window::Mode::Fullscreen => true,
+ window::Mode::Hidden => false,
+ }
+}
+
+/// Converts a [`winit`] fullscreen mode to a [`window::Mode`].
+///
+/// [`winit`]: https://github.com/rust-windowing/winit
+pub fn mode(mode: Option<winit::window::Fullscreen>) -> window::Mode {
+ match mode {
+ None => window::Mode::Windowed,
+ Some(_) => window::Mode::Fullscreen,
+ }
+}
+
/// Converts a `MouseCursor` from [`iced_native`] to a [`winit`] cursor icon.
///
/// [`winit`]: https://github.com/rust-windowing/winit