Skip to content

MarkDimensions<T>

StructChartGuruChartGuru
public readonly struct MarkDimensions<T>

Apple Swift Charts MarkDimensions<DataElement> mirror. Holds optional per-element selectors that produce a ChartGuru.MarkDimension for the width and/or height of each generated mark.

Used with vectorized / typed plot builders. When passed to a bar-builder, each data element is fed through the relevant selector and the resulting dimension is written to the constructed BarMark.Width / BarMark.Height.

public readonly Func<T, MarkDimension> WidthSelector

Returns

System.Func{{T},ChartGuru.MarkDimension}

public readonly Func<T, MarkDimension> HeightSelector

Returns

System.Func{{T},ChartGuru.MarkDimension}

MarkDimensions(Func<T, MarkDimension>, Func<T, MarkDimension>)

Section titled “MarkDimensions(Func<T, MarkDimension>, Func<T, MarkDimension>)”
public MarkDimensions(Func<T, MarkDimension> widthSelector = null, Func<T, MarkDimension> heightSelector = null)

Creates optional per-element width and height projections. A null selector leaves that dimension under automatic mark sizing.

Parameters

Name Type
widthSelector System.Func{{T},ChartGuru.MarkDimension}
heightSelector System.Func{{T},ChartGuru.MarkDimension}

public static MarkDimensions<T> Width(Func<T, MarkDimension> selector)

Apple parity: MarkDimensions(width:).

Parameters

Name Type
selector System.Func{{T},ChartGuru.MarkDimension}

Returns

ChartGuru.MarkDimensions`1

public static MarkDimensions<T> Width(Func<T, float> selector)

Convenience: float selector becomes a Fixed dimension.

Parameters

Name Type
selector System.Func{{T},System.Single}

Returns

ChartGuru.MarkDimensions`1

public static MarkDimensions<T> Height(Func<T, MarkDimension> selector)

Apple parity: MarkDimensions(height:).

Parameters

Name Type
selector System.Func{{T},ChartGuru.MarkDimension}

Returns

ChartGuru.MarkDimensions`1

public static MarkDimensions<T> Height(Func<T, float> selector)

Convenience: float selector becomes a Fixed dimension.

Parameters

Name Type
selector System.Func{{T},System.Single}

Returns

ChartGuru.MarkDimensions`1

WidthAndHeight(Func<T, MarkDimension>, Func<T, MarkDimension>)

Section titled “WidthAndHeight(Func<T, MarkDimension>, Func<T, MarkDimension>)”
public static MarkDimensions<T> WidthAndHeight(Func<T, MarkDimension> width, Func<T, MarkDimension> height)

Apple parity: MarkDimensions(width:height:).

Parameters

Name Type
width System.Func{{T},ChartGuru.MarkDimension}
height System.Func{{T},ChartGuru.MarkDimension}

Returns

ChartGuru.MarkDimensions`1

public (MarkDimension? width, MarkDimension? height) Resolve(T element)

Apply the selectors to the given element, returning resolved Dimensions (or null when not provided).

Parameters

Name Type
element {T}

Returns

System.ValueTuple{System.Nullable{ChartGuru.MarkDimension},System.Nullable{ChartGuru.MarkDimension}}

public bool HasWidth { get; }

Returns

System.Boolean

public bool HasHeight { get; }

Returns

System.Boolean