Updated MathView examples.

This commit is contained in:
Michael Griebling
2024-10-08 19:45:30 -04:00
parent 7799485428
commit 55b539b74e
2 changed files with 23 additions and 16 deletions

View File

@@ -108,21 +108,24 @@ import SwiftUI
import SwiftMath import SwiftMath
struct MathView: UIViewRepresentable { struct MathView: UIViewRepresentable {
var equation: String var equation: String
var fontSize: CGFloat var font: MathFont = .latinModernFont
var textAlignment: MTTextAlignment = .center
var fontSize: CGFloat = 30
var labelMode: MTMathUILabelMode = .text
var insets: MTEdgeInsets = MTEdgeInsets()
func makeUIView(context: Context) -> MTMathUILabel { func makeUIView(context: Context) -> MTMathUILabel {
let view = MTMathUILabel() let view = MTMathUILabel()
return view return view
} }
func updateUIView(_ view: MTMathUILabel, context: Context) {
func updateUIView(_ uiView: MTMathUILabel, context: Context) { view.latex = equation
uiView.latex = equation view.font = MTFontManager().font(withName: font.rawValue, size: fontSize)
uiView.fontSize = fontSize view.textAlignment = textAlignment
uiView.font = MTFontManager().termesFont(withSize: fontSize) view.labelMode = labelMode
uiView.textAlignment = .right view.textColor = MTColor(Color.primary)
uiView.labelMode = .text view.contentInsets = insets
} }
} }
``` ```
@@ -134,9 +137,12 @@ import SwiftUI
import SwiftMath import SwiftMath
struct MathView: NSViewRepresentable { struct MathView: NSViewRepresentable {
var equation: String var equation: String
var fontSize: CGFloat var font: MathFont = .latinModernFont
var textAlignment: MTTextAlignment = .center
var fontSize: CGFloat = 30
var labelMode: MTMathUILabelMode = .text
var insets: MTEdgeInsets = MTEdgeInsets()
func makeNSView(context: Context) -> MTMathUILabel { func makeNSView(context: Context) -> MTMathUILabel {
let view = MTMathUILabel() let view = MTMathUILabel()
@@ -145,11 +151,11 @@ struct MathView: NSViewRepresentable {
func updateNSView(_ view: MTMathUILabel, context: Context) { func updateNSView(_ view: MTMathUILabel, context: Context) {
view.latex = equation view.latex = equation
view.fontSize = fontSize view.font = MTFontManager().font(withName: font.rawValue, size: fontSize)
view.font = MTFontManager().termesFont(withSize: fontSize) view.textAlignment = textAlignment
view.textColor = .textColor view.labelMode = labelMode
view.textAlignment = .center view.textColor = MTColor(Color.primary)
view.labelMode = .display view.contentInsets = insets
} }
} }
``` ```

View File

@@ -11,6 +11,7 @@ import UIKit
import AppKit import AppKit
#endif #endif
/// Now available for everyone to use
public enum MathFont: String, CaseIterable, Identifiable { public enum MathFont: String, CaseIterable, Identifiable {
public var id: Self { self } // Makes things simpler for SwiftUI public var id: Self { self } // Makes things simpler for SwiftUI