@devexperts/dxcharts-lite
Version:
36 lines (35 loc) • 1.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 { HitBoundsTest } from '../../canvas/canvas-bounds-container';
import { ChartBaseElement } from '../../model/chart-base-element';
import { CanvasInputListenerComponent, Point } from '../../inputlisteners/canvas-input-listener.component';
import { ChartPanComponent } from '../pan/chart-pan.component';
export interface DragInfo {
delta: number;
draggedPixels: number;
}
export interface DragComponentOptions {
dragPredicate: () => boolean;
}
export interface DragNDropComponentCallbacks {
onDragStart?: (point: Point) => void;
onDragTick: (dragInfo: DragInfo) => void;
onDragEnd?: (draggedPixels: number) => void;
}
export declare const defaultDragComponentOptions: DragComponentOptions;
export declare class DragNDropComponent extends ChartBaseElement {
protected hitTest: HitBoundsTest;
protected dragCallbacks: DragNDropComponentCallbacks;
protected canvasInputListener: CanvasInputListenerComponent;
protected chartPanComponent: ChartPanComponent;
private dragComponentOptions;
dragging: boolean;
draggedPixels: number;
constructor(hitTest: HitBoundsTest, dragCallbacks: DragNDropComponentCallbacks, canvasInputListener: CanvasInputListenerComponent, chartPanComponent: ChartPanComponent, dragComponentOptions: DragComponentOptions);
protected onDragStart: (point: Point) => void;
protected onDragTick: (yDelta: number) => void;
protected onDragEnd: () => void;
}