namespace Terminal.Gui; /// /// Represents a single row/column in a Terminal.Gui rendering surface (e.g. and /// ). /// public record struct Cell () { /// The attributes to use when drawing the Glyph. public Attribute? Attribute { get; set; } = null; /// /// Gets or sets a value indicating whether this has been modified since the /// last time it was drawn. /// public bool IsDirty { get; set; } = false; private Rune _rune = default; /// The character to display. If is , then is ignored. public Rune Rune { get => _rune; set { CombiningMarks.Clear (); _rune = value; } } /// /// The combining marks for that when combined makes this Cell a combining sequence. If /// empty, then is ignored. /// /// /// Only valid in the rare case where is a combining sequence that could not be normalized to a /// single Rune. /// internal List CombiningMarks { get; } = new (); /// public override string ToString () { return $"[{Rune}, {Attribute}]"; } }