UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

28 lines (27 loc) 961 B
import type { FrozenGroupArea } from '../common'; export type Indexes = [number, number, number, number]; export type PanelIndexes = { center: Indexes; } & Partial<Record<FrozenGroupArea, Indexes>>; export interface Diff { add: [number, number][]; remove: [number, number][]; } /** * 是否在 视窗索引范围中 * @param x * @param y * @param indexes */ export declare const isXYInRange: (x: number, y: number, indexes: number[]) => boolean; export declare const allIndexes: (indexes: Indexes) => [number, number][]; /** * 计算两个 indexes 的 diff,获取 sourceIndexes -> targetIndexes 过程中新增的和移除的index * @param sourceIndexes * @param targetIndexes */ export declare const diffIndexes: (sourceIndexes: Indexes, targetIndexes: Indexes) => Diff; /** * 计算 Panel 下所有子 Group的 Indexes Diff */ export declare const diffPanelIndexes: (sourceIndexes: PanelIndexes, targetIndexes: PanelIndexes) => Diff;