Skip to content

SymbolShapeResolver

ClassChartGuruChartGuru
public static class SymbolShapeResolver

Centralized symbol shape resolution for semantic series encoding. Used by both ChartRenderer (for drawing) and ChartLayoutEngine (for legend layout).

public static readonly SymbolShape[] DefaultStrokedSymbolShapes

Default symbol shapes for stroked/hollow rendering (LineMark). Matches Apple Swift Charts LineMark automatic symbol rotation (5 shapes).

Returns

ChartGuru.SymbolShape[] — No return description is available.

public static readonly SymbolShape[] DefaultFilledSymbolShapes

Default symbol shapes for filled rendering (AreaMark, PointMark). Matches Apple Swift Charts AreaMark/PointMark automatic symbol rotation (7 shapes).

Returns

ChartGuru.SymbolShape[] — No return description is available.

public static SymbolShape GetDefaultShape(int seriesIndex)

Returns the default stroked symbol shape for the given series index, cycling through ChartGuru.SymbolShapeResolver.DefaultStrokedSymbolShapes. Used for LineMark and RadarMark plot symbols.

Parameters

Name Type Description
seriesIndex System.Int32

Returns

ChartGuru.SymbolShape — No return description is available.

public static SymbolShape GetDefaultFilledShape(int seriesIndex)

Returns the default filled symbol shape for the given series index, cycling through ChartGuru.SymbolShapeResolver.DefaultFilledSymbolShapes. Used for AreaMark and PointMark symbols.

Parameters

Name Type Description
seriesIndex System.Int32

Returns

ChartGuru.SymbolShape — No return description is available.

Resolve(SymbolShape, object, IReadOnlyDictionary<object, SymbolShape>)

Section titled “Resolve(SymbolShape, object, IReadOnlyDictionary<object, SymbolShape>)”
public static SymbolShape Resolve(SymbolShape baseShape, object symbolKey, IReadOnlyDictionary<object, SymbolShape> symbolScale)

Resolves the symbol shape for a single mark (non-series context). Checks the chart’s SymbolScale first, then falls back to the base shape. ChartGuru.SymbolShape.Automatic resolves to ChartGuru.SymbolShape.Circle.

Parameters

Name Type Description
baseShape ChartGuru.SymbolShape
symbolKey System.Object
symbolScale System.Collections.Generic.IReadOnlyDictionary{System.Object,ChartGuru.SymbolShape}

Returns

ChartGuru.SymbolShape — No return description is available.

ResolveForSeries(SymbolShape, object, int, IReadOnlyDictionary<object, SymbolShape>)

Section titled “ResolveForSeries(SymbolShape, object, int, IReadOnlyDictionary<object, SymbolShape>)”
public static SymbolShape ResolveForSeries(SymbolShape baseShape, object symbolKey, int seriesIndex, IReadOnlyDictionary<object, SymbolShape> symbolScale)

Resolves the symbol shape for a series member using the stroked (LineMark) default sequence. Priority: explicit SymbolScale mapping > explicit base shape > semantic default by series index. ChartGuru.SymbolShape.Automatic defers to the semantic default for the series index.

Parameters

Name Type Description
baseShape ChartGuru.SymbolShape
symbolKey System.Object
seriesIndex System.Int32
symbolScale System.Collections.Generic.IReadOnlyDictionary{System.Object,ChartGuru.SymbolShape}

Returns

ChartGuru.SymbolShape — No return description is available.

ResolveForSeries(SymbolShape, object, int, IReadOnlyDictionary<object, SymbolShape>, bool)

Section titled “ResolveForSeries(SymbolShape, object, int, IReadOnlyDictionary<object, SymbolShape>, bool)”
public static SymbolShape ResolveForSeries(SymbolShape baseShape, object symbolKey, int seriesIndex, IReadOnlyDictionary<object, SymbolShape> symbolScale, bool filled)

Resolves the symbol shape for a series member. Priority: explicit SymbolScale mapping > explicit base shape > semantic default by series index. When filled is true, uses the filled symbol sequence (AreaMark/PointMark).

Parameters

Name Type Description
baseShape ChartGuru.SymbolShape
symbolKey System.Object
seriesIndex System.Int32
symbolScale System.Collections.Generic.IReadOnlyDictionary{System.Object,ChartGuru.SymbolShape}
filled System.Boolean

Returns

ChartGuru.SymbolShape — No return description is available.