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; }