summaryrefslogtreecommitdiffstats
path: root/winit/src/settings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/settings.rs')
-rw-r--r--winit/src/settings.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/winit/src/settings.rs b/winit/src/settings.rs
index 78d58000..88d7c1de 100644
--- a/winit/src/settings.rs
+++ b/winit/src/settings.rs
@@ -22,6 +22,7 @@ mod platform;
pub use platform::PlatformSpecific;
use crate::conversion;
+use crate::Icon;
use crate::Position;
use winit::monitor::MonitorHandle;
@@ -49,6 +50,10 @@ pub struct Settings<Flags> {
/// Whether the [`Application`] should exit when the user requests the
/// window to close (e.g. the user presses the close button).
///
+ /// NOTE: This is not used for `multi-window`, instead check [`Application::close_requested`].
+ ///
+ /// [`close_requested`]: crate::multi_window::Application::close_requested
+ ///
/// [`Application`]: crate::Application
pub exit_on_close_request: bool,
@@ -217,3 +222,23 @@ impl Default for Window {
}
}
}
+
+impl From<iced_native::window::Settings> for Window {
+ fn from(settings: iced_native::window::Settings) -> Self {
+ Self {
+ size: settings.size,
+ position: settings.position,
+ min_size: settings.min_size,
+ max_size: settings.max_size,
+ visible: settings.visible,
+ resizable: settings.resizable,
+ decorations: settings.decorations,
+ transparent: settings.transparent,
+ always_on_top: settings.always_on_top,
+ icon: settings.icon.and_then(|icon| {
+ Icon::try_from(icon).map(winit::window::Icon::from).ok()
+ }),
+ platform_specific: Default::default(),
+ }
+ }
+}