From ca1500ae90f33344fe776898ae11137bf7d1ecc1 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 15 Feb 2025 13:11:34 +0300 Subject: Implement scrolling the view during DnD DnD is external to the layout, so we just inform it when one is ongoing. --- src/layout/tests.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/layout/tests.rs') diff --git a/src/layout/tests.rs b/src/layout/tests.rs index ecb9d683..813f4765 100644 --- a/src/layout/tests.rs +++ b/src/layout/tests.rs @@ -589,6 +589,15 @@ enum Op { #[proptest(strategy = "1..=5usize")] window: usize, }, + DndUpdate { + #[proptest(strategy = "1..=5usize")] + output_idx: usize, + #[proptest(strategy = "-20000f64..20000f64")] + px: f64, + #[proptest(strategy = "-20000f64..20000f64")] + py: f64, + }, + DndEnd, InteractiveResizeBegin { #[proptest(strategy = "1..=5usize")] window: usize, @@ -1353,6 +1362,16 @@ impl Op { Op::InteractiveMoveEnd { window } => { layout.interactive_move_end(&window); } + Op::DndUpdate { output_idx, px, py } => { + let name = format!("output{output_idx}"); + let Some(output) = layout.outputs().find(|o| o.name() == name).cloned() else { + return; + }; + layout.dnd_update(output, Point::from((px, py))); + } + Op::DndEnd => { + layout.dnd_end(); + } Op::InteractiveResizeBegin { window, edges } => { layout.interactive_resize_begin(window, edges); } -- cgit