| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { type CameraState } from '../camera/camera'
- import { type TileStoreStats } from '../tile/tileStore'
- import { type LonLatPoint } from '../../utils/projection'
- import { type TileZoomBounds } from '../../utils/remoteMapConfig'
- export interface MapScene {
- tileSource: string
- zoom: number
- centerTileX: number
- centerTileY: number
- tileBoundsByZoom: Record<number, TileZoomBounds> | null
- viewportWidth: number
- viewportHeight: number
- visibleColumns: number
- overdraw: number
- translateX: number
- translateY: number
- rotationRad: number
- previewScale: number
- previewOriginX: number
- previewOriginY: number
- track: LonLatPoint[]
- gpsPoint: LonLatPoint
- }
- export type MapRendererStats = TileStoreStats
- export interface MapRenderer {
- attachCanvas(canvasNode: any, width: number, height: number, dpr: number): void
- updateScene(scene: MapScene): void
- setAnimationPaused(paused: boolean): void
- destroy(): void
- }
- export function buildCamera(scene: MapScene): CameraState {
- return {
- centerWorldX: scene.centerTileX,
- centerWorldY: scene.centerTileY,
- viewportWidth: scene.viewportWidth,
- viewportHeight: scene.viewportHeight,
- visibleColumns: scene.visibleColumns,
- translateX: scene.translateX,
- translateY: scene.translateY,
- rotationRad: scene.rotationRad,
- }
- }
|