UNPKG

chart-0714

Version:

Professional trading chart library with advanced customization for trading journal apps

81 lines (80 loc) 3.64 kB
import { DrawingObject, DrawingToolType, ChartPoint, Candle, Theme, DrawingUpdateOptions } from '../types'; import { ICoordinateSystem } from '../types/viewport'; import { UnifiedCoordinateSystem } from './UnifiedCoordinateSystem'; import { SnapPoint } from './drawing/DrawingSnapManager'; import { TextStyle } from '../renderers/unified/TextRenderer'; export declare class DrawingManager { private snapManager; private measureManager; private objectManager; private stateManager; private toolHandler; private theme; private defaultStyle; private currentTool; private textRenderer; private textInputModal; private container; private coordSystem; private textDefaults; private textDebugLogged; private chart; constructor(); setContainerAndCoordSystem(container: HTMLElement, coordSystem: UnifiedCoordinateSystem): void; setTheme(theme: Theme): void; setChart(chart: any): void; setDefaultStyle(style: { color?: string; lineWidth?: number; opacity?: number; }): void; setTextDefaults(textDefaults: TextStyle): void; private getDrawingColor; private getMarkerColor; setSnapChangeCallback(callback: (snap: SnapPoint | null) => void): void; setMeasureChangeCallback(callback: (start: ChartPoint | null, end: ChartPoint | null, fixed: boolean) => void): void; setTextInputCallback(callback: (point: ChartPoint, callback: (text: string) => void) => void): void; setCurrentTool(tool: DrawingToolType | null): void; getCurrentTool(): DrawingToolType | null; setMagneticMode(enabled: boolean): void; getMagneticMode(): boolean; findSnapPoint(mouseX: number, mouseY: number, candles: Candle[], coordSystem: UnifiedCoordinateSystem, threshold?: number): SnapPoint | null; handleMouseMove(mouseX: number, mouseY: number, candles: Candle[], coordSystem: UnifiedCoordinateSystem, getChartPoint: (x: number, y: number) => ChartPoint): void; handleClick(x: number, y: number, getChartPoint: (x: number, y: number) => ChartPoint, coordSystem: ICoordinateSystem): void; cancelDrawing(): void; createHorizontalLineImmediate(point: ChartPoint): void; startMeasure(point: ChartPoint): void; cancelMeasure(): void; fixMeasure(endPoint: ChartPoint): void; isMeasureMode(): boolean; getAllDrawings(): DrawingObject[]; deleteSelectedDrawing(): boolean; getSelectedDrawing(): DrawingObject | null; selectDrawingAt(x: number, y: number): DrawingObject | null; checkDrawingHover(x: number, y: number): DrawingObject | null; moveSelectedDrawing(timeDiff: number, priceDiff: number): void; clear(): void; addDrawing(drawing: DrawingObject): void; removeDrawing(id: string): void; clearDrawings(): void; getDrawingById(id: string): DrawingObject | undefined; updateDrawingById(id: string, updates: Partial<DrawingObject>): void; private currentDrawingProcess; startDrawing(x: number, y: number, time: number, price: number): void; updateDrawingPosition(x: number, y: number, time: number, price: number): void; endDrawing(): DrawingObject | null; isDrawing(): boolean; private saveState; undo(): boolean; redo(): boolean; canUndo(): boolean; canRedo(): boolean; updateTextRendering(): void; updateTextSelection(id: string, selected: boolean): void; enableTextEdit(id: string): void; dispose(): void; updateDrawing(id: string, updates: DrawingUpdateOptions): void; deleteDrawing(id: string): void; exportDrawings(): string; importDrawings(jsonData: string): void; }