UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

212 lines (211 loc) 9.14 kB
import { TAnimationDefinition, TDataLabelProviderDefinition, TSeriesDefinition } from "../../../Builder/buildSeries"; import { SeriesAnimationFiniteStateMachine } from "../../../Core/Animations/AnimationFiniteStateMachine"; import { ESeriesType } from "../../../types/SeriesType"; import { SCRTDoubleVector, TSciChart } from "../../../types/TSciChart"; import { WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D"; import { SeriesInfo } from "../../Model/ChartData/SeriesInfo"; import { IDataSeries } from "../../Model/IDataSeries"; import { IPointSeries } from "../../Model/PointSeries/IPointSeries"; import { EResamplingMode } from "../../Numerics/Resamplers/ResamplingMode"; import { ResamplingParams } from "../../Numerics/Resamplers/ResamplingParams"; import { RenderPassData } from "../../Services/RenderPassData"; import { AxisCore } from "../Axis/AxisCore"; import { SciChartSurface } from "../SciChartSurface"; import { SeriesAnimation } from "./Animations/SeriesAnimation"; import { BaseRenderableSeries } from "./BaseRenderableSeries"; import { BaseStackedCollection } from "./BaseStackedCollection"; import { BaseDataLabelProvider } from "./DataLabels/BaseDataLabelProvider"; import { HitTestInfo } from "./HitTest/HitTestInfo"; import { IHitTestProvider } from "./HitTest/IHitTestProvider"; import { TSeriesHoverChangedCallback, TSeriesSelectionChangedCallback, TSeriesVisibleChangedCallback } from "./IBaseRenderableSeriesOptions"; import { RolloverModifierRenderableSeriesProps } from "./RolloverModifier/RolloverModifierRenderableSeriesProps"; /** * Options to pass to the {@link BasedStackedRenderableSeries} constructor */ export interface IBasedStackedRenderableSeriesOptions { /** * A unique Id for the {@link IRenderableSeries} */ id?: string; /** * The {@link IDataSeries | DataSeries} which provides a datasource for this {@link IRenderableSeries} to draw */ dataSeries?: IDataSeries; /** * An Opacity factor of the Series that controls its semi-transparency level, * where value 1 means the Series is opaque; 0 - transparent. */ opacity?: number; /** * Optional callback function when isVisible changed. Also see {@link IRenderableSeries.isVisibleChanged} event handler */ onIsVisibleChanged?: TSeriesVisibleChangedCallback | string; /** * Optional callback function when selected changed. Also see {@link IRenderableSeries.selected} event handler */ onSelectedChanged?: TSeriesSelectionChangedCallback | string; /** * Optional callback function when hovered changed. Also see {@link IRenderableSeries.hovered} event handler */ onHoveredChanged?: TSeriesHoverChangedCallback | string; /** * An animation that runs on the start, child class to {@link SeriesAnimation} */ animation?: SeriesAnimation | TAnimationDefinition; /** * A {@link DataLabelProvider} used for creating and drawing per-point text. */ dataLabelProvider?: BaseDataLabelProvider | TDataLabelProviderDefinition; } /** * Base class for stacked mountain, column series in SciChart's High Performance Real-time * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts} * @remarks * See derived types {@link StackedMountainRenderableSeries} and {@link StackedColumnRenderableSeries} for * details on how to implement stacked column and mountain charts in SciChart */ export declare abstract class BaseStackedRenderableSeries extends BaseRenderableSeries { /** @inheritDoc */ abstract readonly type: ESeriesType; /** @inheritDoc */ readonly id: string; /** @inheritDoc */ readonly isStacked: boolean; readonly rolloverModifierProps: RolloverModifierRenderableSeriesProps; hitTestProvider: IHitTestProvider; /** * the accumulated values which are used to draw each column/band for {@link BaseStackedRenderableSeries} */ accumulatedValues: SCRTDoubleVector; protected accumulatedFinalAnimationValues: SCRTDoubleVector; protected webAssemblyContext: TSciChart; protected parentCollection: BaseStackedCollection<BaseStackedRenderableSeries>; protected notifyParentPropertyChangedFn: (propertyName: string) => void; protected getParentSurfaceFn: () => SciChartSurface; protected dataLabelProviderProperty: BaseDataLabelProvider; protected typeMap: Map<string, string>; private opacityOriginalValue; /** * Creates an instance of a {@link BaseStackedRenderableSeries} * @param webAssemblyContext The {@link TSciChart | SciChart WebAssembly Context} containing * native methods and access to our WebGL2 WebAssembly Drawing Engine */ protected constructor(webAssemblyContext: TSciChart, options?: IBasedStackedRenderableSeriesOptions); protected dataSeriesDataChanged(): void; /** @inheritdoc */ draw(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData): void; /** * @inheritDoc */ delete(): void; /** * Called when the {@link BaseStackedRenderableSeries} is detached from its parent {@link BaseStackedCollection} */ onDetachFromParentCollection(): void; /** * @inheritDoc */ notifyPropertyChanged(propertyName: string): void; /** @inheritDoc */ checkIsOutOfDataRange(xValue: number, yValue: number): boolean; /** * getBaseXValues() is not supported for BaseStackedRenderableSeries */ getBaseXValues(): number[]; /** * hasStrokePaletteProvider() is not supported for BaseStackedRenderableSeries */ hasStrokePaletteProvider(): boolean; /** * hasPointMarkerPaletteProvider() is not supported for BaseStackedRenderableSeries */ hasPointMarkerPaletteProvider(): boolean; /** * hasFillPaletteProvider() is not supported for BaseStackedRenderableSeries */ hasFillPaletteProvider(): boolean; /** * onAttach() is not supported for BaseStackedRenderableSeries */ onAttach(scs: SciChartSurface): void; /** * onDetach() is not supported for BaseStackedRenderableSeries */ onDetach(): void; /** * resamplingMode property is not supported for BaseStackedRenderableSeries */ get resamplingMode(): EResamplingMode; set resamplingMode(value: EResamplingMode); /** * resamplingPrecision property is not supported for BaseStackedRenderableSeries */ get resamplingPrecision(): number; set resamplingPrecision(value: number); /** @inheritDoc */ get dataLabelProvider(): BaseDataLabelProvider; /** @inheritDoc */ set dataLabelProvider(provider: BaseDataLabelProvider); /** * @inheritDoc */ get parentSurface(): SciChartSurface; /** * set parentSurface property is not supported for BaseStackedRenderableSeries */ set parentSurface(value: SciChartSurface); /** @inheritDoc */ get xAxis(): AxisCore; /** @inheritDoc */ get yAxis(): AxisCore; /** * Runs before the animation starts * @protected */ beforeAnimationStart(): void; /** * Runs after the animation is complete * @protected */ afterAnimationComplete(): void; /** * Internal method that runs on each animation tick * @param progress The current animation progress, a value from 0 to 1 * @param animationFSM The animation finite state machine * @protected */ updateAnimationProperties(progress: number, animationFSM: SeriesAnimationFiniteStateMachine): void; /** @inheritDoc */ getSeriesInfo(hitTestInfo: HitTestInfo): SeriesInfo; /** @inheritDoc */ toJSON(excludeData?: boolean): TSeriesDefinition; /** * toPointSeries method is not supported for BaseStackedRenderableSeries * @param resamplingParams */ toPointSeries(resamplingParams?: ResamplingParams): IPointSeries; /** * getCurrentRenderPassData method is not supported for BaseStackedRenderableSeries */ getCurrentRenderPassData(): RenderPassData; /** * xAxisId property is not supported for BaseStackedRenderableSeries, * instead set on the {@link StackedColumnCollection} or {@link StackedMountainCollection} */ get xAxisId(): string; /** * xAxisId property is not supported for BaseStackedRenderableSeries, * instead set on the {@link StackedColumnCollection} or {@link StackedMountainCollection} */ set xAxisId(value: string); /** * yAxisId property is not supported for BaseStackedRenderableSeries, * instead set on the {@link StackedColumnCollection} or {@link StackedMountainCollection} */ get yAxisId(): string; /** * yAxisId property is not supported for BaseStackedRenderableSeries, * instead set on the {@link StackedColumnCollection} or {@link StackedMountainCollection} */ set yAxisId(value: string); }