@devexperts/dxcharts-lite
Version:
55 lines (54 loc) • 2.71 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 { CanvasAnimation } from '../../../../../animation/canvas-animation';
import { CanvasBoundsContainer } from '../../../../../canvas/canvas-bounds-container';
import { FullChartConfig } from '../../../../../chart.config';
import EventBus from '../../../../../events/event-bus';
import { CanvasInputListenerComponent, Point } from '../../../../../inputlisteners/canvas-input-listener.component';
import { ScaleModel } from '../../../../../model/scale.model';
import { HitTestCanvasModel } from '../../../../../model/hit-test-canvas.model';
import { ChartPanComponent } from '../../../../../components/pan/chart-pan.component';
import { ChartAreaPanHandler, ChartPanningOptions } from '../../../../../components/chart/chart-area-pan.handler';
/**
* SafariChartAreaPanHandler is a class that handles the panning and zooming of the chart area for Safari.
*/
export declare class SafariChartAreaPanHandler extends ChartAreaPanHandler {
protected bus: EventBus;
protected config: FullChartConfig;
protected scale: ScaleModel;
protected canvasInputListener: CanvasInputListenerComponent;
protected canvasBoundsContainer: CanvasBoundsContainer;
protected canvasAnimation: CanvasAnimation;
protected chartPanComponent: ChartPanComponent;
protected hitTestCanvasModel: HitTestCanvasModel;
protected currentPoint: Point;
xDraggedCandlesDelta: number;
lastXStart: number;
wheelThrottleTime: number;
private wheelSubscription;
private initFrameId;
private isActivated;
private lastWheelTime;
private wheelCount;
private consecutiveLowWheelEvents;
chartPanningOptions: ChartPanningOptions;
constructor(bus: EventBus, config: FullChartConfig, scale: ScaleModel, canvasInputListener: CanvasInputListenerComponent, canvasBoundsContainer: CanvasBoundsContainer, canvasAnimation: CanvasAnimation, chartPanComponent: ChartPanComponent, hitTestCanvasModel: HitTestCanvasModel);
/**
* This method is used to activate the zoom functionality of the canvas. It extends the doActivate method of the parent class.
* @protected
* @returns {void}
*/
protected doActivate(): void;
/**
* Creates wheel subscription with optimized throttling
*/
private createWheelSubscription;
/**
* Manual cleanup trigger for immediate performance recovery
*/
triggerPerformanceCleanup(): void;
protected doDeactivate(): void;
}