scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
91 lines (90 loc) • 4.81 kB
TypeScript
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;
}