VideoTools/internal/ui
Stu e25f0c4284 Add video interaction: double-click fullscreen and right-click play/pause
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>
2025-12-09 11:23:26 -05:00
..
components.go Initial import for VT Player 2025-12-04 05:03:02 -05:00
icons.go Integrate Google Material Icons for clean UI 2025-12-05 10:06:43 -05:00
mainmenu.go Simplify player view and enable drop-to-play 2025-12-04 06:04:35 -05:00
queueview.go Initial import for VT Player 2025-12-04 05:03:02 -05:00
tappable.go Add video interaction: double-click fullscreen and right-click play/pause 2025-12-09 11:23:26 -05:00
timeline.go Create custom timeline widget with keyframe markers (Commit 6) 2025-12-08 12:07:45 -05:00