mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
60 lines
1.9 KiB
Swift
60 lines
1.9 KiB
Swift
//
|
|
// Image.swift
|
|
// Meshtastic
|
|
//
|
|
// Created by jake on 12/5/25.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
extension Image {
|
|
// Initializer taking a URL
|
|
// init?(svgURL: URL, maxSize: CGSize? = nil) {
|
|
// guard let svg = SVGKImage(contentsOf: svgURL) else { return nil }
|
|
// self.init(svgkImage: svg, maxSize: maxSize)
|
|
// }
|
|
//
|
|
// // Initializer taking Data
|
|
// init?(svgData: Data, maxSize: CGSize? = nil) {
|
|
// guard let svg = SVGKImage(data: svgData) else { return nil }
|
|
// self.init(svgkImage: svg, maxSize: maxSize)
|
|
// }
|
|
//
|
|
// // MARK: - Private Shared Logic
|
|
//
|
|
//// private init?(svgkImage svg: SVGKImage, maxSize: CGSize?) {
|
|
//// guard let root = svg.domDocument?.rootElement as? SVGSVGElement else { return nil }
|
|
////
|
|
//// // Calculate the intrinsic size, handling missing width/height attributes
|
|
//// // by falling back to the viewBox if necessary.
|
|
//// let intrinsicSize: CGSize = {
|
|
//// if let w = root.width, w.valueInSpecifiedUnits > 0,
|
|
//// let h = root.height, h.valueInSpecifiedUnits > 0 {
|
|
//// return CGSize(width: CGFloat(root.width.valueInSpecifiedUnits),
|
|
//// height: CGFloat(root.height.valueInSpecifiedUnits))
|
|
//// } else if root.hasAttribute("viewBox") {
|
|
//// let viewBox = root.viewBox
|
|
//// if viewBox.width > 0, viewBox.height > 0 {
|
|
//// return CGSize(width: CGFloat(viewBox.width),
|
|
//// height: CGFloat(viewBox.height))
|
|
//// }
|
|
//// }
|
|
//// return svg.size // Fallback
|
|
//// }()
|
|
////
|
|
//// guard intrinsicSize.width > 0, intrinsicSize.height > 0 else { return nil }
|
|
////
|
|
//// // Apply scaling if maxSize is provided
|
|
//// if let maxSize {
|
|
//// let scale = min(maxSize.width / intrinsicSize.width,
|
|
//// maxSize.height / intrinsicSize.height)
|
|
//// svg.size = CGSize(width: intrinsicSize.width * scale,
|
|
//// height: intrinsicSize.height * scale)
|
|
//// } else {
|
|
//// svg.size = intrinsicSize
|
|
//// }
|
|
////
|
|
//// guard let uiImage = svg.uiImage else { return nil }
|
|
//// self.init(uiImage: uiImage)
|
|
//// }
|
|
}
|