Skip to content

Commit 77dc490

Browse files
authored
Add DanceUIGraph shim mode (#225)
1 parent 5d84ebd commit 77dc490

9 files changed

Lines changed: 2202 additions & 77 deletions

File tree

‎Package.resolved‎

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Package.swift‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ let libraryEvolutionCondition = envBoolValue("LIBRARY_EVOLUTION", default: build
145145
let compatibilityTestCondition = envBoolValue("COMPATIBILITY_TEST", default: false)
146146

147147
let useLocalDeps = envBoolValue("USE_LOCAL_DEPS")
148+
let danceUIGraphCondition = envBoolValue("OPENATTRIBUTESHIMS_DANCEUIGRAPH", default: false)
148149
let computeCondition = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE", default: false)
149150
let attributeGraphCondition = envBoolValue("OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH", default: false)
150151

@@ -221,6 +222,21 @@ if !(compatibilityTestCondition && buildForDarwinPlatform) {
221222
// MARK: - Extension
222223

223224
extension Target {
225+
func addDanceUIGraphSettings() {
226+
dependencies.append(
227+
.product(name: "DanceUIGraph", package: "DanceUIGraph-spm")
228+
)
229+
dependencies.append(
230+
.target(name: "OpenAttributeGraphDanceUIGraphShims")
231+
)
232+
addDanceUIGraphSwiftSettings()
233+
234+
var linkerSettings = linkerSettings ?? []
235+
linkerSettings.append(.linkedLibrary("c++", .when(platforms: [.iOS, .macOS])))
236+
linkerSettings.append(.linkedLibrary("z", .when(platforms: [.iOS, .macOS])))
237+
self.linkerSettings = linkerSettings
238+
}
239+
224240
func addAGSettings() {
225241
dependencies.append(
226242
.product(name: "AttributeGraph", package: "DarwinPrivateFrameworks")
@@ -242,6 +258,12 @@ extension Target {
242258
linkerSettings.append(.linkedLibrary("swiftDemangle", .when(platforms: .darwinPlatforms)))
243259
self.linkerSettings = linkerSettings
244260
}
261+
262+
func addDanceUIGraphSwiftSettings() {
263+
var swiftSettings = swiftSettings ?? []
264+
swiftSettings.append(.define("OPENATTRIBUTEGRAPH_DANCEUIGRAPH"))
265+
self.swiftSettings = swiftSettings
266+
}
245267
}
246268

247269
extension [Platform] {
@@ -314,6 +336,15 @@ let openAttributeGraphShimsTarget = Target.target(
314336
cxxSettings: sharedCxxSettings,
315337
swiftSettings: sharedSwiftSettings
316338
)
339+
let openAttributeGraphDanceUIGraphShimsTarget = Target.target(
340+
name: "OpenAttributeGraphDanceUIGraphShims",
341+
dependencies: [
342+
.product(name: "DanceUIGraph", package: "DanceUIGraph-spm"),
343+
],
344+
path: "Sources/OpenAttributeGraphDanceUIGraphShims",
345+
publicHeadersPath: "include",
346+
cSettings: sharedCSettings
347+
)
317348

318349
// MARK: - Test Targets
319350

@@ -420,6 +451,25 @@ if computeCondition {
420451
}
421452
openAttributeGraphShimsTarget.addComputeSettings()
422453
package.platforms = [.iOS(.v18), .macOS(.v15), .macCatalyst(.v18), .tvOS(.v18), .watchOS(.v10), .visionOS(.v2)]
454+
} else if danceUIGraphCondition {
455+
let danceUIGraphBinaryRepo: Package.Dependency
456+
if useLocalDeps {
457+
danceUIGraphBinaryRepo = Package.Dependency.package(path: "../DanceUIGraph-spm")
458+
} else {
459+
let version: Version = envStringValue("OPENATTRIBUTESHIMS_DANCEUIGRAPH_BINARY_VERSION").flatMap {
460+
Version($0)
461+
} ?? "0.0.3"
462+
danceUIGraphBinaryRepo = Package.Dependency.package(
463+
url: "https://github.com/OpenSwiftUIProject/DanceUIGraph-spm.git",
464+
exact: version
465+
)
466+
}
467+
package.dependencies.append(danceUIGraphBinaryRepo)
468+
package.targets.append(openAttributeGraphDanceUIGraphShimsTarget)
469+
openAttributeGraphShimsTarget.addDanceUIGraphSettings()
470+
openAttributeGraphShimsTestsTarget.addDanceUIGraphSwiftSettings()
471+
package.targets.append(openAttributeGraphShimsTestsTarget)
472+
package.platforms = [.iOS(.v13), .macOS(.v10_15)]
423473
} else if attributeGraphCondition, buildForDarwinPlatform {
424474
setupDPFDependency()
425475
openAttributeGraphShimsTarget.addAGSettings()
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
#include <OpenAttributeGraphDanceUIGraphShims/OpenAttributeGraphDanceUIGraphShims.h>
2+
3+
void * _Nullable OAGDanceUIGraphGetContext(DanceUIGraphRef graph) SWIFT_CC(swift) {
4+
return DanceUIGraphGetContext(graph);
5+
}
6+
7+
void OAGDanceUIGraphSetContext(DanceUIGraphRef graph, void * _Nullable context) SWIFT_CC(swift) {
8+
DanceUIGraphSetContext(graph, context);
9+
}
10+
11+
DanceUIGraphAttribute OAGDanceUIGraphGetCurrentAttribute(void) SWIFT_CC(swift) {
12+
return DanceUIGraphGetCurrentAttribute();
13+
}
14+
15+
bool OAGDanceUIGraphCurrentAttributeWasModified(void) SWIFT_CC(swift) {
16+
return DanceUIGraphCurrentAttributeWasModified();
17+
}
18+
19+
DanceUIGraphAttribute OAGDanceUIGraphCurrentAttributeUpdatedReason(void) SWIFT_CC(swift) {
20+
return DanceUIGraphCurrentAttributeUpdatedReason();
21+
}
22+
23+
void *OAGDanceUIGraphClearUpdate(void) SWIFT_CC(swift) {
24+
return DanceUIGraphClearUpdate();
25+
}
26+
27+
void OAGDanceUIGraphSetUpdate(void *update) SWIFT_CC(swift) {
28+
DanceUIGraphSetUpdate(update);
29+
}
30+
31+
DanceUIGraphAttribute OAGDanceUIGraphCreateAttribute(DanceUIGraphTypeIndex typeID, const void *attribute, const void * _Nullable value) SWIFT_CC(swift) {
32+
return DanceUIGraphCreateAttribute(typeID, (void *)attribute, (void *)value);
33+
}
34+
35+
DanceUIGraphValue OAGDanceUIGraphGetValue(DanceUIGraphAttribute attribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
36+
return DanceUIGraphGetValue(attribute, (DanceUIGraphValueOptions)options, metadata);
37+
}
38+
39+
bool OAGDanceUIGraphSetValue(DanceUIGraphAttribute attribute, const void *value, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
40+
return DanceUIGraphSetValue(attribute, value, metadata);
41+
}
42+
43+
DanceUIGraphValue OAGDanceUIGraphGetInputValue(DanceUIGraphAttribute destinationAttribute, DanceUIGraphAttribute inputAttribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
44+
return DanceUIGraphGetInputValue(destinationAttribute, inputAttribute, (DanceUIGraphValueOptions)options, metadata);
45+
}
46+
47+
const void * _Nullable OAGDanceUIGraphGetOutputValue(const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
48+
return DanceUIGraphGetOutputValue(metadata);
49+
}
50+
51+
void OAGDanceUIGraphSetOutputValue(const void *value, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
52+
DanceUIGraphSetOutputValue((void *)value, metadata);
53+
}
54+
55+
void OAGDanceUIGraphWithUpdate(DanceUIGraphAttribute attribute, void (*updateCallback)(void *ctx SWIFT_CONTEXT) SWIFT_CC(swift), const void *updateCallbackContext) SWIFT_CC(swift) {
56+
DanceUIGraphWithUpdate(attribute, updateCallback, updateCallbackContext);
57+
}
58+
59+
DanceUIGraphAttribute OAGDanceUIGraphCreateOffsetAttribute(DanceUIGraphAttribute attribute, int offset) SWIFT_CC(swift) {
60+
return DanceUIGraphCreateOffsetAttribute(attribute, (uint32_t)offset);
61+
}
62+
63+
DanceUIGraphAttribute OAGDanceUIGraphCreateOffsetAttribute2(DanceUIGraphAttribute attribute, int offset, int size) SWIFT_CC(swift) {
64+
return DanceUIGraphCreateOffsetAttribute2(attribute, (uint32_t)offset, (uint32_t)size);
65+
}
66+
67+
DanceUIGraphAttribute OAGDanceUIGraphCreateIndirectAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
68+
return DanceUIGraphCreateIndirectAttribute(attribute);
69+
}
70+
71+
DanceUIGraphAttribute OAGDanceUIGraphCreateIndirectAttribute2(DanceUIGraphAttribute attribute, uint32_t size) SWIFT_CC(swift) {
72+
return DanceUIGraphCreateIndirectAttribute2(attribute, size);
73+
}
74+
75+
DanceUIGraphAttribute OAGDanceUIGraphGetIndirectAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
76+
return DanceUIGraphGetIndirectAttribute(attribute);
77+
}
78+
79+
void OAGDanceUIGraphSetIndirectAttribute(DanceUIGraphAttribute attribute, DanceUIGraphAttribute source) SWIFT_CC(swift) {
80+
DanceUIGraphSetIndirectAttribute(attribute, source);
81+
}
82+
83+
DanceUIGraphAttribute OAGDanceUIGraphGetIndirectDependency(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
84+
return DanceUIGraphGetIndirectDependency(attribute);
85+
}
86+
87+
void OAGDanceUIGraphSetIndirectDependency(DanceUIGraphAttribute attribute, DanceUIGraphAttribute dependency) SWIFT_CC(swift) {
88+
DanceUIGraphSetIndirectDependency(attribute, dependency);
89+
}
90+
91+
DanceUIGraphWeakAttribute OAGDanceUIGraphCreateWeakAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
92+
return DanceUIGraphCreateWeakAttribute(attribute);
93+
}
94+
95+
DanceUIGraphAttribute OAGDanceUIGraphWeakAttributeGetAttribute(DanceUIGraphWeakAttribute weakAttribute) SWIFT_CC(swift) {
96+
return DanceUIGraphWeakAttributeGetAttribute(weakAttribute);
97+
}
98+
99+
DanceUIGraphWeakValue OAGDanceUIGraphGetWeakValue(DanceUIGraphWeakAttribute weakAttribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
100+
return DanceUIGraphGetWeakValue(weakAttribute, (DanceUIGraphValueOptions)options, metadata);
101+
}
102+
103+
DanceUIGraphAttributeInfo OAGDanceUIGraphGetAttributeInfo(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
104+
return DanceUIGraphGetAttributeInfo(attribute);
105+
}
106+
107+
void OAGDanceUIGraphMutateAttribute(DanceUIGraphAttribute attribute, const DanceUIGraphSwiftMetadata *metadata, bool invalidate, void (*mutateBody)(void *ctx SWIFT_CONTEXT, void *attribute) SWIFT_CC(swift), const void *mutateBodyContext) SWIFT_CC(swift) {
108+
DanceUIGraphMutateAttribute(attribute, metadata, invalidate, mutateBody, mutateBodyContext);
109+
}
110+
111+
void OAGDanceUIGraphVerifyType(DanceUIGraphAttribute attribute, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift) {
112+
DanceUIGraphVerifyType(attribute, metadata);
113+
}
114+
115+
void OAGDanceUIGraphAddInput(DanceUIGraphAttribute toAttribute, DanceUIGraphAttribute fromAttribute, DanceUIGraphInputOptions inputOptions) SWIFT_CC(swift) {
116+
DanceUIGraphAddInput(toAttribute, fromAttribute, inputOptions);
117+
}
118+
119+
void OAGDanceUIGraphInvalidateAllValues(DanceUIGraphRef graph) SWIFT_CC(swift) {
120+
DanceUIGraphInvalidateAllValues(graph);
121+
}
122+
123+
void OAGDanceUIGraphInvalidateValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
124+
DanceUIGraphInvalidateValue(attribute);
125+
}
126+
127+
bool OAGDanceUIGraphHasValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
128+
return DanceUIGraphHasValue(attribute);
129+
}
130+
131+
void OAGDanceUIGraphUpdateValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
132+
DanceUIGraphUpdateValue(attribute);
133+
}
134+
135+
DanceUIGraphValueState OAGDanceUIGraphGetValueState(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
136+
return DanceUIGraphGetValueState(attribute);
137+
}
138+
139+
bool OAGDanceUIGraphSearch(DanceUIGraphAttribute rootAttribute, DanceUIGraphSearchOptions options, bool (*body)(void *ctx SWIFT_CONTEXT, DanceUIGraphAttribute attribute) SWIFT_CC(swift), const void *bodyContext) SWIFT_CC(swift) {
140+
return DanceUIGraphSearch(rootAttribute, options, body, bodyContext);
141+
}
142+
143+
DanceUIGraphAttributeFlags OAGDanceUIGraphGetFlags(DanceUIGraphAttribute attribute) SWIFT_CC(swift) {
144+
return DanceUIGraphGetFlags(attribute);
145+
}
146+
147+
void OAGDanceUIGraphSetFlags(DanceUIGraphAttribute attribute, DanceUIGraphAttributeFlags flags) SWIFT_CC(swift) {
148+
DanceUIGraphSetFlags(attribute, flags);
149+
}
150+
151+
const void *OAGDanceUIGraphReadCachedAttribute(uintptr_t hashValue, const DanceUIGraphSwiftMetadata *selfMetadata, const void *attributeBody, const DanceUIGraphSwiftMetadata *valueMetadata, DanceUIGraphCachedValueOptions valueOptions, DanceUIGraphAttribute attribute, DanceUIGraphChangedValueFlags *changedValueFlags, DanceUIGraphTypeIndex (*body)(void *ctx SWIFT_CONTEXT, DanceUIGraphContextRef) SWIFT_CC(swift), const void *bodyContext) SWIFT_CC(swift) {
152+
return DanceUIGraphReadCachedAttribute(hashValue, selfMetadata, attributeBody, valueMetadata, valueOptions, attribute, changedValueFlags, body, bodyContext);
153+
}
154+
155+
const void * _Nullable OAGDanceUIGraphReadCachedAttributeIfExists(uintptr_t hashValue, const DanceUIGraphSwiftMetadata *selfMetadata, const void *attributeBody, const DanceUIGraphSwiftMetadata *valueMetadata, DanceUIGraphCachedValueOptions valueOptions, DanceUIGraphAttribute attribute, DanceUIGraphChangedValueFlags *changedValueFlags) SWIFT_CC(swift) {
156+
return DanceUIGraphReadCachedAttributeIfExists(hashValue, selfMetadata, attributeBody, valueMetadata, valueOptions, attribute, changedValueFlags);
157+
}
158+
159+
void OAGDanceUISubgraphSetCurrent(DanceUISubgraphRef _Nullable subgraph) SWIFT_CC(swift) {
160+
DanceUISubgraphSetCurrent(subgraph);
161+
}
162+
163+
DanceUISubgraphRef _Nullable OAGDanceUISubgraphGetCurrent(void) SWIFT_CC(swift) {
164+
return DanceUISubgraphGetCurrent();
165+
}
166+
167+
DanceUIGraphContextRef _Nullable OAGDanceUISubgraphGetCurrentGraphContext(void) SWIFT_CC(swift) {
168+
return DanceUISubgraphGetCurrentGraphContext();
169+
}
170+
171+
void OAGDanceUISubgraphApply(DanceUISubgraphRef subgraph, DanceUIGraphAttributeFlags flags, void (*applyBody)(void *ctx SWIFT_CONTEXT, DanceUIGraphAttribute attribute) SWIFT_CC(swift), const void *applyBodyContext) SWIFT_CC(swift) {
172+
DanceUISubgraphApply(subgraph, flags, applyBody, applyBodyContext);
173+
}
174+
175+
bool OAGDanceUISubgraphIntersects(DanceUISubgraphRef subgraph, DanceUIGraphAttributeFlags flags) SWIFT_CC(swift) {
176+
return DanceUISubgraphIntersects(subgraph, flags);
177+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#ifndef OpenAttributeGraphDanceUIGraphShims_h
2+
#define OpenAttributeGraphDanceUIGraphShims_h
3+
4+
#include <stdbool.h>
5+
#include <stdint.h>
6+
7+
#include <DanceUIGraph/DanceUIGraph.h>
8+
#include <DanceUIGraph/DanceUISubgraph.h>
9+
#include <DanceUIRuntime/DanceUISwiftSupport.h>
10+
11+
DANCE_UI_ASSUME_NONNULL_BEGIN
12+
13+
void * _Nullable OAGDanceUIGraphGetContext(DanceUIGraphRef graph) SWIFT_CC(swift);
14+
void OAGDanceUIGraphSetContext(DanceUIGraphRef graph, void * _Nullable context) SWIFT_CC(swift);
15+
DanceUIGraphAttribute OAGDanceUIGraphGetCurrentAttribute(void) SWIFT_CC(swift);
16+
bool OAGDanceUIGraphCurrentAttributeWasModified(void) SWIFT_CC(swift);
17+
DanceUIGraphAttribute OAGDanceUIGraphCurrentAttributeUpdatedReason(void) SWIFT_CC(swift);
18+
void *OAGDanceUIGraphClearUpdate(void) SWIFT_CC(swift);
19+
void OAGDanceUIGraphSetUpdate(void *update) SWIFT_CC(swift);
20+
DanceUIGraphAttribute OAGDanceUIGraphCreateAttribute(DanceUIGraphTypeIndex typeID, const void *attribute, const void * _Nullable value) SWIFT_CC(swift);
21+
DanceUIGraphValue OAGDanceUIGraphGetValue(DanceUIGraphAttribute attribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
22+
bool OAGDanceUIGraphSetValue(DanceUIGraphAttribute attribute, const void *value, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
23+
DanceUIGraphValue OAGDanceUIGraphGetInputValue(DanceUIGraphAttribute destinationAttribute, DanceUIGraphAttribute inputAttribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
24+
const void * _Nullable OAGDanceUIGraphGetOutputValue(const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
25+
void OAGDanceUIGraphSetOutputValue(const void *value, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
26+
void OAGDanceUIGraphWithUpdate(DanceUIGraphAttribute attribute, void (*updateCallback)(void *ctx SWIFT_CONTEXT) SWIFT_CC(swift), const void *updateCallbackContext) SWIFT_CC(swift);
27+
DanceUIGraphAttribute OAGDanceUIGraphCreateOffsetAttribute(DanceUIGraphAttribute attribute, int offset) SWIFT_CC(swift);
28+
DanceUIGraphAttribute OAGDanceUIGraphCreateOffsetAttribute2(DanceUIGraphAttribute attribute, int offset, int size) SWIFT_CC(swift);
29+
DanceUIGraphAttribute OAGDanceUIGraphCreateIndirectAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
30+
DanceUIGraphAttribute OAGDanceUIGraphCreateIndirectAttribute2(DanceUIGraphAttribute attribute, uint32_t size) SWIFT_CC(swift);
31+
DanceUIGraphAttribute OAGDanceUIGraphGetIndirectAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
32+
void OAGDanceUIGraphSetIndirectAttribute(DanceUIGraphAttribute attribute, DanceUIGraphAttribute source) SWIFT_CC(swift);
33+
DanceUIGraphAttribute OAGDanceUIGraphGetIndirectDependency(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
34+
void OAGDanceUIGraphSetIndirectDependency(DanceUIGraphAttribute attribute, DanceUIGraphAttribute dependency) SWIFT_CC(swift);
35+
DanceUIGraphWeakAttribute OAGDanceUIGraphCreateWeakAttribute(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
36+
DanceUIGraphAttribute OAGDanceUIGraphWeakAttributeGetAttribute(DanceUIGraphWeakAttribute weakAttribute) SWIFT_CC(swift);
37+
DanceUIGraphWeakValue OAGDanceUIGraphGetWeakValue(DanceUIGraphWeakAttribute weakAttribute, DanceUIGraphInputOptions options, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
38+
DanceUIGraphAttributeInfo OAGDanceUIGraphGetAttributeInfo(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
39+
void OAGDanceUIGraphMutateAttribute(DanceUIGraphAttribute attribute, const DanceUIGraphSwiftMetadata *metadata, bool invalidate, void (*mutateBody)(void *ctx SWIFT_CONTEXT, void *attribute) SWIFT_CC(swift), const void *mutateBodyContext) SWIFT_CC(swift);
40+
void OAGDanceUIGraphVerifyType(DanceUIGraphAttribute attribute, const DanceUIGraphSwiftMetadata *metadata) SWIFT_CC(swift);
41+
void OAGDanceUIGraphAddInput(DanceUIGraphAttribute toAttribute, DanceUIGraphAttribute fromAttribute, DanceUIGraphInputOptions inputOptions) SWIFT_CC(swift);
42+
void OAGDanceUIGraphInvalidateAllValues(DanceUIGraphRef graph) SWIFT_CC(swift);
43+
void OAGDanceUIGraphInvalidateValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
44+
bool OAGDanceUIGraphHasValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
45+
void OAGDanceUIGraphUpdateValue(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
46+
DanceUIGraphValueState OAGDanceUIGraphGetValueState(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
47+
bool OAGDanceUIGraphSearch(DanceUIGraphAttribute rootAttribute, DanceUIGraphSearchOptions options, bool (*body)(void *ctx SWIFT_CONTEXT, DanceUIGraphAttribute attribute) SWIFT_CC(swift), const void *bodyContext) SWIFT_CC(swift);
48+
DanceUIGraphAttributeFlags OAGDanceUIGraphGetFlags(DanceUIGraphAttribute attribute) SWIFT_CC(swift);
49+
void OAGDanceUIGraphSetFlags(DanceUIGraphAttribute attribute, DanceUIGraphAttributeFlags flags) SWIFT_CC(swift);
50+
const void *OAGDanceUIGraphReadCachedAttribute(uintptr_t hashValue, const DanceUIGraphSwiftMetadata *selfMetadata, const void *attributeBody, const DanceUIGraphSwiftMetadata *valueMetadata, DanceUIGraphCachedValueOptions valueOptions, DanceUIGraphAttribute attribute, DanceUIGraphChangedValueFlags *changedValueFlags, DanceUIGraphTypeIndex (*body)(void *ctx SWIFT_CONTEXT, DanceUIGraphContextRef) SWIFT_CC(swift), const void *bodyContext) SWIFT_CC(swift);
51+
const void * _Nullable OAGDanceUIGraphReadCachedAttributeIfExists(uintptr_t hashValue, const DanceUIGraphSwiftMetadata *selfMetadata, const void *attributeBody, const DanceUIGraphSwiftMetadata *valueMetadata, DanceUIGraphCachedValueOptions valueOptions, DanceUIGraphAttribute attribute, DanceUIGraphChangedValueFlags *changedValueFlags) SWIFT_CC(swift);
52+
53+
void OAGDanceUISubgraphSetCurrent(DanceUISubgraphRef _Nullable subgraph) SWIFT_CC(swift);
54+
DanceUISubgraphRef _Nullable OAGDanceUISubgraphGetCurrent(void) SWIFT_CC(swift);
55+
DanceUIGraphContextRef _Nullable OAGDanceUISubgraphGetCurrentGraphContext(void) SWIFT_CC(swift);
56+
void OAGDanceUISubgraphApply(DanceUISubgraphRef subgraph, DanceUIGraphAttributeFlags flags, void (*applyBody)(void *ctx SWIFT_CONTEXT, DanceUIGraphAttribute attribute) SWIFT_CC(swift), const void *applyBodyContext) SWIFT_CC(swift);
57+
bool OAGDanceUISubgraphIntersects(DanceUISubgraphRef subgraph, DanceUIGraphAttributeFlags flags) SWIFT_CC(swift);
58+
59+
DANCE_UI_ASSUME_NONNULL_END
60+
61+
#endif

0 commit comments

Comments
 (0)