UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

33 lines (32 loc) 1.08 kB
import type { SpreadSheet } from '../../sheet-type'; /** * 基于 Canvas 的高清适配方案 * 1. 双屏切换, devicePixelRatio 变化时 * 2. Mac 触控板缩放 * 3. 浏览器窗口缩放 */ export declare class HdAdapter { private viewport; private devicePixelRatioMedia; private spreadsheet; private isDevicePixelRatioChange; private zoomOffsetLeft; constructor(spreadsheet: SpreadSheet); init: () => void; destroy: () => void; private initDevicePixelRatioListener; private removeDevicePixelRatioListener; private initDeviceZoomListener; private removeDeviceZoomListener; /** * DPR 改变也会触发 visualViewport 的 resize 事件, 预期是只监听双指缩放, 所以这里规避掉 * @see https://github.com/antvis/S2/issues/2072 */ private renderByZoomScaleWithoutResizeEffect; /** * 如果是浏览器窗口的放大缩小 (command +/-), 也会触发 */ private renderByDevicePixelRatioChanged; private renderByDevicePixelRatio; private renderByZoomScale; }