Skip to content

Commit 26bb1ef

Browse files
committed
Initial Shaft render backend impl
1 parent 0b68746 commit 26bb1ef

File tree

14 files changed

+874
-14
lines changed

14 files changed

+874
-14
lines changed

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"swift.path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin",
3+
"swift.swiftEnvironmentVariables": {
4+
"DEVELOPER_DIR": "/Applications/Xcode.app/Contents/Developer"
5+
}
6+
}

Example/ShaftExample/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.build

Example/ShaftExample/Package.resolved

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

Example/ShaftExample/Package.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// swift-tools-version: 6.1
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "ShaftExample",
7+
platforms: [
8+
.macOS(.v15),
9+
.iOS(.v18),
10+
],
11+
products: [
12+
.executable(name: "ShaftExample", targets: ["ShaftExample"]),
13+
],
14+
dependencies: [
15+
.package(path: "../../"), // OpenSwiftUI
16+
],
17+
targets: [
18+
.executableTarget(
19+
name: "ShaftExample",
20+
dependencies: [
21+
.product(name: "OpenSwiftUI", package: "OpenSwiftUI"),
22+
.product(name: "OpenSwiftUIShaftBackend", package: "OpenSwiftUI"),
23+
],
24+
swiftSettings: [
25+
.interoperabilityMode(.Cxx),
26+
]
27+
),
28+
],
29+
cxxLanguageStandard: .cxx17,
30+
)
31+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//
2+
// main.swift
3+
// ShaftExample
4+
//
5+
// Example application demonstrating OpenSwiftUI rendering via Shaft
6+
//
7+
8+
import Foundation
9+
import OpenSwiftUI
10+
import OpenSwiftUIShaftBackend
11+
12+
13+
// Define a simple OpenSwiftUI view
14+
struct ContentView: OpenSwiftUI.View {
15+
var body: some OpenSwiftUI.View {
16+
BlueColor()
17+
}
18+
}
19+
20+
struct BlueColor: OpenSwiftUI.View {
21+
var id: String { "BlueColor" }
22+
23+
var body: some OpenSwiftUI.View {
24+
Color.blue._identified(by: id)
25+
}
26+
}
27+
28+
// Run the application
29+
ShaftHostingView.run(rootView: ContentView())

Package.resolved

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

0 commit comments

Comments
 (0)