Skip to content

MarkDimension

StructChartGuruChartGuru
public readonly struct MarkDimension

Represents a size/dimension specification for marks. Swift Charts equivalent: MarkDimension for width/height/size parameters. Supports fixed pixel values, ratios, or automatic sizing.

public readonly float Value

The dimension value.

Returns

System.Single

public readonly MarkDimensionType Type

The type of dimension specification.

Returns

ChartGuru.MarkDimensionType

public static MarkDimension Fixed(float value)

Creates a fixed-size dimension in pixels/points. Swift Charts equivalent: .fixed(value)

Parameters

Name Type
value System.Single

Returns

ChartGuru.MarkDimension

public static MarkDimension Ratio(float ratio)

Creates a ratio-based dimension (0.0 to 1.0). Swift Charts equivalent: .ratio(value)

Parameters

Name Type
ratio System.Single

Returns

ChartGuru.MarkDimension

public static MarkDimension Inset(float inset)

Creates an inset dimension from available space. Swift Charts equivalent: .inset(value)

Parameters

Name Type
inset System.Single

Returns

ChartGuru.MarkDimension

public MarkDimension WithDefault(MarkDimension fallback)

Returns this dimension if non-Automatic, otherwise the supplied fallback. Used to layer per-mark overrides over chart-level defaults (Swift parity: BarMark(… width: .automatic) inherits from ChartBarWidth(…); an explicit value wins).

Parameters

Name Type
fallback ChartGuru.MarkDimension

Returns

ChartGuru.MarkDimension

public float Resolve(float step, float automaticRatio = 0.8)

Resolves this dimension to a final pixel size given the available scale step (e.g. the slot width assigned to one band/category). Mirrors Swift Charts’ MarkDimension semantics: .automatic → step * automaticRatio (default 0.8) .fixed(N) → N .ratio(R) → step * R .inset(I) → step - 2 * I (clamped to ≥ 0)

Parameters

Name Type
step System.Single
automaticRatio System.Single

Returns

System.Single

public override string ToString()

Returns

System.String

public static implicit operator MarkDimension(float value)

Implicit conversion from float to Fixed dimension.

Parameters

Name Type
value System.Single

Returns

ChartGuru.MarkDimension

public static implicit operator MarkDimension(int value)

Implicit conversion from int to Fixed dimension (Swift parity: MarkDimension conforms to ExpressibleByIntegerLiteral).

Parameters

Name Type
value System.Int32

Returns

ChartGuru.MarkDimension

public static MarkDimension Automatic { get; }

Creates an automatic dimension that sizes based on data/context. Swift Charts equivalent: .automatic

Returns

ChartGuru.MarkDimension

public bool IsAutomatic { get; }

Whether this dimension uses automatic sizing (i.e. inherits from a chart-level default or falls back to Swift Charts’ 0.8 step ratio).

Returns

System.Boolean