summaryrefslogtreecommitdiffstats
path: root/src/window
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-01-16 05:54:22 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-01-16 05:54:22 +0100
commitc96492b95660640eb2dd66a77c96ad32d5d5b0ae (patch)
treed072f613ac78a7389456681b48650badaca8d60b /src/window
parentd6b20d3e796951e6b42726fddc78fbb1b9aaa094 (diff)
downloadiced-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.rs9
-rw-r--r--src/window/settings.rs22
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,
+ }
+ }
+}