Class FourPositionsLabelsStrategy
Represents a Fast Algorithm for Label Placement implementation for the RadChartView labels.
Inherited Members
Namespace: Telerik.WinControls.UI
Assembly: Telerik.WinControls.ChartView.dll
Syntax
public class FourPositionsLabelsStrategy : SmartLabelsStrategyBase
Constructors
FourPositionsLabelsStrategy()
Declaration
public FourPositionsLabelsStrategy()
Properties
PositionsPerLabel
Gets or sets the number of label positions the strategy will serach in.
Declaration
protected virtual int PositionsPerLabel { get; }
Property Value
System.Int32
|
Methods
AssignMinimumOverlapLabels()
Adds any labels that do not have a position set to the position with the least collisions.
Declaration
protected virtual void AssignMinimumOverlapLabels()
AssignSmartRectangles(ChartSeriesCollection)
Assigns the smart rectangles of labels.
Declaration
protected virtual void AssignSmartRectangles(ChartSeriesCollection series)
Parameters
ChartSeriesCollection
series
The series. |
BuildAdjacencyMatrix(ChartSeriesCollection)
Builds the adjacency matrix. A matrix that represents the collision graph of all labels.
Declaration
protected virtual void BuildAdjacencyMatrix(ChartSeriesCollection series)
Parameters
ChartSeriesCollection
series
The series. |
CalculateLocations(ChartSeriesCollection, Rectangle)
Within this method labels' positions are calculated and are set to the SmartLocation property of each label.
Declaration
public override void CalculateLocations(ChartSeriesCollection series, Rectangle plotArea)
Parameters
ChartSeriesCollection
series
All the series in the current chart view. |
System.Drawing.Rectangle
plotArea
The plot area. |
Overrides
GetAllLabelPositions(LabelElement)
Gets all the possible label positions.
Declaration
protected virtual IEnumerable<Rectangle> GetAllLabelPositions(LabelElement label)
Parameters
LabelElement
label
The label. |
Returns
System.Collections.Generic.IEnumerable<System.Drawing.Rectangle>
|
GetLabelLineSide(Int32)
Gets the label LineSide corresponding to the label position.
Declaration
protected virtual LineSide GetLabelLineSide(int labelPosition)
Parameters
System.Int32
labelPosition
The label position. |
Returns
LineSide
|
GetLabelRectangle(LabelElement, Int32)
Gets the label rectangle from its position.
Declaration
protected virtual Rectangle GetLabelRectangle(LabelElement label, int labelPosition)
Parameters
LabelElement
label
The label. |
System.Int32
labelPosition
The label position. |
Returns
System.Drawing.Rectangle
|
HasUnassignedLabels()
Determines whether the are labels with unassigned label position.
Declaration
protected virtual bool HasUnassignedLabels()
Returns
System.Boolean
|
IsFinalSolution()
Determines whether the current state of the adjacency matrix is a final solution.
Declaration
protected virtual bool IsFinalSolution()
Returns
System.Boolean
|
IsMatrixEmpty()
Determines whether there are uncheck label positions in the adjacency matrix.
Declaration
protected virtual bool IsMatrixEmpty()
Returns
System.Boolean
|
LocalOptimization()
Peforms local optiomizations to labels that improve the global solution.
Declaration
protected virtual void LocalOptimization()
MaximumNonconflict()
Places as much as possible labels into positions without overlaps.
Declaration
protected virtual void MaximumNonconflict()