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();
}
}