Share via


ITextViewLineCollection Interface

Definition

Represents a helper class for accessing the view's collection of ITextViewLine objects. The TextViewLines property on the ITextView is used to get an instance of this interface.

public interface class ITextViewLineCollection : System::Collections::Generic::ICollection<Microsoft::VisualStudio::Text::Formatting::ITextViewLine ^>, System::Collections::Generic::IEnumerable<Microsoft::VisualStudio::Text::Formatting::ITextViewLine ^>, System::Collections::Generic::IList<Microsoft::VisualStudio::Text::Formatting::ITextViewLine ^>
public interface ITextViewLineCollection : System.Collections.Generic.ICollection<Microsoft.VisualStudio.Text.Formatting.ITextViewLine>, System.Collections.Generic.IEnumerable<Microsoft.VisualStudio.Text.Formatting.ITextViewLine>, System.Collections.Generic.IList<Microsoft.VisualStudio.Text.Formatting.ITextViewLine>
type ITextViewLineCollection = interface
    interface IList<ITextViewLine>
    interface ICollection<ITextViewLine>
    interface seq<ITextViewLine>
    interface IEnumerable
Public Interface ITextViewLineCollection
Implements ICollection(Of ITextViewLine), IEnumerable(Of ITextViewLine), IList(Of ITextViewLine)
Derived
Implements

Remarks

The ITextView disposes its ITextViewLineCollection and all the ITextViewLine objects it contains every time it generates a new layout.

Most properties and parameters that are doubles correspond to coordinates or distances in the text rendering coordinate system. In this coordinate system, x = 0.0 corresponds to the left edge of the drawing surface onto which text is rendered (x = view.ViewportLeft corresponds to the left edge of the viewport), and y = view.ViewportTop corresponds to the top edge of the viewport. The x-coordinate increases from left to right, and the y-coordinate increases from top to bottom.

The horizontal and vertical axes of the view behave differently. When the text in the view is formatted, only the visible lines are formatted. As a result, a viewport cannot be scrolled horizontally and vertically in the same way.

A viewport is scrolled horizontally by changing the left coordinate of the viewport so that it moves with respect to the drawing surface.

A view can be scrolled vertically only by performing a new layout.

Doing a layout in the view may cause the ViewportTop property of the view to change. For example, scrolling down one line will not translate any of the visible lines. Instead it will simply change the view's ViewportTop property (causing the lines to move on the screen even though their y-coordinates have not changed).

Distances in the text rendering coordinate system correspond to logical pixels. If the text rendering surface is displayed without any scaling transform, then 1 unit in the text rendering coordinate system corresponds to one pixel on the display.

Properties

FirstVisibleLine

Gets the first line that is not completely hidden.

FormattedSpan

Gets the span of text contained in this ITextViewLine collection.

IsValid

Determines whether this ITextViewLineCollection object is still valid.

LastVisibleLine

Gets the last line that is not completely hidden.

Methods

ContainsBufferPosition(SnapshotPoint)

Determines whether the specified buffer position is contained by any of the ITextViewLine objects in the collection.

GetCharacterBounds(SnapshotPoint)

Gets the text bounds of the specified text buffer position.

GetIndexOfTextLine(ITextViewLine)

Gets the index in the text lines of the given text view line.

GetNormalizedTextBounds(SnapshotSpan)

Gets a collection of TextBounds structures for the text that corresponds to the given span.

GetTextElementSpan(SnapshotPoint)

Gets the span whose text element span contains the given buffer position.

GetTextViewLineContainingBufferPosition(SnapshotPoint)

Gets the ITextViewLine that contains the specified text buffer position.

GetTextViewLineContainingYCoordinate(Double)

Gets the ITextViewLine that contains the specified y-coordinate.

GetTextViewLinesIntersectingSpan(SnapshotSpan)

Gets all of the ITextViewLine objects that intersect bufferSpan.

IntersectsBufferSpan(SnapshotSpan)

Detrmines whether the specified buffer span intersects any of the ITextViewLine objects in the collection.

Extension Methods

EmptyIfNull<T>(IEnumerable<T>)

Return this enumeration in case it is not null. In case it is null return empty enumeration.

Applies to