Implements intuitive video player interactions for enhanced user experience. Video Interaction Features: - Double-click video area to toggle fullscreen - Right-click video area to play/pause - Single-click does nothing (reserved for future use) - Transparent tappable overlay on video canvas Implementation: - Created TappableOverlay widget in internal/ui/tappable.go - Invisible widget captures tap, double-tap, and secondary-tap events - Extends widget.BaseWidget for Fyne compatibility - Added overlay to stage container after video image User Experience: - Double-click anywhere on video → instant fullscreen - Right-click anywhere on video → quick play/pause - Works alongside existing keyboard shortcuts (F11, Space, ESC) - Play button icon updates when using right-click Technical Details: - TappableOverlay has no visual representation - Implements Tapped(), DoubleTapped(), TappedSecondary() - Callbacks are configurable per instance - Positioned as top layer in container.NewMax() stack Usage: 1. Load a video 2. Double-click video to enter fullscreen 3. Right-click to pause/play 4. ESC or F11 to exit fullscreen Next Steps: - Consider adding single-click functionality - Add visual feedback for interactions - Implement mouse cursor auto-hide in fullscreen 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| components.go | ||
| icons.go | ||
| mainmenu.go | ||
| queueview.go | ||
| tappable.go | ||
| timeline.go | ||