summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-12-14 03:00:47 +0100
committerLibravatar GitHub <noreply@github.com>2022-12-14 03:00:47 +0100
commitb01be6b9321d26c167362f4515d3c895a081ba58 (patch)
tree43035ccfd21056d89ba7f3325eeffc3cc77ec7c1
parent02182eea45537c9eb5b2bddfdff822bb8a3d143d (diff)
parentcfcf2017e551beee8503081a48a9c0ce3905a443 (diff)
downloadiced-b01be6b9321d26c167362f4515d3c895a081ba58.tar.gz
iced-b01be6b9321d26c167362f4515d3c895a081ba58.tar.bz2
iced-b01be6b9321d26c167362f4515d3c895a081ba58.zip
Merge pull request #1588 from Night-Hunter-NF/ToggleDecorations
add toggle decorations action
Diffstat (limited to '')
-rw-r--r--native/src/window/action.rs7
-rw-r--r--winit/src/application.rs3
2 files changed, 10 insertions, 0 deletions
diff --git a/native/src/window/action.rs b/native/src/window/action.rs
index 009dcc27..283775ba 100644
--- a/native/src/window/action.rs
+++ b/native/src/window/action.rs
@@ -35,6 +35,11 @@ pub enum Action<T> {
SetMode(Mode),
/// Sets the window to maximized or back
ToggleMaximize,
+ /// Toggles whether window has decorations
+ /// ## Platform-specific
+ /// - **X11:** Not implemented.
+ /// - **Web:** Unsupported.
+ ToggleDecorations,
/// Fetch the current [`Mode`] of the window.
FetchMode(Box<dyn FnOnce(Mode) -> T + 'static>),
}
@@ -56,6 +61,7 @@ impl<T> Action<T> {
Self::Move { x, y } => Action::Move { x, y },
Self::SetMode(mode) => Action::SetMode(mode),
Self::ToggleMaximize => Action::ToggleMaximize,
+ Self::ToggleDecorations => Action::ToggleDecorations,
Self::FetchMode(o) => Action::FetchMode(Box::new(move |s| f(o(s)))),
}
}
@@ -77,6 +83,7 @@ impl<T> fmt::Debug for Action<T> {
}
Self::SetMode(mode) => write!(f, "Action::SetMode({:?})", mode),
Self::ToggleMaximize => write!(f, "Action::ToggleMaximize"),
+ Self::ToggleDecorations => write!(f, "Action::ToggleDecorations"),
Self::FetchMode(_) => write!(f, "Action::FetchMode"),
}
}
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 1706d2e9..d17db2cd 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -660,6 +660,9 @@ pub fn run_command<A, E>(
window::Action::ToggleMaximize => {
window.set_maximized(!window.is_maximized())
}
+ window::Action::ToggleDecorations => {
+ window.set_decorations(!window.is_decorated())
+ }
window::Action::FetchMode(tag) => {
let mode = if window.is_visible().unwrap_or(true) {
conversion::mode(window.fullscreen())