import { GradientParams } from "../../../../Core/GradientParams"; import { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart"; import { 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 { FastRectangleRenderableSeries } from "../FastRectangleRenderableSeries"; import { BaseSeriesDrawingProvider } from "./BaseSeriesDrawingProvider"; interface IRectangleSeriesDrawingProviderProperties { stroke?: string; strokeThickness?: number; fill?: string; opacity?: number; fillLinearGradient?: GradientParams; customTextureOptions?: ICustomTextureOptions; } /** * Used internally - a drawing provider performs drawing for a {@link FastRectangleRenderableSeries} using * our WebAssembly WebGL rendering engine */ export declare class RectangleSeriesDrawingProvider extends BaseSeriesDrawingProvider { private nativeDrawingProvider; private strokePenCache; private strokePenFillColoredCache; private fillBrushCache; private args; /** * Creates an instance of the {@link RectangleSeriesDrawingProvider} * @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 FastRectangleRenderableSeries} which this drawing provider is attached to */ constructor(webAssemblyContext: TSciChart, parentSeries: FastRectangleRenderableSeries, ySelector?: (ps: IPointSeries) => SCRTDoubleVector, xSelector?: (ps: IPointSeries) => SCRTDoubleVector); /** * @inheritDoc */ onAttachSeries(): void; /** * @inheritDoc */ delete(): void; getProperties(parentSeries: FastRectangleRenderableSeries): IRectangleSeriesDrawingProviderProperties; /** * @inheritDoc */ draw(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData): void; /** * @inheritDoc */ onDpiChanged(args: TDpiChangedEventArgs): void; /** * @inheritDoc */ onSeriesPropertyChange(propertyName: string): void; private createBrush; } export {};