import { type CreateDataPointSeriesOptions, type DataPoint, DataPointSeries, type IInterpolationAlgorithm, type IRenderContext, type LabelStringFormatterType, LineJoin, LineStyle, MarkerType, type OxyColor, type OxyRect, type PlotModelSerializeOptions, type ScreenPoint, TrackerHitResult } from '..'; /** * Specifies the position of legends rendered on a LineSeries. */ export declare enum LineLegendPosition { /** * Do not render legend on the line. */ None = 0, /** * Render legend at the start of the line. */ Start = 1, /** * Render legend at the end of the line. */ End = 2 } export interface CreateLineSeriesOptions extends CreateDataPointSeriesOptions { color?: OxyColor; brokenLineColor?: OxyColor; brokenLineStyle?: LineStyle; brokenLineThickness?: number; dashes?: number[]; decimator?: (points: ScreenPoint[], result: ScreenPoint[]) => void; labelStringFormatter?: LabelStringFormatterType; labelMargin?: number; lineJoin?: LineJoin; lineStyle?: LineStyle; lineLegendPosition?: LineLegendPosition; markerFill?: OxyColor; markerOutline?: ScreenPoint[]; markerResolution?: number; markerSize?: number; markerStroke?: OxyColor; markerStrokeThickness?: number; markerType?: MarkerType; minimumSegmentLength?: number; interpolationAlgorithm?: IInterpolationAlgorithm; strokeThickness?: number; } export declare const DefaultLineSeriesOptions: CreateLineSeriesOptions; export declare const ExtendedDefaultLineSeriesOptions: { color?: string | undefined; brokenLineColor?: string | undefined; brokenLineStyle?: LineStyle | undefined; brokenLineThickness?: number | undefined; dashes?: number[] | undefined; decimator?: ((points: ScreenPoint[], result: ScreenPoint[]) => void) | undefined; labelStringFormatter?: LabelStringFormatterType | undefined; labelMargin?: number | undefined; lineJoin?: LineJoin | undefined; lineStyle?: LineStyle | undefined; lineLegendPosition?: LineLegendPosition | undefined; markerFill?: string | undefined; markerOutline?: ScreenPoint[] | undefined; markerResolution?: number | undefined; markerSize?: number | undefined; markerStroke?: string | undefined; markerStrokeThickness?: number | undefined; markerType?: MarkerType | undefined; minimumSegmentLength?: number | undefined; interpolationAlgorithm?: IInterpolationAlgorithm | undefined; strokeThickness?: number | undefined; points?: DataPoint[] | undefined; canTrackerInterpolatePoints?: boolean | undefined; dataFieldX?: string | undefined; dataFieldY?: string | undefined; mapping?: ((item: any) => DataPoint) | undefined; xAxisKey?: string | undefined; yAxisKey?: string | undefined; itemsSource?: any[] | undefined; background?: string | undefined; isVisible?: boolean | undefined; title?: string | undefined; legendKey?: string | undefined; seriesGroupName?: string | undefined; renderInLegend?: boolean | undefined; trackerStringFormatter?: import('..').TrackerStringFormatterType | undefined; trackerKey?: string | undefined; font?: string | undefined; fontSize?: number | undefined; fontWeight?: number | undefined; tag?: any; textColor?: string | undefined; edgeRenderingMode?: import('..').EdgeRenderingMode | undefined; toolTip?: string | undefined; selectable?: boolean | undefined; selectionMode?: import('..').SelectionMode | undefined; DefaultXYAxisSeriesOptions: import('..').CreateXYAxisSeriesOptions; }; /** * Represents a line series. */ export declare class LineSeries extends DataPointSeries { /** * The divisor value used to calculate tolerance for line smoothing. */ private static readonly ToleranceDivisor; /** * The output buffer. */ private _outputBuffer?; /** * The buffer for contiguous screen points. */ private _contiguousScreenPointsBuffer?; /** * The buffer for decimated points. */ private _decimatorBuffer; /** * The default color. */ private _defaultColor; /** * The default marker fill color. */ private _defaultMarkerFill; /** * The default line style. */ private _defaultLineStyle; /** * The smoothed points. */ private _smoothedPoints; /** * Initializes a new instance of the LineSeries class. */ constructor(opt?: CreateLineSeriesOptions); getElementName(): string; /** * Gets or sets the color of the curve. */ color: OxyColor; /** * Gets or sets the color of the broken line segments. The default is OxyColors.Undefined. Set it to OxyColors.Automatic if it should follow the Color. */ brokenLineColor: OxyColor; /** * Gets or sets the broken line style. The default is LineStyle.Solid. */ brokenLineStyle: LineStyle; /** * Gets or sets the broken line thickness. The default is 0 (no line). */ brokenLineThickness: number; /** * Gets or sets the dash array for the rendered line (overrides LineStyle). The default is null. */ dashes?: number[]; /** * Gets or sets the decimator. */ decimator?: (points: ScreenPoint[], result: ScreenPoint[]) => void; /** * Gets or sets the label formatter. The default is null (no labels). */ labelStringFormatter?: LabelStringFormatterType; /** * Gets or sets the label margins. The default is 6. */ labelMargin: number; /** * Gets or sets the line join. The default is LineJoin.Bevel. */ lineJoin: LineJoin; /** * Gets or sets the line style. The default is LineStyle.Automatic. */ lineStyle: LineStyle; /** * Gets or sets a value specifying the position of a legend rendered on the line. The default is LineLegendPosition.None. */ lineLegendPosition: LineLegendPosition; /** * Gets or sets the marker fill color. The default is OxyColors.Automatic. */ markerFill: OxyColor; /** * Gets or sets the custom polygon outline for the markers. Set MarkerType to MarkerType.Custom to use this property. The default is null. */ markerOutline?: ScreenPoint[]; /** * Gets or sets the marker resolution. The default is 0. */ markerResolution: number; /** * Gets or sets the size of the marker. The default is 3. */ markerSize: number; /** * Gets or sets the marker stroke. The default is OxyColors.Automatic. */ markerStroke: OxyColor; /** * Gets or sets the marker stroke thickness. The default is 2. */ markerStrokeThickness: number; /** * Gets or sets the type of the marker. The default is MarkerType.None. */ markerType: MarkerType; /** * Gets or sets the minimum length of the segment. * Increasing this number will increase performance, * but make the curve less accurate. The default is 2. */ minimumSegmentLength: number; /** * Gets or sets a type of interpolation algorithm used for smoothing this DataPointSeries. */ interpolationAlgorithm?: IInterpolationAlgorithm; /** * Gets or sets the thickness of the curve. */ strokeThickness: number; /** * Gets the actual color. */ get actualColor(): OxyColor; /** * Gets the actual marker fill color. */ get actualMarkerFill(): OxyColor; /** * Gets the actual line style. */ protected get actualLineStyle(): LineStyle; /** * Gets the actual dash array for the line. */ protected get actualDashArray(): number[] | undefined; /** * Gets the smoothed points. */ protected get smoothedPoints(): DataPoint[]; /** * Gets the point on the series that is nearest the specified point. * @param point The point. * @param interpolate Interpolate the series if this flag is set to true. * @returns A TrackerHitResult for the current hit. */ getNearestPoint(point: ScreenPoint, interpolate: boolean): TrackerHitResult | undefined; /** * Renders the series on the specified rendering context. * @param rc The rendering context. */ render(rc: IRenderContext): Promise; /** * Renders the legend symbol for the line series on the * specified rendering context. * @param rc The rendering context. * @param legendBox The bounding rectangle of the legend box. */ renderLegend(rc: IRenderContext, legendBox: OxyRect): Promise; /** * Sets default values from the plot model. * @internal */ setDefaultValues(): void; /** * Updates the maximum and minimum values of the series. * @internal */ updateMaxMin(): void; /** * Renders the points as line, broken line and markers. * @param rc The rendering context. * @param points The points to render. */ protected renderPoints(rc: IRenderContext, points: DataPoint[]): Promise; /** * Extracts a single contiguous line segment beginning with the element at the position of the enumerator when the method * is called. Initial invalid data points are ignored. * @param points Points collection * @param pointIdx Current point index * @param previousContiguousLineSegmentEndPoint Initially set to null, but I will update I won't give a broken line if this is null * @param xmax Maximum visible X value * @param broken place to put broken segment * @param contiguous place to put contiguous segment * @returns true if line segments are extracted, false if reached end. */ protected extractNextContiguousLineSegment(points: DataPoint[], pointIdx: number, previousContiguousLineSegmentEndPoint: ScreenPoint | undefined, xmax: number, broken: ScreenPoint[], contiguous: ScreenPoint[]): { result: boolean; pointIdx: number; previousContiguousLineSegmentEndPoint: ScreenPoint | undefined; }; /** * Renders the point labels. * @param rc The render context. */ protected renderPointLabels(rc: IRenderContext): Promise; /** * Renders a legend on the line. * @param rc The render context. */ protected renderLegendOnLine(rc: IRenderContext): Promise; /** * Renders the transformed points as a line (smoothed if interpolationAlgorithm isn’t null) and markers (if markerType is not None). * @param rc The render context. * @param pointsToRender The points to render. */ protected renderLineAndMarkers(rc: IRenderContext, pointsToRender: ScreenPoint[]): Promise; /** * Renders a continuous line. * @param rc The render context. * @param pointsToRender The points to render. */ protected renderLine(rc: IRenderContext, pointsToRender: ScreenPoint[]): Promise; /** * Force the smoothed points to be re-evaluated. */ protected resetSmoothedPoints(): void; protected getElementDefaultValues(): any; toJSON(opt?: PlotModelSerializeOptions): any; } //# sourceMappingURL=LineSeries.d.ts.map