scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
59 lines (58 loc) • 2.62 kB
TypeScript
import { Rect } from "../../Core/Rect";
import { WebGlRenderContext2D } from "../Drawing/WebGlRenderContext2D";
import { SciChartSurface } from "../Visuals/SciChartSurface";
import { RenderPassInfo, TRenderable } from "./RenderPassInfo";
import { Point } from "../../Core/Point";
import { DomAnnotationBase } from "../Visuals/Annotations/DomAnnotationBase";
/**
* A class used internally in SciChart to perform layout, arrangement, data-preparation and rendering on the Cartesian 2D {@link SciChartSurface}
*/
export declare class SciChartRenderer {
isInvalidated: boolean;
/**
* Used internally to track requestAnimationFrame for svg rendering.
* When `undefined` there is no pending RAF.
*/
svgRenderRequestId: number;
protected sciChartSurface: SciChartSurface;
protected previousTime: number;
protected prevRect: Rect;
protected prevSurfaceRect: Rect;
domRenderRun: boolean;
/**
* Creates an instance of the SciChartRenderer
* @param sciChartSurface The {@link SciChartSurface} that we are rendering
*/
constructor(sciChartSurface: SciChartSurface);
renderDomOnly(): void;
/**
* Render loop for the current {@SciChartSurface}
* @param renderContext the {@WebGLRenderContext2D} used for drawing
*/
render(renderContext: WebGlRenderContext2D): void;
private getSeriesDrawFunctions;
protected getAnnotationDrawFunctions(scs: SciChartSurface, renderPassInfo: RenderPassInfo, renderContext: WebGlRenderContext2D): void;
protected getHTMLAnnotationDrawFunction(annotation: DomAnnotationBase, coordSvgTranslation: Point): void;
private getRenderContextAnnotationDrawFunction;
protected enqueueRenderables(renderContext: WebGlRenderContext2D, renderPassInfo: RenderPassInfo): void;
protected enqueueRenderable(renderContext: WebGlRenderContext2D, item: TRenderable, absoluteLayer: number): void;
protected displayErrorMessage(): void;
private drawRenderContextAnnotations;
private drawHtmlBasedAnnotations;
private drawSvgAnnotations;
private validate;
protected resizeAnnotationRootElements(seriesViewRect: Rect): void;
private prepareAxesRenderData;
private prepareSeriesRenderData;
private drawAxes;
private drawSeries;
private drawDebugAxes;
private tryPerformAutoRangeOn;
private onParentSurfaceRendered;
private updateWatermark;
private scheduleTitleDraw;
private measureTitle;
private layoutTitle;
private getAbsoluteLayer;
private drawDebugSurfaceRect;
}