From 116fb666b05d57df6f70631b11fc8732ed33f71b Mon Sep 17 00:00:00 2001
From: Joao Freitas <51237625+jhff@users.noreply.github.com>
Date: Fri, 15 Dec 2023 10:02:13 +0000
Subject: Add deadband distance before initiating drag action on pane grid

---
 widget/src/pane_grid/state.rs | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'widget/src/pane_grid')

diff --git a/widget/src/pane_grid/state.rs b/widget/src/pane_grid/state.rs
index 481cd770..5d1fe254 100644
--- a/widget/src/pane_grid/state.rs
+++ b/widget/src/pane_grid/state.rs
@@ -403,6 +403,15 @@ pub enum Action {
     ///
     /// [`PaneGrid`]: super::PaneGrid
     Idle,
+    /// A [`Pane`] in the [`PaneGrid`] is being clicked.
+    ///
+    /// [`PaneGrid`]: super::PaneGrid
+    Clicking {
+        /// The [`Pane`] being clicked.
+        pane: Pane,
+        /// The starting [`Point`] of the click interaction.
+        origin: Point,
+    },
     /// A [`Pane`] in the [`PaneGrid`] is being dragged.
     ///
     /// [`PaneGrid`]: super::PaneGrid
@@ -432,6 +441,14 @@ impl Action {
         }
     }
 
+    /// Returns the current [`Pane`] that is being clicked, if any.
+    pub fn clicked_pane(&self) -> Option<(Pane, Point)> {
+        match *self {
+            Action::Clicking { pane, origin, .. } => Some((pane, origin)),
+            _ => None,
+        }
+    }
+
     /// Returns the current [`Split`] that is being dragged, if any.
     pub fn picked_split(&self) -> Option<(Split, Axis)> {
         match *self {
-- 
cgit