@devexperts/dxcharts-lite
Version:
55 lines (54 loc) • 2.59 kB
TypeScript
/*
* Copyright (C) 2019 - 2026 Devexperts Solutions IE Limited
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { ChartBaseElement } from '../../model/chart-base-element';
import { CanvasBoundsContainer, HitBoundsTest } from '../../canvas/canvas-bounds-container';
import { CanvasInputListenerComponent } from '../../inputlisteners/canvas-input-listener.component';
import { ScaleModel } from '../../model/scale.model';
import { Pixel, Unit } from '../../model/scaling/viewport.model';
import { ChartModel } from '../chart/chart.model';
import { DragNDropXComponent } from '../dran-n-drop_helper/drag-n-drop-x.component';
import { ChartPanComponent } from '../pan/chart-pan.component';
import { HitTestCanvasModel } from '../../model/hit-test-canvas.model';
/**
* Handles the mouse drag on X axis - to zoom the viewport horizontally.
* @doc-tags scaling,zoom,viewport
*/
export declare class XAxisScaleHandler extends ChartBaseElement {
private scale;
private canvasInputListener;
private canvasBoundsContainer;
private chartPanComponent;
private chartModel;
private hitTest;
private hitTestCanvasModel;
lastXStart: Unit;
lastXEnd: Unit;
lastXWidth: Unit;
lastXPxWidth: Pixel;
private dblClickCallback;
private touches;
private dblTapCallback;
dragNDropXComponent: DragNDropXComponent;
constructor(scale: ScaleModel, canvasInputListener: CanvasInputListenerComponent, canvasBoundsContainer: CanvasBoundsContainer, chartPanComponent: ChartPanComponent, chartModel: ChartModel, hitTest: HitBoundsTest, hitTestCanvasModel: HitTestCanvasModel);
/**
* Throttles chart-area horizontal drag to one animation frame when needed (percent Y-axis).
*/
setChartAreaXDragThrottled(shouldThrottle: boolean): void;
/**
* This method is used to activate the canvas input listener and add a subscription to it.
* It calls the parent class's doActivate method and then subscribes to the canvasInputListener's observeDbClick method.
* The subscription is added to the RxJS subscription list.
* When the subscription is triggered, the doBasicScale method is called.
* @protected
* @returns {void}
*/
protected doActivate(): void;
private onXDragStart;
private onXDragTick;
private onXDragEnd;
setDblTapCallback: (cb: () => void) => () => void;
setDblClickCallback: (cb: () => void) => () => void;
}