summaryrefslogtreecommitdiffstats
path: root/winit/src/window.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-11-03 00:45:05 +0100
committerLibravatar GitHub <noreply@github.com>2022-11-03 00:45:05 +0100
commit08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464 (patch)
tree896a8867b411e7ac8a605e5a67e0b8afe4162194 /winit/src/window.rs
parent1c00adad615f7c2909d175c696765dbe081bde33 (diff)
parentac6e137be3e9d2d2a1d8c1284880096a0e2c2a47 (diff)
downloadiced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.tar.gz
iced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.tar.bz2
iced-08e28f6f97c7e656f0d2f1d3fb0f6fe3c280d464.zip
Merge pull request #1471 from pop-os/cosmic-window-controls
feat: Additional actions for window controls
Diffstat (limited to 'winit/src/window.rs')
-rw-r--r--winit/src/window.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/winit/src/window.rs b/winit/src/window.rs
index 265139f7..1e704c5b 100644
--- a/winit/src/window.rs
+++ b/winit/src/window.rs
@@ -4,6 +4,11 @@ use iced_native::window;
pub use window::{Event, Mode};
+/// Begins dragging the window while the left mouse button is held.
+pub fn drag<Message>() -> Command<Message> {
+ Command::single(command::Action::Window(window::Action::Drag))
+}
+
/// Resizes the window to the given logical dimensions.
pub fn resize<Message>(width: u32, height: u32) -> Command<Message> {
Command::single(command::Action::Window(window::Action::Resize {
@@ -12,6 +17,16 @@ pub fn resize<Message>(width: u32, height: u32) -> Command<Message> {
}))
}
+/// Sets the window to maximized or back.
+pub fn maximize<Message>(value: bool) -> Command<Message> {
+ Command::single(command::Action::Window(window::Action::Maximize(value)))
+}
+
+/// Set the window to minimized or back.
+pub fn minimize<Message>(value: bool) -> Command<Message> {
+ Command::single(command::Action::Window(window::Action::Minimize(value)))
+}
+
/// Moves a window to the given logical coordinates.
pub fn move_to<Message>(x: i32, y: i32) -> Command<Message> {
Command::single(command::Action::Window(window::Action::Move { x, y }))
@@ -22,6 +37,11 @@ pub fn set_mode<Message>(mode: Mode) -> Command<Message> {
Command::single(command::Action::Window(window::Action::SetMode(mode)))
}
+/// Sets the window to maximized or back.
+pub fn toggle_maximize<Message>() -> Command<Message> {
+ Command::single(command::Action::Window(window::Action::ToggleMaximize))
+}
+
/// Fetches the current [`Mode`] of the window.
pub fn fetch_mode<Message>(
f: impl FnOnce(Mode) -> Message + 'static,