namespace RhythmBase.Components.RichText { /// /// Represents a line of rich text with a specific style. /// /// The type of the style applied to the rich text. public interface IRDRichTextLine where TStyle : IRDRichStringStyle, new() { /// /// Gets or sets the at the specified index. /// /// The index of the rich text line. /// The rich text line at the specified index. RDLine this[Index index] { get; set; } /// /// Gets or sets the within the specified range. /// /// The range of the rich text lines. /// The rich text lines within the specified range. RDLine this[Range range] { get; set; } /// /// Gets the length of the rich text line. /// int Length { get; } /// /// Concatenates multiple instances into a single instance. /// /// The rich text lines to concatenate. /// A new containing the concatenated content. static abstract RDLine Concat(params RDLine[] lines); /// /// Deserializes a string into an . /// /// The string to deserialize. /// A new containing the deserialized content. static abstract RDLine Deserialize(string text); /// /// Serializes the current instance to a string. /// /// A string representation of the current instance. string Serialize(); } }