diff options
| author | 2020-06-25 17:03:35 +0200 | |
|---|---|---|
| committer | 2020-06-25 17:03:35 +0200 | |
| commit | 754b8f819e223c7d31f633f43d322dcc0a0d3b93 (patch) | |
| tree | 16747b2f7866f12591ac3b223070bd3fd54f12da /src | |
| parent | 038f75eef160767e83fb65445a94ff1a2b81e287 (diff) | |
| parent | 65a4dca0d965ca963428231173ca5fb9c672ab52 (diff) | |
| download | iced-754b8f819e223c7d31f633f43d322dcc0a0d3b93.tar.gz iced-754b8f819e223c7d31f633f43d322dcc0a0d3b93.tar.bz2 iced-754b8f819e223c7d31f633f43d322dcc0a0d3b93.zip | |
Merge pull request #424 from hecrj/feature/window-max-and-min-size
Add `min_size` and `max_size` to `window::Settings`
Diffstat (limited to 'src')
| -rw-r--r-- | src/settings.rs | 7 | ||||
| -rw-r--r-- | src/window/settings.rs | 24 | 
2 files changed, 24 insertions, 7 deletions
| diff --git a/src/settings.rs b/src/settings.rs index 933829bd..d7ff4cab 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -75,12 +75,7 @@ where  impl<Flags> From<Settings<Flags>> for iced_winit::Settings<Flags> {      fn from(settings: Settings<Flags>) -> iced_winit::Settings<Flags> {          iced_winit::Settings { -            window: iced_winit::settings::Window { -                size: settings.window.size, -                resizable: settings.window.resizable, -                decorations: settings.window.decorations, -                platform_specific: Default::default(), -            }, +            window: settings.window.into(),              flags: settings.flags,          }      } diff --git a/src/window/settings.rs b/src/window/settings.rs index a31d2af2..eb997899 100644 --- a/src/window/settings.rs +++ b/src/window/settings.rs @@ -1,9 +1,15 @@  /// The window settings of an application.  #[derive(Debug, Clone, Copy, PartialEq, Eq)]  pub struct Settings { -    /// The size of the window. +    /// The initial size of the window.      pub size: (u32, u32), +    /// The minimum size of the window. +    pub min_size: Option<(u32, u32)>, + +    /// The maximum size of the window. +    pub max_size: Option<(u32, u32)>, +      /// Whether the window should be resizable or not.      pub resizable: bool, @@ -15,8 +21,24 @@ impl Default for Settings {      fn default() -> Settings {          Settings {              size: (1024, 768), +            min_size: None, +            max_size: None,              resizable: true,              decorations: true,          }      }  } + +#[cfg(not(target_arch = "wasm32"))] +impl From<Settings> for iced_winit::settings::Window { +    fn from(settings: Settings) -> Self { +        Self { +            size: settings.size, +            min_size: settings.min_size, +            max_size: settings.max_size, +            resizable: settings.resizable, +            decorations: settings.decorations, +            platform_specific: Default::default(), +        } +    } +} | 
