scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
63 lines (62 loc) • 2.79 kB
TypeScript
import { SCRTDoubleVector, TSciChart, SCRTTriangleDrawingParams } from "../../../../types/TSciChart";
import { BrushCache, ICustomTextureOptions } from "../../../Drawing/BrushCache";
import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
import { IPointSeries } from "../../../Model/PointSeries/IPointSeries";
import { RenderPassData } from "../../../Services/RenderPassData";
import { TDpiChangedEventArgs } from "../../TextureManager/DpiHelper";
import { FastTriangleRenderableSeries } from "../FastTriangleRenderableSeries";
import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider";
import { ETriangleSeriesDrawMode } from "../../../../types/TriangleSeriesDrawMode";
import { GradientParams } from "../../../../Core/GradientParams";
export interface ITriangleSeriesDrawingProviderProperties {
fill: string;
opacity: number;
drawMode: ETriangleSeriesDrawMode;
polygonVertices: number;
fillLinearGradient: GradientParams;
customTextureOptions: ICustomTextureOptions;
}
/**
* Used internally - a drawing provider performs drawing for a {@link FastTriangleRenderableSeries} using
* our WebAssembly WebGL rendering engine
*/
export declare class TriangleSeriesDrawingProvider extends BaseSeriesDrawingProvider<FastTriangleRenderableSeries> {
private brushCache;
private nativeDrawingProvider;
protected args: SCRTTriangleDrawingParams;
/**
* Creates an instance of the {@link TriangleSeriesDrawingProvider}
* @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
* access to our WebGL2 Engine and WebAssembly numerical methods
* @param parentSeries the parent {@link FastTriangleRenderableSeries} which this drawing provider is attached to
*/
constructor(webAssemblyContext: TSciChart, parentSeries: FastTriangleRenderableSeries, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, xSelector?: (ps: IPointSeries) => SCRTDoubleVector);
/**
* @inheritDoc
*/
onDpiChanged(args: TDpiChangedEventArgs): void;
/**
* @inheritDoc
*/
onSeriesPropertyChange(propertyName: string): void;
/** A mapping function to get the pen properties from the parent series */
getProperties(parentSeries: FastTriangleRenderableSeries): ITriangleSeriesDrawingProviderProperties;
/**
* @inheritDoc
*/
onAttachSeries(): void;
/**
* @inheritDoc
*/
onDetachSeries(): void;
getBrushForDrawing(): BrushCache;
/**
* @inheritDoc
*/
draw(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData): void;
/**
* @inheritDoc
*/
delete(): void;
private drawTriangles;
}