import * as DG from 'datagrok-api/dg'; import { Subject } from 'rxjs'; import BitArray from './bit-array'; export declare enum ScatterPlotCurrentLineStyle { none = "none", bold = "bold", dashed = "dashed" } export type MouseOverLineEvent = { x: number; y: number; id: number; event: MouseEvent; }; export type ILineSeries = { from: Uint32Array; to: Uint32Array; color?: string; colors?: string[]; width?: number; widths?: Float32Array; opacity?: number; opacities?: Float32Array; drawArrows?: boolean; drawArrowsArr?: BitArray; visibility?: BitArray; arrowSize?: number; skipMultiLineCalculation?: boolean; skipShortLines?: boolean; shortLineThreshold?: number; skipMouseOverDetection?: boolean; }; export declare class ScatterPlotLinesRenderer { sp: DG.ScatterPlotViewer; xAxisCol: DG.Column; yAxisCol: DG.Column; _currentLineIdx: number; lines: ILineSeries; lineClicked: Subject; lineHover: Subject; canvas: HTMLCanvasElement; ctx: CanvasRenderingContext2D; mouseOverLineId: number; multipleLinesCounts: Uint8Array; visibility: BitArray; currentLineStyle: ScatterPlotCurrentLineStyle; arrowWidth: number; get currentLineId(): number; set currentLineId(id: number); set linesToRender(lines: ILineSeries); set linesVisibility(visibility: BitArray); constructor(sp: DG.ScatterPlotViewer, xAxis: string, yAxis: string, lines: ILineSeries, currentLineStyle?: ScatterPlotCurrentLineStyle); updateLines(lines: ILineSeries): void; renderLines(): void; toggleCurrentLineStyle(flag: boolean): void; fillLeftBottomRect(): void; createMultiLinesIndices(): void; checkCoordsOnLine(x: number, y: number): number; calculateDistToStraightLine(x: number, y: number, p1: DG.Point, p2: DG.Point): number | null; distToStraightLineSegment(x: number, y: number, p1: DG.Point, p2: DG.Point): number; calculateDistToCurveLine(i: number, x: number, y: number, p1: DG.Point, p2: DG.Point, pc: DG.Point): number | null; calculateDistToCurveInRect(x: number, y: number, p0: DG.Point, p1: DG.Point, p2: DG.Point, w: number, h: number): number; getLineLength(p1x: number, p1y: number, p2x: number, p2y: number): number; getPointOnDistance(p1x: number, p1y: number, p2x: number, p2y: number, distance: number, length: number): DG.Point; findControlPoint(idx: number, x1: number, y1: number, x2: number, y2: number, i?: number): DG.Point; canvasArrow(path: CanvasRenderingContext2D, arrowEndX: number, arrowEndY: number, quadX: number, quadY: number): void; } //# sourceMappingURL=render-lines-on-sp.d.ts.map