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