/// <summary> /// When implemented in a derived class, gets a display text point from a buffer text point position. /// </summary> /// <param name="textPoint">The buffer text point to translate into a display text point.</param> /// <returns>The <see cref="DisplayTextPoint"/>.</returns> /// <exception cref="ArgumentException"><paramref name="textPoint"/> does not belong to the same buffer as the view.</exception> public abstract DisplayTextPoint GetTextPoint(TextPoint textPoint);
/// <summary> /// When implemented in a derived class, extends the selection from its current start point to the new end point. Ensures /// that the end point of the selection is visible on screen. /// </summary> /// <param name="newEnd"> /// The text point to which to extend the selection. /// </param> /// <remarks> /// <paramref name="newEnd"/> may become the new start point, if <paramref name="newEnd"/> is before the current start point. /// </remarks> /// <exception cref="InvalidOperationException"><paramref name="newEnd"/> belongs to a different buffer.</exception> public abstract void ExtendSelection(TextPoint newEnd);
/// <summary> /// When implemented in a derived class, gets a display text range from two display text points. /// </summary> /// <param name="startPoint">The start point of the range.</param> /// <param name="endPoint">The end point of the range.</param> /// <returns>The text range that starts and ends at the two points.</returns> /// <remarks>The start point of the text range may become the end point if the start point occurs after the end point.</remarks> /// <exception cref="ArgumentException"><paramref name="startPoint"/> or <paramref name="endPoint"/> do not belong to this buffer.</exception> public abstract DisplayTextRange GetTextRange(TextPoint startPoint, TextPoint endPoint);
/// <summary> /// When implemented in a derived class, selects the given text range, reversing the selection if needed. Ensures /// that the end point of the selection is visible on screen. /// </summary> /// <param name="selectionStart">The start point for the selection.</param> /// <param name="selectionEnd">The end point for the selection.</param> /// <remarks>If <paramref name="selectionStart"/> is positioned after <paramref name="selectionEnd"/>, then the /// selection is reversed.</remarks> public abstract void SelectRange(TextPoint selectionStart, TextPoint selectionEnd);