import { inject, type Ref } from 'vue' import { EchartsRenderer } from '@packages/settings/chartThemes' type InitOptions = { renderer: EchartsRenderer devicePixelRatio?: number } // 获取需要给当前echarts组件设置什么初始值 export function useCanvasInitOptions(option: any, themeSetting: any) { const renderer = option.renderer || themeSetting.renderer const initOptions: InitOptions = { renderer } const scaleRef = inject>('scale-value') || { value: { width: 1, height: 1 } } if (renderer === 'canvas') { initOptions.devicePixelRatio = Math.ceil( Math.max(window.devicePixelRatio, scaleRef.value.width, scaleRef.value.height) ) } return initOptions }