summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/pane_grid.rs31
-rw-r--r--src/settings.rs2
-rw-r--r--winit/src/application.rs2
3 files changed, 30 insertions, 5 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index 20616ed4..3637822b 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -481,10 +481,33 @@ where
return mouse::Interaction::Grab;
}
- if let Some((_, axis)) = self.state.picked_split() {
- return match axis {
- Axis::Horizontal => mouse::Interaction::ResizingHorizontally,
- Axis::Vertical => mouse::Interaction::ResizingVertically,
+ let resize_axis =
+ self.state.picked_split().map(|(_, axis)| axis).or_else(|| {
+ self.on_resize.as_ref().and_then(|(leeway, _)| {
+ let bounds = layout.bounds();
+
+ let splits = self
+ .state
+ .split_regions(f32::from(self.spacing), bounds.size());
+
+ let relative_cursor = Point::new(
+ cursor_position.x - bounds.x,
+ cursor_position.y - bounds.y,
+ );
+
+ hovered_split(
+ splits.iter(),
+ f32::from(self.spacing + leeway),
+ relative_cursor,
+ )
+ .map(|(_, axis, _)| axis)
+ })
+ });
+
+ if let Some(resize_axis) = resize_axis {
+ return match resize_axis {
+ Axis::Horizontal => mouse::Interaction::ResizingVertically,
+ Axis::Vertical => mouse::Interaction::ResizingHorizontally,
};
}
diff --git a/src/settings.rs b/src/settings.rs
index d726dc4f..f7940a0b 100644
--- a/src/settings.rs
+++ b/src/settings.rs
@@ -52,6 +52,8 @@ pub struct Settings<Flags> {
/// window to close (e.g. the user presses the close button).
///
/// By default, it is enabled.
+ ///
+ /// [`Application`]: crate::Application
pub exit_on_close_request: bool,
}
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 9d787933..9ae1364d 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -22,7 +22,7 @@ use std::mem::ManuallyDrop;
/// An interactive, native cross-platform application.
///
/// This trait is the main entrypoint of Iced. Once implemented, you can run
-/// your GUI application by simply calling [`run`](#method.run). It will run in
+/// your GUI application by simply calling [`run`]. It will run in
/// its own window.
///
/// An [`Application`] can execute asynchronous actions by returning a