aboutsummaryrefslogtreecommitdiff
path: root/Map/Presentation/Complex Components/MapRender/MapRenderView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Map/Presentation/Complex Components/MapRender/MapRenderView.swift')
-rw-r--r--Map/Presentation/Complex Components/MapRender/MapRenderView.swift19
1 files changed, 19 insertions, 0 deletions
diff --git a/Map/Presentation/Complex Components/MapRender/MapRenderView.swift b/Map/Presentation/Complex Components/MapRender/MapRenderView.swift
index e2e5004..3811e55 100644
--- a/Map/Presentation/Complex Components/MapRender/MapRenderView.swift
+++ b/Map/Presentation/Complex Components/MapRender/MapRenderView.swift
@@ -38,6 +38,25 @@ struct MapRenderView: View {
@State private var smartLabelPositions: [Int: CGPoint] = [:]
@State private var parseTask: Task<Void, Never>?
+ init(
+ parsedMap: WmapParser.Map, evolution: Binding<StageType>,
+ onDragVertex: @escaping (Vertex, CGFloat, CGFloat) -> Void = { _, _, _ in }
+ ) {
+ self.parsedMap = parsedMap
+ self._evolution = evolution
+ self.onDragVertex = onDragVertex
+ }
+
+ init(
+ parsedMap: WmapParser.Map, evolution: Binding<StageType>, precomputedMap: RenderableMap,
+ precomputedLabelPositions: [Int: CGPoint] = [:]
+ ) {
+ self.parsedMap = parsedMap
+ self._evolution = evolution
+ self._renderableMap = State(initialValue: precomputedMap)
+ self._smartLabelPositions = State(initialValue: precomputedLabelPositions)
+ }
+
let mapSize = Dimensions.Map.size
let padding = Dimensions.Map.padding