summaryrefslogtreecommitdiffstats
path: root/wgpu/src/renderer
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-03-18 01:26:13 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-03-18 01:27:01 +0100
commit20b142e8e3a674f27f9c9429449002086708ce11 (patch)
treea34964b2a593a18323d37c6accab05ad35198fe5 /wgpu/src/renderer
parent05beb878527b4d4e3141ca5ba09337d6ada858be (diff)
downloadiced-20b142e8e3a674f27f9c9429449002086708ce11.tar.gz
iced-20b142e8e3a674f27f9c9429449002086708ce11.tar.bz2
iced-20b142e8e3a674f27f9c9429449002086708ce11.zip
Make cursor unavailable when dragging panes
Diffstat (limited to 'wgpu/src/renderer')
-rw-r--r--wgpu/src/renderer/widget/pane_grid.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/wgpu/src/renderer/widget/pane_grid.rs b/wgpu/src/renderer/widget/pane_grid.rs
index 741fe814..2d201fec 100644
--- a/wgpu/src/renderer/widget/pane_grid.rs
+++ b/wgpu/src/renderer/widget/pane_grid.rs
@@ -14,6 +14,14 @@ impl pane_grid::Renderer for Renderer {
layout: Layout<'_>,
cursor_position: Point,
) -> Self::Output {
+ let pane_cursor_position = if dragging.is_some() {
+ // TODO: Remove once cursor availability is encoded in the type
+ // system
+ Point::new(-1.0, -1.0)
+ } else {
+ cursor_position
+ };
+
let mut mouse_cursor = MouseCursor::OutOfBounds;
let mut dragged_pane = None;
@@ -23,7 +31,7 @@ impl pane_grid::Renderer for Renderer {
.enumerate()
.map(|(i, ((id, pane), layout))| {
let (primitive, new_mouse_cursor) =
- pane.draw(self, defaults, layout, cursor_position);
+ pane.draw(self, defaults, layout, pane_cursor_position);
if new_mouse_cursor > mouse_cursor {
mouse_cursor = new_mouse_cursor;