diff --git a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface index fdd255e..6753878 100644 --- a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -278,6 +278,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -385,6 +398,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -397,3 +497,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 8f8cf1c..b827ccb 100644 --- a/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/GF/2025/Gestures.xcframework/ios-arm64-x86_64-simulator/Gestures.framework/Modules/Gestures.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -278,6 +278,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -385,6 +398,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -397,3 +497,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface index e42e64f..65ca703 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64-apple-macos.swiftinterface @@ -278,6 +278,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -385,6 +398,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -397,3 +497,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface index f000d2e..88fdc0d 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/arm64e-apple-macos.swiftinterface @@ -278,6 +278,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -385,6 +398,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -397,3 +497,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface index 5be8ff9..94ff359 100644 --- a/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/GF/2025/Gestures.xcframework/macos-arm64e-arm64-x86_64/Gestures.framework/Versions/A/Modules/Gestures.swiftmodule/x86_64-apple-macos.swiftinterface @@ -278,6 +278,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -385,6 +398,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -397,3 +497,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface b/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface index de5221f..f135e0e 100644 --- a/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface +++ b/GF/2025/Sources/Modules/Gestures.swiftmodule/template.swiftinterface @@ -274,6 +274,19 @@ extension Gestures.GFGestureRelationRole : Swift.CustomStringConvertible { get } } +public protocol LocationContaining { + var location: CoreFoundation.CGPoint { get } +} +extension CoreFoundation.CGPoint : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} +extension Swift.Never : Gestures.LocationContaining { + public var location: CoreFoundation.CGPoint { + get + } +} @frozen public struct GestureNodeID : Swift.Hashable, Swift.Comparable, Swift.Sendable, Swift.CustomStringConvertible { package let rawValue: Swift.UInt32 public static func < (lhs: Gestures.GestureNodeID, rhs: Gestures.GestureNodeID) -> Swift.Bool @@ -381,6 +394,93 @@ public struct UptimeTimeSource : Gestures.TimeSourceImpl, Swift.Sendable { get } } +public protocol Event : Swift.Identifiable { + var id: Gestures.EventID { get } + var phase: Gestures.EventPhase { get } + var timestamp: Gestures.Timestamp { get } +} +extension Swift.Never : Gestures.Event { + public var id: Gestures.EventID { + get + } + public var phase: Gestures.EventPhase { + get + } +} +public enum EventPhase : Swift.Hashable, Swift.Sendable { + case began + case active + case ended + case failed + public static func == (a: Gestures.EventPhase, b: Gestures.EventPhase) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol ScrollEvent : Gestures.SpatialEvent { + var delta: CoreFoundation.CGVector { get } + var acceleratedDelta: CoreFoundation.CGVector { get } +} +extension Swift.Never : Gestures.ScrollEvent { + public var delta: CoreFoundation.CGVector { + get + } + public var acceleratedDelta: CoreFoundation.CGVector { + get + } +} +public struct ConcreteScrollEvent : Gestures.ScrollEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public var delta: CoreFoundation.CGVector + public var acceleratedDelta: CoreFoundation.CGVector + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, delta: CoreFoundation.CGVector, acceleratedDelta: CoreFoundation.CGVector) + public typealias ID = Gestures.EventID +} +public struct TouchEvent : Gestures.SpatialEvent, Swift.Sendable { + public var id: Gestures.EventID + public var phase: Gestures.EventPhase + public var timestamp: Gestures.Timestamp + public var location: CoreFoundation.CGPoint + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint) + public typealias ID = Gestures.EventID +} +public struct MouseEvent : Gestures.SpatialEvent, Swift.Sendable { + public let id: Gestures.EventID + public let phase: Gestures.EventPhase + public let timestamp: Gestures.Timestamp + public let location: CoreFoundation.CGPoint + public let button: Gestures.MouseEvent.Button + public init(id: Gestures.EventID, phase: Gestures.EventPhase, timestamp: Gestures.Timestamp, location: CoreFoundation.CGPoint, button: Gestures.MouseEvent.Button) + public struct Button : Swift.RawRepresentable, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public static let primary: Gestures.MouseEvent.Button + public static let secondary: Gestures.MouseEvent.Button + public static let tertiary: Gestures.MouseEvent.Button + public typealias RawValue = Swift.Int + } + public typealias ID = Gestures.EventID +} +public struct EventID : Swift.Hashable, Swift.CustomStringConvertible, Swift.Sendable { + public let rawValue: Swift.Int + public init(rawValue: Swift.Int) + public var description: Swift.String { + get + } + public static func == (a: Gestures.EventID, b: Gestures.EventID) -> Swift.Bool + public func hash(into hasher: inout Swift.Hasher) + public var hashValue: Swift.Int { + get + } +} +public protocol SpatialEvent : Gestures.Event, Gestures.LocationContaining { +} +extension Swift.Never : Gestures.SpatialEvent { +} extension Gestures.GestureOutput : Swift.CustomStringConvertible {} extension Gestures.GestureOutput : Swift.CustomDebugStringConvertible {} extension Gestures.GestureOutputMetadata : Swift.CustomStringConvertible {} @@ -393,3 +493,9 @@ extension Gestures.GestureNodeMatcher : Swift.CustomStringConvertible {} extension Gestures.GestureNodeMatcher : Swift.CustomDebugStringConvertible {} extension Gestures.GestureNodeID : Swift.BitwiseCopyable {} extension Gestures.Timestamp : Swift.BitwiseCopyable {} +extension Gestures.ConcreteScrollEvent : Swift.CustomStringConvertible {} +extension Gestures.ConcreteScrollEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomStringConvertible {} +extension Gestures.TouchEvent : Swift.CustomDebugStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomStringConvertible {} +extension Gestures.MouseEvent : Swift.CustomDebugStringConvertible {} diff --git a/GF/DeviceSwiftShims/Event/Event.swift b/GF/DeviceSwiftShims/Event/Event.swift new file mode 100644 index 0000000..9022efe --- /dev/null +++ b/GF/DeviceSwiftShims/Event/Event.swift @@ -0,0 +1,30 @@ +// +// Event.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +// MARK: - Event + +public protocol Event: Identifiable { + var id: EventID { get } + var phase: EventPhase { get } + var timestamp: Timestamp { get } +} + +// MARK: - Never + Event + +extension Never: Event { + public var id: EventID { _gesturesUnreachableCode() } + public var phase: EventPhase { _gesturesUnreachableCode() } +} + +// MARK: - EventPhase + +public enum EventPhase: Hashable, Sendable { + case began + case active + case ended + case failed +} diff --git a/GF/DeviceSwiftShims/Event/EventID.swift b/GF/DeviceSwiftShims/Event/EventID.swift new file mode 100644 index 0000000..bf0b5c4 --- /dev/null +++ b/GF/DeviceSwiftShims/Event/EventID.swift @@ -0,0 +1,20 @@ +// +// EventID.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +// MARK: - EventID + +public struct EventID: Hashable, CustomStringConvertible, Sendable { + public let rawValue: Int + + public init(rawValue: Int) { + self.rawValue = rawValue + } + + public var description: String { + rawValue.description + } +} diff --git a/GF/DeviceSwiftShims/Event/MouseEvent.swift b/GF/DeviceSwiftShims/Event/MouseEvent.swift new file mode 100644 index 0000000..f889a21 --- /dev/null +++ b/GF/DeviceSwiftShims/Event/MouseEvent.swift @@ -0,0 +1,42 @@ +// +// MouseEvent.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +import CoreGraphics + +// MARK: - MouseEvent + +public struct MouseEvent: SpatialEvent, NestedCustomStringConvertible, Sendable { + public let id: EventID + public let phase: EventPhase + public let timestamp: Timestamp + public let location: CGPoint + public let button: Button + + public init(id: EventID, phase: EventPhase, timestamp: Timestamp, location: CGPoint, button: Button) { + self.id = id + self.phase = phase + self.timestamp = timestamp + self.location = location + self.button = button + } + + // MARK: - Button + + public struct Button: RawRepresentable, Sendable { + public let rawValue: Int + + public init(rawValue: Int) { + self.rawValue = rawValue + } + + public static let primary = Button(rawValue: 1) + + public static let secondary = Button(rawValue: 2) + + public static let tertiary = Button(rawValue: 3) + } +} diff --git a/GF/DeviceSwiftShims/Event/ScrollEvent.swift b/GF/DeviceSwiftShims/Event/ScrollEvent.swift new file mode 100644 index 0000000..b2b6724 --- /dev/null +++ b/GF/DeviceSwiftShims/Event/ScrollEvent.swift @@ -0,0 +1,50 @@ +// +// ScrollEvent.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +import CoreGraphics + +// MARK: - ScrollEvent + +/// A scroll event with delta values. +public protocol ScrollEvent: SpatialEvent { + var delta: CGVector { get } + var acceleratedDelta: CGVector { get } +} + +// MARK: - Never + ScrollEvent + +extension Never: ScrollEvent { + public var delta: CGVector { _gesturesUnreachableCode() } + public var acceleratedDelta: CGVector { _gesturesUnreachableCode() } +} + +// MARK: - ConcreteScrollEvent + +public struct ConcreteScrollEvent: ScrollEvent, NestedCustomStringConvertible, Sendable { + public var id: EventID + public var phase: EventPhase + public var timestamp: Timestamp + public var location: CGPoint + public var delta: CGVector + public var acceleratedDelta: CGVector + + public init( + id: EventID, + phase: EventPhase, + timestamp: Timestamp, + location: CGPoint, + delta: CGVector, + acceleratedDelta: CGVector + ) { + self.id = id + self.phase = phase + self.timestamp = timestamp + self.location = location + self.delta = delta + self.acceleratedDelta = acceleratedDelta + } +} diff --git a/GF/DeviceSwiftShims/Event/SpatialEvent.swift b/GF/DeviceSwiftShims/Event/SpatialEvent.swift new file mode 100644 index 0000000..a1f4aac --- /dev/null +++ b/GF/DeviceSwiftShims/Event/SpatialEvent.swift @@ -0,0 +1,15 @@ +// +// SpatialEvent.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +// MARK: - SpatialEvent + +/// A spatial event with a location. +public protocol SpatialEvent: Event, LocationContaining {} + +// MARK: - Never + SpatialEvent + +extension Never: SpatialEvent {} diff --git a/GF/DeviceSwiftShims/Event/TouchEvent.swift b/GF/DeviceSwiftShims/Event/TouchEvent.swift new file mode 100644 index 0000000..7abd3e0 --- /dev/null +++ b/GF/DeviceSwiftShims/Event/TouchEvent.swift @@ -0,0 +1,24 @@ +// +// TouchEvent.swift +// Gestures +// +// Audited for 9126.1.5 +// Status: Complete + +import CoreGraphics + +// MARK: - TouchEvent + +public struct TouchEvent: SpatialEvent, NestedCustomStringConvertible, Sendable { + public var id: EventID + public var phase: EventPhase + public var timestamp: Timestamp + public var location: CGPoint + + public init(id: EventID, phase: EventPhase, timestamp: Timestamp, location: CGPoint) { + self.id = id + self.phase = phase + self.timestamp = timestamp + self.location = location + } +} diff --git a/GF/DeviceSwiftShims/Util/LocationContaining.swift b/GF/DeviceSwiftShims/Util/LocationContaining.swift index 77d0a65..0ab4746 100644 --- a/GF/DeviceSwiftShims/Util/LocationContaining.swift +++ b/GF/DeviceSwiftShims/Util/LocationContaining.swift @@ -7,18 +7,31 @@ import CoreGraphics -package protocol LocationContaining { +// MARK: - LocationContaining + +public protocol LocationContaining { var location: CGPoint { get } } +// MARK: - CGPoint + LocationContaining + extension CGPoint: LocationContaining { - package var location: CGPoint { + public var location: CGPoint { self } } +// MARK: - Never + LocationContaining + extension Never: LocationContaining { - package var location: CGPoint { + public var location: CGPoint { _gesturesUnreachableCode() } } + +// MARK: - IdentifiableLocation [WIP] + +package struct IdentifiableLocation where ID: Hashable { + package var id: ID + package var location: CGPoint +}