diff options
author | 2020-01-16 05:54:22 +0100 | |
---|---|---|
committer | 2020-01-16 05:54:22 +0100 | |
commit | c96492b95660640eb2dd66a77c96ad32d5d5b0ae (patch) | |
tree | d072f613ac78a7389456681b48650badaca8d60b /src/window | |
parent | d6b20d3e796951e6b42726fddc78fbb1b9aaa094 (diff) | |
download | iced-c96492b95660640eb2dd66a77c96ad32d5d5b0ae.tar.gz iced-c96492b95660640eb2dd66a77c96ad32d5d5b0ae.tar.bz2 iced-c96492b95660640eb2dd66a77c96ad32d5d5b0ae.zip |
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.
Diffstat (limited to 'src/window')
-rw-r--r-- | src/window/mode.rs | 9 | ||||
-rw-r--r-- | src/window/settings.rs | 22 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/window/mode.rs b/src/window/mode.rs new file mode 100644 index 00000000..37464711 --- /dev/null +++ b/src/window/mode.rs @@ -0,0 +1,9 @@ +/// The mode of a window-based application. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Mode { + /// The application appears in its own window. + Windowed, + + /// The application takes the whole screen of its current monitor. + Fullscreen, +} diff --git a/src/window/settings.rs b/src/window/settings.rs new file mode 100644 index 00000000..a31d2af2 --- /dev/null +++ b/src/window/settings.rs @@ -0,0 +1,22 @@ +/// The window settings of an application. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct Settings { + /// The size of the window. + pub size: (u32, u32), + + /// Whether the window should be resizable or not. + pub resizable: bool, + + /// Whether the window should have a border, a title bar, etc. or not. + pub decorations: bool, +} + +impl Default for Settings { + fn default() -> Settings { + Settings { + size: (1024, 768), + resizable: true, + decorations: true, + } + } +} |