ghostty/macos/Sources/Helpers/MetalView.swift
2024-08-21 21:53:09 +02:00

27 lines
572 B
Swift

import SwiftUI
import MetalKit
/// Renders an MTKView with the given renderer class.
struct MetalView<V: MTKView>: View {
@State private var metalView = V()
var body: some View {
MetalViewRepresentable(metalView: $metalView)
}
}
fileprivate struct MetalViewRepresentable<V: MTKView>: NSViewRepresentable {
@Binding var metalView: V
func makeNSView(context: Context) -> some NSView {
metalView
}
func updateNSView(_ view: NSViewType, context: Context) {
updateMetalView()
}
func updateMetalView() {
}
}