summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
authorLibravatar Michael Aaron Murphy <mmstick@pm.me>2022-10-09 16:35:28 +0200
committerLibravatar Michael Aaron Murphy <mmstick@pm.me>2022-10-11 21:56:01 +0200
commit8a50836ffc32a6d9157eb18740b3947c4dbd7d1f (patch)
tree7d49a214e838a8724fa392b547b847105adc7b00 /winit
parent7ea7dbef578ddbe2a9a50da6aab253ba016f1362 (diff)
downloadiced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.tar.gz
iced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.tar.bz2
iced-8a50836ffc32a6d9157eb18740b3947c4dbd7d1f.zip
feat: Add window maximize support
Diffstat (limited to 'winit')
-rw-r--r--winit/src/application.rs6
-rw-r--r--winit/src/window.rs10
2 files changed, 16 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 75c113bf..7de5a0ce 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -624,6 +624,9 @@ pub fn run_command<A, E>(
height,
});
}
+ window::Action::Maximize(value) => {
+ window.set_maximized(value);
+ }
window::Action::Move { x, y } => {
window.set_outer_position(winit::dpi::LogicalPosition {
x,
@@ -637,6 +640,9 @@ pub fn run_command<A, E>(
mode,
));
}
+ window::Action::ToggleMaximize => {
+ window.set_maximized(!window.is_maximized())
+ }
window::Action::FetchMode(tag) => {
let mode = if window.is_visible().unwrap_or(true) {
conversion::mode(window.fullscreen())
diff --git a/winit/src/window.rs b/winit/src/window.rs
index 61c9c3fe..48210c33 100644
--- a/winit/src/window.rs
+++ b/winit/src/window.rs
@@ -17,6 +17,11 @@ 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)))
+}
+
/// 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 }))
@@ -27,6 +32,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,