ag-charts-enterprise
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
62 lines (61 loc) • 2.6 kB
TypeScript
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;