Files
swiftui-math/Sources/SwiftUIMath/Internal/Display/DisplayRadical.swift
Guille Gonzalez 8e4db3cf0e Add display model
2026-01-03 07:45:34 +01:00

35 lines
847 B
Swift

import CoreGraphics
import Foundation
extension Math {
final class DisplayRadical: DisplayNode {
var radicand: DisplayList?
var degree: DisplayList?
var radicalGlyph: DisplayNode?
var radicalShift: CGFloat = 0
var topKern: CGFloat = 0
var lineThickness: CGFloat = 0
init(radicand: DisplayList?, glyph: DisplayNode, position: CGPoint, range: NSRange) {
self.radicand = radicand
self.radicalGlyph = glyph
super.init()
self.position = position
self.range = range
}
override var position: CGPoint {
didSet { updateRadicandPosition() }
}
func updateRadicandPosition() {
guard let radicand, let radicalGlyph else { return }
radicand.position = CGPoint(
x: position.x + radicalShift + radicalGlyph.width,
y: position.y
)
}
}
}