UNPKG

ag-charts-enterprise

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

62 lines (61 loc) 2.6 kB
import { type AgZoomAnchorPoint, _ModuleSupport } from 'ag-charts-community'; import type { BoxBounds, DefinedZoomState, ZoomMinMax } from 'ag-charts-core'; export declare const UNIT_SIZE: number; export declare const DEFAULT_ANCHOR_POINT_X: AgZoomAnchorPoint; export declare const DEFAULT_ANCHOR_POINT_Y: AgZoomAnchorPoint; export declare const ZOOM_VALID_CHECK_DEBOUNCE = 300; export declare function dx(zoom: DefinedZoomState): number; export declare function dy(zoom: DefinedZoomState): number; export declare function isZoomEqual(left: DefinedZoomState, right: DefinedZoomState): boolean; export declare function isMaxZoom(zoom: DefinedZoomState): boolean; /** * Calculate the position on the series rect as a ratio from the top left corner. Invert the ratio on the y-axis to * cater for conflicting direction between screen and chart axis systems. Constrains the point to the series * rect so the zoom is pinned to the edges if the point is over the legends, axes, etc. */ export declare function pointToRatio(bbox: BoxBounds, x: number, y: number): { x: number; y: number; }; /** * Translate a zoom bounding box by shifting all points by the given x & y amounts. */ export declare function translateZoom(zoom: DefinedZoomState, x: number, y: number): DefinedZoomState; /** * Scale a zoom bounding box from the top left corner. */ export declare function scaleZoom(zoom: DefinedZoomState, sx: number, sy: number): DefinedZoomState; /** * Scale a zoom bounding box from the center. */ export declare function scaleZoomCenter(zoom: DefinedZoomState, sx: number, sy: number): DefinedZoomState; /** * Scale a single zoom axis about its anchor. */ export declare function scaleZoomAxisWithAnchor(newState: ZoomMinMax, oldState: ZoomMinMax, anchor: AgZoomAnchorPoint, origin?: number): ZoomMinMax; export declare function scaleZoomAxisWithPoint(newState: ZoomMinMax, oldState: ZoomMinMax, origin: number): { min: number; max: number; }; export declare function multiplyZoom(zoom: DefinedZoomState, nx: number, ny: number): { x: { min: number; max: number; }; y: { min: number; max: number; }; }; /** * Constrain a zoom bounding box such that no corner exceeds an edge while maintaining the same width and height. */ export declare function constrainZoom(zoom: DefinedZoomState): DefinedZoomState; export declare function constrainAxis(axis: { min: number; max: number; }): { min: number; max: number; }; export declare function canResetZoom(ctx: Pick<_ModuleSupport.ChartRegistry, 'chartState'>): boolean;