summaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
authorLibravatar Michael Aaron Murphy <mmstick@pm.me>2022-10-06 20:38:21 +0200
committerLibravatar Michael Aaron Murphy <mmstick@pm.me>2022-10-11 21:39:53 +0200
commit7ea7dbef578ddbe2a9a50da6aab253ba016f1362 (patch)
tree9d74af6e938a01b99d710f8ec780dadd358ba97b /native
parent77c838011fe6f8f567389d5994584a1a1b8420c5 (diff)
downloadiced-7ea7dbef578ddbe2a9a50da6aab253ba016f1362.tar.gz
iced-7ea7dbef578ddbe2a9a50da6aab253ba016f1362.tar.bz2
iced-7ea7dbef578ddbe2a9a50da6aab253ba016f1362.zip
feat: Add window drag support from winit
Exposes access to the winit window's window_drag method as an action.
Diffstat (limited to 'native')
-rw-r--r--native/src/window/action.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/native/src/window/action.rs b/native/src/window/action.rs
index 73338e22..ce125144 100644
--- a/native/src/window/action.rs
+++ b/native/src/window/action.rs
@@ -5,6 +5,12 @@ use std::fmt;
/// An operation to be performed on some window.
pub enum Action<T> {
+ /// Moves the window with the left mouse button until the button is
+ /// released.
+ ///
+ /// There’s no guarantee that this will work unless the left mouse
+ /// button was pressed immediately before this function is called.
+ Drag,
/// Resize the window.
Resize {
/// The new logical width of the window
@@ -37,6 +43,7 @@ impl<T> Action<T> {
T: 'static,
{
match self {
+ Self::Drag => Action::Drag,
Self::Resize { width, height } => Action::Resize { width, height },
Self::Move { x, y } => Action::Move { x, y },
Self::SetMode(mode) => Action::SetMode(mode),
@@ -48,6 +55,7 @@ impl<T> Action<T> {
impl<T> fmt::Debug for Action<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
+ Self::Drag => write!(f, "Action::Drag"),
Self::Resize { width, height } => write!(
f,
"Action::Resize {{ widget: {}, height: {} }}",