opt video gesture

Closes #1374

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-29 15:41:44 +08:00
parent 05636b33c0
commit 1d723b704b
3 changed files with 29 additions and 10 deletions

View File

@@ -1020,7 +1020,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
_gestureType = null;
}
void onDoubleTapDown(TapDownDetails details) {
void onDoubleTapDownMobile(TapDownDetails details) {
if (plPlayerController.controlsLock.value) {
return;
}
@@ -1048,13 +1048,35 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
plPlayerController.onDoubleTapCenter();
}
void onDoubleTapDesktop([_]) {
void onDoubleTapDesktop() {
if (plPlayerController.controlsLock.value) {
return;
}
plPlayerController.triggerFullScreen(status: !isFullScreen);
}
void onTap(PointerDeviceKind? kind) {
switch (kind) {
case ui.PointerDeviceKind.mouse:
onTapDesktop();
break;
default:
plPlayerController.controls = !plPlayerController.showControls.value;
break;
}
}
void onDoubleTapDown(TapDownDetails details) {
switch (details.kind) {
case ui.PointerDeviceKind.mouse:
onDoubleTapDesktop();
break;
default:
onDoubleTapDownMobile(details);
break;
}
}
final isMobile = Utils.isMobile;
@override
@@ -1105,11 +1127,8 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
onInteractionEnd: _onInteractionEnd,
flipX: plPlayerController.flipX.value,
flipY: plPlayerController.flipY.value,
onTap: isMobile
? () => plPlayerController.controls =
!plPlayerController.showControls.value
: onTapDesktop,
onDoubleTapDown: isMobile ? onDoubleTapDown : onDoubleTapDesktop,
onTap: onTap,
onDoubleTapDown: onDoubleTapDown,
onLongPressStart: isLive
? null
: (_) => plPlayerController.setLongPressStatus(true),