Yattee v2 rewrite

This commit is contained in:
Arkadiusz Fal
2026-02-08 18:31:16 +01:00
parent 20d0cfc0c7
commit 05f921d605
1043 changed files with 163875 additions and 68430 deletions

View File

@@ -0,0 +1,64 @@
//
// GesturesSettings.swift
// Yattee
//
// Combined settings for all player gestures.
//
import Foundation
/// Combined settings for player gestures.
struct GesturesSettings: Codable, Hashable, Sendable {
/// Settings for tap gestures.
var tapGestures: TapGesturesSettings
/// Settings for horizontal seek gesture.
var seekGesture: SeekGestureSettings
/// Settings for pinch-to-panscan gesture.
var panscanGesture: PanscanGestureSettings
// MARK: - Initialization
/// Creates combined gestures settings.
/// - Parameters:
/// - tapGestures: Tap gesture settings.
/// - seekGesture: Seek gesture settings.
/// - panscanGesture: Panscan gesture settings.
init(
tapGestures: TapGesturesSettings = .default,
seekGesture: SeekGestureSettings = .default,
panscanGesture: PanscanGestureSettings = .default
) {
self.tapGestures = tapGestures
self.seekGesture = seekGesture
self.panscanGesture = panscanGesture
}
// MARK: - Defaults
/// Default settings with all gestures disabled.
static let `default` = GesturesSettings()
// MARK: - Computed Properties
/// Whether tap gestures are enabled.
var areTapGesturesActive: Bool {
tapGestures.isEnabled
}
/// Whether seek gesture is enabled.
var isSeekGestureActive: Bool {
seekGesture.isEnabled
}
/// Whether panscan gesture is enabled.
var isPanscanGestureActive: Bool {
panscanGesture.isEnabled
}
/// Whether any gestures are effectively enabled.
var hasActiveGestures: Bool {
areTapGesturesActive || isSeekGestureActive || isPanscanGestureActive
}
}