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.rs31
1 files changed, 28 insertions, 3 deletions
diff --git a/winit/src/settings.rs b/winit/src/settings.rs
index 45f38833..2f73aff6 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;
use winit::window::WindowBuilder;
@@ -46,6 +47,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,
@@ -153,9 +158,9 @@ impl Window {
{
use winit::platform::windows::WindowBuilderExtWindows;
- if let Some(parent) = self.platform_specific.parent {
- window_builder = window_builder.with_parent_window(parent);
- }
+ // if let Some(parent) = self.platform_specific.parent {
+ // window_builder = window_builder.with_parent_window(parent);
+ // }
window_builder = window_builder
.with_drag_and_drop(self.platform_specific.drag_and_drop);
@@ -196,3 +201,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: Position::from(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(),
+ }
+ }
+}