import Foundation /// Welche Silhouette die Fahrzeug-Ansicht des Neigungsmessers zeigt. /// /// Jeder Fall ist ein zusammengehöriges Bilderset aus Seiten- und /// Heckansicht in Assets.xcassets, beide als Vorlage ("template") /// exportiert, damit `foregroundStyle` sie einfärben kann. Im Picker wird /// nur die Seitenansicht gezeigt. enum VehicleGraphicStyle: String, CaseIterable, Identifiable, Codable, Sendable { case vanster case california var id: String { rawValue } var title: String { switch self { case .vanster: return "Vanster" case .california: return "California" } } var sideImageName: String { switch self { case .vanster: return "VansterSide" case .california: return "CaliforniaSide" } } /// Für California liegt noch keine eigene Heckansicht vor, deshalb /// vorerst die von Vanster. var rearImageName: String { switch self { case .vanster, .california: return "VansterRear" } } /// Seitenverhältnis der jeweiligen Bilder – ohne das würde eine Grafik /// mit anderen Proportionen in der gemeinsamen Bildhülle verzerrt oder /// ungewollt verkleinert erscheinen. var sideAspect: Double { switch self { case .vanster: return VehicleTilt.sideAspect case .california: return 1 } } var rearAspect: Double { switch self { case .vanster, .california: return VehicleTilt.rearAspect } } }