Block player dismiss pan from the panel resize grabber strip

Starting a column resize drag with a diagonal (downward) motion let the
window-level dismiss pan begin, cancelling the resize and dragging the
player down instead. The grabber now publishes its strip frame (with 8pt
slop on each side) to NavigationCoordinator, and the dismiss pan refuses
to begin from touches inside it — same exclusion pattern as the corner
layout's below-video panel frame.
This commit is contained in:
Arkadiusz Fal
2026-09-23 18:38:24 +02:00
parent 05a03723f6
commit 52ec8c9f05
3 changed files with 38 additions and 0 deletions

View File

@@ -162,6 +162,11 @@ final class NavigationCoordinator {
/// inside it must not start the sheet dismiss pan (drag handle conflict).
var cornerBelowPanelFrame: CGRect = .zero
/// Panel resize grabber strip frame in screen coordinates — touches inside
/// it must not start the sheet dismiss pan (a diagonal resize drag would
/// otherwise be cancelled and dismiss the player instead).
var panelResizeGrabberFrame: CGRect = .zero
/// Progress bar frame in screen coordinates (for gesture conflict resolution).
var progressBarFrame: CGRect = .zero