chart-0714
Version:
Professional trading chart library with advanced customization for trading journal apps
46 lines (45 loc) • 1.69 kB
TypeScript
import { DrawingManager } from '../../core/DrawingManager';
import { UnifiedCoordinateSystem } from '../../core/UnifiedCoordinateSystem';
import { DataManager } from '../../core/DataManager';
import { UnifiedRenderer } from '../../renderers/UnifiedRenderer';
import { LabelRenderer } from '../../renderers/LabelRenderer';
import { CursorType } from '../../utils/cursor';
export interface EventCallbacks {
onMouseMove?: (x: number, y: number, chartCoords: {
time: number;
price: number;
}) => void;
onMouseClick?: (x: number, y: number, chartCoords: {
time: number;
price: number;
}) => void;
onMouseDown?: (x: number, y: number) => void;
onMouseUp?: (x: number, y: number) => void;
onMouseLeave?: () => void;
onContextMenu?: (e: MouseEvent) => void;
onDoubleClick?: (e: MouseEvent) => void;
}
export declare class ChartEventController {
private coordSystem;
private drawingManager;
private dataManager;
private unifiedRenderer;
private labelRenderer;
private callbacks;
private canvas;
private lastMouseX;
private lastMouseY;
private isDraggingDrawing;
private dragStartChartCoords;
private cursorType;
private boundHandlers;
constructor(canvas: HTMLCanvasElement, coordSystem: UnifiedCoordinateSystem, drawingManager: DrawingManager, dataManager: DataManager | null, unifiedRenderer: UnifiedRenderer, labelRenderer: LabelRenderer, callbacks?: EventCallbacks);
private handleContextMenu;
private setupEventListeners;
getLastMousePosition(): {
x: number;
y: number;
};
setCursorType(type: CursorType): void;
dispose(): void;
}