chart-0714
Version:
Professional trading chart library with advanced customization for trading journal apps
64 lines (63 loc) • 1.86 kB
TypeScript
import { Theme, DrawingObject, ChartData, ViewportState } from '../types';
import { Marker } from '../types/marker';
import { WebGLRenderer } from '../core/WebGLRenderer';
import { UnifiedCoordinateSystem } from '../core/UnifiedCoordinateSystem';
import { WebGLLineHelper } from './unified/WebGLLineHelper';
import { SnapPoint } from './unified/SnapPointRenderer';
/**
* Unified renderer for crosshair, drawings, snap points, and measurements
*/
export declare class UnifiedRenderer {
private renderer;
private theme;
private coordSystem;
private initialized;
private lineHelper;
private crosshairRenderer;
private drawingRenderer;
private snapPointRenderer;
private measureRenderer;
private markerRenderer;
private mouseX;
private mouseY;
private snapPoint;
private measureStart;
private measureEnd;
private measureFixed;
constructor(renderer: WebGLRenderer, theme: Theme, coordSystem: UnifiedCoordinateSystem);
init(): Promise<void>;
/**
* Set mouse position (CSS coordinates)
*/
setMousePosition(cssX: number, cssY: number): void;
/**
* Set snap point
*/
setSnapPoint(snap: SnapPoint | null): void;
/**
* Set measurement points
*/
setMeasure(start: {
index: number;
price: number;
} | null, end: {
index: number;
price: number;
} | null, fixed: boolean): void;
/**
* Main render method
*/
render(drawings: DrawingObject[], data: ChartData, markers?: Marker[], _viewport?: ViewportState | UnifiedCoordinateSystem, verticalOnly?: boolean): void;
/**
* Get line helper for external use
*/
getLineHelper(): WebGLLineHelper;
/**
* Update theme
*/
updateTheme(theme: Theme): void;
/**
* Dispose resources
*/
dispose(): void;
}