From 21a71b753d6da2233bce913f4e623ee14859ec23 Mon Sep 17 00:00:00 2001 From: Yiğit Özdemir Date: Wed, 21 Jun 2023 19:43:20 +0300 Subject: Add command to retrieve window size --- runtime/src/window/action.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'runtime') diff --git a/runtime/src/window/action.rs b/runtime/src/window/action.rs index a9d2a3d0..4ea9d474 100644 --- a/runtime/src/window/action.rs +++ b/runtime/src/window/action.rs @@ -1,3 +1,7 @@ + + +use iced_core::window::SizeType; + use crate::core::window::{Icon, Level, Mode, UserAttention}; use crate::futures::MaybeSend; @@ -20,6 +24,13 @@ pub enum Action { /// The new logical height of the window height: u32, }, + /// Fetch the current size of the window. + FetchSize { + /// Which size to fetch + size_type: SizeType, + /// Callback function + callback: Box T + 'static>, + }, /// Set the window to maximized or back Maximize(bool), /// Set the window to minimized or back @@ -104,6 +115,10 @@ impl Action { Self::Close => Action::Close, Self::Drag => Action::Drag, Self::Resize { width, height } => Action::Resize { width, height }, + Self::FetchSize { size_type, callback } => Action::FetchSize { + size_type: size_type, + callback: Box::new(move |s| f(callback(s))), + }, Self::Maximize(maximized) => Action::Maximize(maximized), Self::Minimize(minimized) => Action::Minimize(minimized), Self::Move { x, y } => Action::Move { x, y }, @@ -131,6 +146,7 @@ impl fmt::Debug for Action { f, "Action::Resize {{ widget: {width}, height: {height} }}" ), + Self::FetchSize { size_type, .. } => write!(f, "Action::FetchSize {{ size_type: {size_type:?} }}"), Self::Maximize(maximized) => { write!(f, "Action::Maximize({maximized})") } -- cgit