import { Point } from "../../../../../Core/Point"; import { EDataLabelProviderType } from "../../../../../types/DataLabelProviderType"; import { EDataLabelSkipMode } from "../../../../../types/DataLabelSkipMode"; import { TDataLabelStyle } from "../../../../../types/TDataLabelStyle"; import { EHorizontalTextPosition, EVerticalTextPosition } from "../../../../../types/TextPosition"; import { SCRTDoubleVector, TSRTextBounds } from "../../../../../types/TSciChart"; import { WebGlRenderContext2D } from "../../../../Drawing/WebGlRenderContext2D"; import { RenderPassData } from "../../../../Services/RenderPassData"; import { EPolarLabelMode } from "../../../Axis/Polar/types/PolarLabelMode"; import { TDataLabel } from "../../DataLabels/BaseDataLabelProvider"; import { EColumnDataLabelPosition } from "../../DataLabels/ColumnSeriesDataLabelProvider"; import { IDataLabelProviderOptions } from "../../DataLabels/DataLabelProvider"; import { DataLabelState } from "../../DataLabels/DataLabelState"; import { PolarColumnRenderableSeries } from "../PolarColumnRenderableSeries"; import { PolarColumnDataLabelState } from "./PolarColumnDataLabelState"; import { PolarDataLabelProvider } from "./PolarDataLabelProvider"; import { PolarDataLabelState } from "./PolarDataLabelState"; export interface IPolarColumnSeriesDataLabelProviderOptions extends IDataLabelProviderOptions { /** * Always Center for {@link PolarColumnRenderableSeries} */ horizontalTextPosition?: EHorizontalTextPosition.Center; /** * Always Center for {@link PolarColumnRenderableSeries} */ verticalTextPosition?: EVerticalTextPosition.Center; /** * Always ShowAll for {@link PolarColumnRenderableSeries} */ skipMode?: EDataLabelSkipMode.ShowAll; /** * Gets or sets polar label mode to use for calculating data label rotation. Default Horizontal * For a list of value, see {@link EPolarLabelMode} */ polarLabelMode?: EPolarLabelMode; /** * Sets y text position, where 0 is bottom and 1 is top of the column. Default 0.5. * Use a value greater than 1 to place the label outside of the column */ labelYPositionMultiplier?: number; /** * For for both normal (x is angular) and vertical polar charts (y is angular), sets whether text should be positioned outside or inside the end of the column using {@link EColumnDataLabelPosition}. * Position Mode will position the label according to labelYPositionMultiplier where 0 corresponds to bottom y value and 1 to top * Default Outside */ labelYPositionMode?: EColumnDataLabelPosition; } export declare class PolarColumnSeriesDataLabelProvider extends PolarDataLabelProvider { readonly type: EDataLabelProviderType; protected state: PolarDataLabelState; private polarLabelModeProperty; private yPositionMultiplierProperty; labelYPositionModeProperty: EColumnDataLabelPosition; constructor(options?: IPolarColumnSeriesDataLabelProviderOptions); /** @inheritDoc */ shouldSkipLabel(state: DataLabelState, label: TDataLabel): boolean; /** * Gets or sets polar label mode to use for calculating data label rotation. Default Horizontal * For a list of value, see {@link EPolarLabelMode} */ get polarLabelMode(): EPolarLabelMode; set polarLabelMode(value: EPolarLabelMode); /** * Gets or sets y text position, where 0 is bottom and 1 is top of the column. Default 0.5 * Use a value greater than 1 to place the label outside of the column */ get yPositionMultiplier(): number; set yPositionMultiplier(value: number); /** * For for both normal (x is angular) and vertical polar charts (y is angular), sets whether text should be positioned outside or inside the end of the column using {@link EColumnDataLabelPosition}. * Position Mode will position the label according to labelYPositionMultiplier where 0 corresponds to bottom y value and 1 to top * Default Outside */ get labelYPositionMode(): EColumnDataLabelPosition; set labelYPositionMode(value: EColumnDataLabelPosition); getDataLabelState(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData, style: TDataLabelStyle, color: string, yValues: SCRTDoubleVector, parentSeries: PolarColumnRenderableSeries): PolarDataLabelState; getPosition(state: PolarColumnDataLabelState, textBounds: TSRTextBounds): { position: Point; rotationCenter: Point; rotationAngle: number; }; toJSON(): { type: EDataLabelProviderType; options: { style: TDataLabelStyle; color: string; }; }; protected get useRotation(): boolean; }