5
5
// Audited for iOS 18.0
6
6
// Status: WIP
7
7
8
+ public import Foundation
8
9
@_spi ( ForOpenSwiftUIOnly)
9
10
public import OpenSwiftUICore
11
+ public import OpenGraphShims
10
12
import COpenSwiftUI
11
13
12
- #if canImport(Darwin)
13
-
14
- public import Foundation
14
+ // MARK: - OpenSwiftUIGlue
15
15
16
16
@_spi ( ForOpenSwiftUIOnly)
17
17
@_silgen_name ( " OpenSwiftUIGlueClass " )
@@ -20,29 +20,62 @@ public func OpenSwiftUIGlueClass() -> CoreGlue.Type {
20
20
}
21
21
22
22
@_spi ( ForOpenSwiftUIOnly)
23
+ #if canImport(ObjectiveC)
23
24
@objc ( OpenSwiftUIGlue)
25
+ #endif
24
26
final public class OpenSwiftUIGlue : CoreGlue {
27
+ override final public func maxVelocity( _ velocity: CGFloat ) {
28
+ ViewGraph . current. nextUpdate. views. maxVelocity ( velocity)
29
+ }
30
+
31
+ override final public func nextUpdate( nextTime: Time , interval: Double , reason: UInt32 ? ) {
32
+ ViewGraph . current. nextUpdate. views. at ( nextTime)
33
+ ViewGraph . current. nextUpdate. views. interval ( interval, reason: reason)
34
+ }
35
+
36
+ override final public func hasTestHost( ) -> Bool {
37
+ _TestApp. host != nil
38
+ }
39
+
40
+ override final public func isInstantiated( graph: Graph ) -> Bool {
41
+ graph. viewGraph ( ) . isInstantiated
42
+ }
43
+
25
44
override final public var defaultImplicitRootType : DefaultImplicitRootTypeResult {
26
45
DefaultImplicitRootTypeResult ( _VStackLayout. self)
27
46
}
28
47
48
+ override final public var defaultSpacing : CGSize {
49
+ CGSize ( width: 8 , height: 8 )
50
+ }
51
+
29
52
override final public func makeDefaultLayoutComputer( ) -> MakeDefaultLayoutComputerResult {
30
53
MakeDefaultLayoutComputerResult ( value: ViewGraph . current. $defaultLayoutComputer)
31
54
}
55
+
56
+ override final public func makeDefaultLayoutComputer( graph: Graph ) -> MakeDefaultLayoutComputerResult {
57
+ MakeDefaultLayoutComputerResult ( value: graph. viewGraph ( ) . $defaultLayoutComputer)
58
+ }
59
+
60
+ // TODO
32
61
}
33
62
34
63
@_spi ( ForOpenSwiftUIOnly)
35
64
@available ( * , unavailable)
36
65
extension OpenSwiftUIGlue : Sendable { }
37
66
67
+ // MARK: - OpenSwiftUIGlue2
68
+
38
69
@_spi ( ForOpenSwiftUIOnly)
39
70
@_silgen_name ( " OpenSwiftUIGlue2Class " )
40
71
public func OpenSwiftUIGlue2Class( ) -> CoreGlue2 . Type {
41
72
OpenSwiftUIGlue2 . self
42
73
}
43
74
44
75
@_spi ( ForOpenSwiftUIOnly)
76
+ #if canImport(ObjectiveC)
45
77
@objc ( OpenSwiftUIGlue2)
78
+ #endif
46
79
final public class OpenSwiftUIGlue2 : CoreGlue2 {
47
80
#if os(iOS)
48
81
override public final func initializeTestApp( ) {
@@ -93,4 +126,3 @@ final public class OpenSwiftUIGlue2: CoreGlue2 {
93
126
@_spi ( ForOpenSwiftUIOnly)
94
127
@available ( * , unavailable)
95
128
extension OpenSwiftUIGlue2 : Sendable { }
96
- #endif
0 commit comments