视图控制 API
setZoomLevel
setZoomLevel(zoomLevel: number)
设置缩放级别。
zoom
zoom(factor: number)
按因子缩放。
setTimeIndicator
setTimeIndicator(seconds: number, applySnap?: boolean)
设置时间指示器位置(秒)。
setCanvasSize
setCanvasSize(width: number, height: number)
设置画布尺寸。
adjustCanvasSize
adjustCanvasSize()
根据容器大小自动调整画布尺寸。
getCanvas
getCanvas(): HTMLCanvasElement
获取画布元素。
markDirty
markDirty(layerIds?: string[])
标记画布图层为脏,触发重绘。如果不指定图层,将重绘所有图层。
notifyChange
notifyChange(change: ChangeType)
通知状态变更,由调度器自动处理脏层标记、派生状态计算和回调触发。
beginChangeBatch
beginChangeBatch()
开始批量变更操作。在此期间的变更不会立即触发重绘,直到调用 endChangeBatch。
endChangeBatch
endChangeBatch()
结束批量变更操作。
getLastLayerTimes
getLastLayerTimes(): Record<string, number>
获取各图层最后一次渲染的时间戳。
getContentWidthForZoom
getContentWidthForZoom(zoomLevel: number): number
获取指定缩放级别下的内容宽度。
hasHorizontalScrollbar
hasHorizontalScrollbar(): boolean
检查是否显示了水平滚动条。
getAvailableHeight
getAvailableHeight(): number
获取可用高度(减去滚动条等占用的高度)。