Class EcdisDisplaySettings
Cross-spec ECDIS display settings carried on every
RenderContext. Producers (the viewer) populate this
from EcdisDisplayState; consumers (per-spec processors)
apply it to their IVectorPortrayalCatalogue via
ApplyTo(EcdisDisplaySettings, IVectorPortrayalCatalogue).
public sealed record EcdisDisplaySettings : IEquatable<EcdisDisplaySettings>
- Inheritance
-
EcdisDisplaySettings
- Implements
- Inherited Members
- Extension Methods
Properties
ActiveDisplayModes
Per-spec explicit S-100 Part 9 §11.7 display-mode selections
(spec code → mode id, e.g. "S-411" →
"IceScientificIcesodDisplayMode"). Populated by the viewer's
per-dataset display-mode selector for products whose portrayal
catalogue declares more than one mode. Unlike Category
(which maps to a viewing-group filter), an entry here selects an
alternate portrayal and, when present, wins over the
ECDIS-category-derived mode in
GmlDatasetProcessorBase.ApplyDisplayMode. Empty by default
(each catalogue renders its default mode). A null value is
equivalent to no entry. Keyed case-insensitively so a producer that
populates the map with a different spec casing (e.g. s-411)
still matches the canonical lookup key.
public IReadOnlyDictionary<string, string?> ActiveDisplayModes { get; init; }
Property Value
Category
The active ECDIS category. Defaults to Standard.
public EcdisDisplayCategory Category { get; init; }
Property Value
HiddenDisplayPlanes
Display planes the user has hidden via the ECDIS panel (S-100 Part 9 §11.6). Empty by default.
public IReadOnlySet<DisplayPlane> HiddenDisplayPlanes { get; init; }
Property Value
HiddenViewingGroups
Per-spec viewing-group ids the user has explicitly hidden via
the ECDIS panel. Keys are spec codes (e.g. "S-101").
Empty by default.
public IReadOnlyDictionary<string, IReadOnlySet<int>> HiddenViewingGroups { get; init; }
Property Value
LayerVisibility
Map-wide switches for a product's optional layers, keyed by the
processor's stable sub-layer key (e.g. "weather.pressure.isobars"
→ true). A processor that offers optional layers
draws a layer when its entry is true, leaves it out
when false, and falls back to its own default when
the key is missing. Unlike a dataset's sub-layer visibility, which
hides a built layer in one dataset, this applies to every dataset of
the product and changes what is portrayed. Set by the viewer's Display
controls Weather section (issue #1072). Empty by default, so every
layer follows its producer's default (as s100 render does).
public IReadOnlyDictionary<string, bool> LayerVisibility { get; init; }
Property Value
Methods
IsLayerVisible(string, bool)
Whether the optional layer layerKey is drawn:
its LayerVisibility entry, or
defaultVisible when it has none.
public bool IsLayerVisible(string layerKey, bool defaultVisible)