From d6b20d3e796951e6b42726fddc78fbb1b9aaa094 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 16 Jan 2020 04:54:48 +0100 Subject: Add `Application::mode` to `iced_winit` --- winit/src/conversion.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'winit/src/conversion.rs') diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 279b975a..16ed7547 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -7,9 +7,22 @@ use crate::{ keyboard::{KeyCode, ModifiersState}, mouse, ButtonState, }, - MouseCursor, + window, MouseCursor, }; +/// Convert a `Mode` from [`iced_native`] to a [`winit`] fullscreen mode. +pub fn fullscreen( + monitor: winit::monitor::MonitorHandle, + mode: window::Mode, +) -> Option { + match mode { + window::Mode::Windowed => None, + window::Mode::Fullscreen => { + Some(winit::window::Fullscreen::Borderless(monitor)) + } + } +} + /// Convert a `MouseCursor` from [`iced_native`] to a [`winit`] cursor icon. /// /// [`winit`]: https://github.com/rust-windowing/winit -- cgit From c96492b95660640eb2dd66a77c96ad32d5d5b0ae Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 16 Jan 2020 05:54:22 +0100 Subject: Expose `window::Mode` in `iced` Although the Fullscreen API in the Web platform has some limitations, it is still useful to be able to support fullscreen on the native side. --- winit/src/conversion.rs | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'winit/src/conversion.rs') diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 16ed7547..725b2d86 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -7,23 +7,25 @@ use crate::{ keyboard::{KeyCode, ModifiersState}, mouse, ButtonState, }, - window, MouseCursor, + Mode, MouseCursor, }; -/// Convert a `Mode` from [`iced_native`] to a [`winit`] fullscreen mode. +/// Converts a [`Mode`] to a [`winit`] fullscreen mode. +/// +/// [`Mode`]: pub fn fullscreen( monitor: winit::monitor::MonitorHandle, - mode: window::Mode, + mode: Mode, ) -> Option { match mode { - window::Mode::Windowed => None, - window::Mode::Fullscreen => { + Mode::Windowed => None, + Mode::Fullscreen => { Some(winit::window::Fullscreen::Borderless(monitor)) } } } -/// Convert a `MouseCursor` from [`iced_native`] to a [`winit`] cursor icon. +/// Converts a `MouseCursor` from [`iced_native`] to a [`winit`] cursor icon. /// /// [`winit`]: https://github.com/rust-windowing/winit /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native @@ -39,7 +41,7 @@ pub fn mouse_cursor(mouse_cursor: MouseCursor) -> winit::window::CursorIcon { } } -/// Convert a `MouseButton` from [`winit`] to an [`iced_native`] mouse button. +/// Converts a `MouseButton` from [`winit`] to an [`iced_native`] mouse button. /// /// [`winit`]: https://github.com/rust-windowing/winit /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native @@ -52,7 +54,7 @@ pub fn mouse_button(mouse_button: winit::event::MouseButton) -> mouse::Button { } } -/// Convert an `ElementState` from [`winit`] to an [`iced_native`] button state. +/// Converts an `ElementState` from [`winit`] to an [`iced_native`] button state. /// /// [`winit`]: https://github.com/rust-windowing/winit /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native @@ -63,8 +65,8 @@ pub fn button_state(element_state: winit::event::ElementState) -> ButtonState { } } -/// Convert some `ModifiersState` from [`winit`] to an [`iced_native`] modifiers -/// state. +/// Converts some `ModifiersState` from [`winit`] to an [`iced_native`] +/// modifiers state. /// /// [`winit`]: https://github.com/rust-windowing/winit /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native @@ -79,7 +81,7 @@ pub fn modifiers_state( } } -/// Convert a `VirtualKeyCode` from [`winit`] to an [`iced_native`] key code. +/// Converts a `VirtualKeyCode` from [`winit`] to an [`iced_native`] key code. /// /// [`winit`]: https://github.com/rust-windowing/winit /// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native -- cgit