mirror of
https://github.com/yattee/yattee.git
synced 2026-02-20 01:39:46 +00:00
66 lines
1.9 KiB
Swift
66 lines
1.9 KiB
Swift
//
|
|
// TapZonePosition.swift
|
|
// Yattee
|
|
//
|
|
// Defines the position identifiers for tap zones.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/// Position identifier for a tap zone within a layout.
|
|
enum TapZonePosition: String, Codable, CaseIterable, Sendable, Identifiable {
|
|
// Single layout
|
|
case full
|
|
|
|
// Horizontal split (2x1)
|
|
case left
|
|
case right
|
|
|
|
// Vertical split (1x2)
|
|
case top
|
|
case bottom
|
|
|
|
// Three columns (1x3)
|
|
case leftThird
|
|
case center
|
|
case rightThird
|
|
|
|
// Quadrants (2x2)
|
|
case topLeft
|
|
case topRight
|
|
case bottomLeft
|
|
case bottomRight
|
|
|
|
var id: String { rawValue }
|
|
|
|
/// Display name for the zone position.
|
|
var displayName: String {
|
|
switch self {
|
|
case .full:
|
|
String(localized: "gestures.zone.full", defaultValue: "Tap Zone")
|
|
case .left:
|
|
String(localized: "gestures.zone.left", defaultValue: "Left")
|
|
case .right:
|
|
String(localized: "gestures.zone.right", defaultValue: "Right")
|
|
case .top:
|
|
String(localized: "gestures.zone.top", defaultValue: "Top")
|
|
case .bottom:
|
|
String(localized: "gestures.zone.bottom", defaultValue: "Bottom")
|
|
case .leftThird:
|
|
String(localized: "gestures.zone.leftThird", defaultValue: "Left")
|
|
case .center:
|
|
String(localized: "gestures.zone.center", defaultValue: "Center")
|
|
case .rightThird:
|
|
String(localized: "gestures.zone.rightThird", defaultValue: "Right")
|
|
case .topLeft:
|
|
String(localized: "gestures.zone.topLeft", defaultValue: "Top-Left")
|
|
case .topRight:
|
|
String(localized: "gestures.zone.topRight", defaultValue: "Top-Right")
|
|
case .bottomLeft:
|
|
String(localized: "gestures.zone.bottomLeft", defaultValue: "Bottom-Left")
|
|
case .bottomRight:
|
|
String(localized: "gestures.zone.bottomRight", defaultValue: "Bottom-Right")
|
|
}
|
|
}
|
|
}
|