IFormattedLine Interface

Represents a line of formatted text in the ITextView.

Namespace:  Microsoft.VisualStudio.Text.Formatting
Assembly:  Microsoft.VisualStudio.Text.UI.Wpf (in Microsoft.VisualStudio.Text.UI.Wpf.dll)

Syntax

'Declaration
Public Interface IFormattedLine _
    Inherits IWpfTextViewLine, ITextViewLine, IDisposable
public interface IFormattedLine : IWpfTextViewLine, 
    ITextViewLine, IDisposable
public interface class IFormattedLine : IWpfTextViewLine, 
    ITextViewLine, IDisposable
type IFormattedLine =  
    interface
        interface IWpfTextViewLine
        interface ITextViewLine
        interface IDisposable
    end
public interface IFormattedLine extends IWpfTextViewLine, ITextViewLine, IDisposable

The IFormattedLine type exposes the following members.

Properties

  Name Description
Public property Baseline Gets the distance from the top of the text to the baseline text on the line. (Inherited from ITextViewLine.)
Public property Bottom Gets the position of the bottom edge of this line in the text rendering coordinate system. (Inherited from ITextViewLine.)
Public property Change Gets the change to this rendered textline between the current layout and the previous layout. (Inherited from ITextViewLine.)
Public property DefaultLineTransform Gets the default LineTransform used to render this line. (Inherited from ITextViewLine.)
Public property DeltaY Gets the change in the top of this rendered text line between he value of Top in the current layout and the value of Top in the previous layout. (Inherited from ITextViewLine.)
Public property End Gets the position of the first character past the end of the line, excluding any line break characters. (Inherited from ITextViewLine.)
Public property EndIncludingLineBreak Gets the position of the first character past the end of the line, including any line break characters. (Inherited from ITextViewLine.)
Public property EndOfLineWidth Gets the distance from the right edge of the last character in this line to the end of the space of this line. (Inherited from ITextViewLine.)
Public property Extent Gets the extent of the line, excluding any line break characters. (Inherited from ITextViewLine.)
Public property ExtentAsMappingSpan Gets the IMappingSpan that corresponds to the Extent of the line. (Inherited from ITextViewLine.)
Public property ExtentIncludingLineBreak Gets the extent of the line, including any line break characters. (Inherited from ITextViewLine.)
Public property ExtentIncludingLineBreakAsMappingSpan Gets the IMappingSpan that corresponds to ExtentIncludingLineBreak. (Inherited from ITextViewLine.)
Public property Height Gets the distance between the top and bottom edge of this line. (Inherited from ITextViewLine.)
Public property IdentityTag Gets a tag that can be used to track the identity of an ITextViewLine across layouts in the view. (Inherited from ITextViewLine.)
Public property IsFirstTextViewLineForSnapshotLine Determines whether this ITextViewLine is the first line in the list of lines formatted for a particular ITextSnapshotLine. (Inherited from ITextViewLine.)
Public property IsLastTextViewLineForSnapshotLine Determines whether this ITextViewLine is the last line in the list of lines formatted for a particular ITextSnapshotLine. (Inherited from ITextViewLine.)
Public property IsValid Determines whether this text view line is still valid. (Inherited from ITextViewLine.)
Public property Left Gets the position of the left edge of this line in the text rendering coordinate system. (Inherited from ITextViewLine.)
Public property Length Gets the length of the line, excluding any line break characters. (Inherited from ITextViewLine.)
Public property LengthIncludingLineBreak Gets the length of the line, including any line break characters. (Inherited from ITextViewLine.)
Public property LineBreakLength Gets the length of the line break sequence (for example, "\r\n") that appears at the end of this line. (Inherited from ITextViewLine.)
Public property LineTransform Gets the LineTransform used to render this line. (Inherited from ITextViewLine.)
Public property Right Gets the position of the right edge of this line in the text rendering coordinate system. (Inherited from ITextViewLine.)
Public property Snapshot Gets the ITextSnapshot on which this map is based. (Inherited from ITextViewLine.)
Public property Start Gets the position in Snapshot of the first character in the line. (Inherited from ITextViewLine.)
Public property TextBottom Gets the y-coordinate of the bottom of the text in the rendered line. (Inherited from ITextViewLine.)
Public property TextHeight Gets the vertical distance between the top and bottom of the text in the rendered line. (Inherited from ITextViewLine.)
Public property TextLeft Gets the x-coordinate of the left edge of the text in the rendered line. (Inherited from ITextViewLine.)
Public property TextLines Gets a list of text lines that make up the formatted text line. (Inherited from IWpfTextViewLine.)
Public property TextRight Gets the x-coordinate of the right edge of the text in the rendered line. (Inherited from ITextViewLine.)
Public property TextTop Gets the y-coordinate of the top of the text in the rendered line. (Inherited from ITextViewLine.)
Public property TextWidth Gets the horizontal distance between TextRight and TextLeft. (Inherited from ITextViewLine.)
Public property Top Gets the position of the top edge of this line in the text rendering coordinate system. (Inherited from ITextViewLine.)
Public property VirtualSpaceWidth Get the width of the virtual spaces at the end of this line. (Inherited from ITextViewLine.)
Public property VisibilityState Gets the visibility state of this rendered text line with respect to the top and bottom of the view. (Inherited from ITextViewLine.)
Public property VisibleArea Gets the visible area in which this text line will be rendered. (Inherited from IWpfTextViewLine.)
Public property Width Gets the distance between the left and right edges of this line. (Inherited from ITextViewLine.)

Top

Methods

  Name Description
Public method ContainsBufferPosition Determines whether the specified buffer position lies within this text line. (Inherited from ITextViewLine.)
Public method Dispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (Inherited from IDisposable.)
Public method GetAdornmentBounds Calculates the bounds of the specified adornment. (Inherited from ITextViewLine.)
Public method GetAdornmentTags Gets the adornments positioned on the line. (Inherited from ITextViewLine.)
Public method GetBufferPositionFromXCoordinate(Double) Gets the buffer position of the character whose character bounds contains the given x-coordinate. (Inherited from ITextViewLine.)
Public method GetBufferPositionFromXCoordinate(Double, Boolean) Gets the buffer position of the character whose character bounds contains the given x-coordinate. (Inherited from ITextViewLine.)
Public method GetCharacterBounds(SnapshotPoint) Calculates the bounds of the character at the specified buffer position. (Inherited from ITextViewLine.)
Public method GetCharacterBounds(VirtualSnapshotPoint) Calculates the bounds of the character at the specified buffer position. (Inherited from ITextViewLine.)
Public method GetCharacterFormatting Gets the formatting for a particular character in the line. (Inherited from IWpfTextViewLine.)
Public method GetExtendedCharacterBounds(SnapshotPoint) Calculates the bounds of the character at the specified buffer position, including any adjacent space-negotiating adornments. (Inherited from ITextViewLine.)
Public method GetExtendedCharacterBounds(VirtualSnapshotPoint) Calculates the bounds of the character at the specified virtual buffer position, including any adjacent space-negotiating adornments. (Inherited from ITextViewLine.)
Public method GetInsertionBufferPositionFromXCoordinate Gets the buffer position used if new data were to be inserted at the given x-coordinate. (Inherited from ITextViewLine.)
Public method GetNormalizedTextBounds Gets a collection of TextBounds structures for the text that corresponds to the given span. (Inherited from ITextViewLine.)
Public method GetOrCreateVisual Gets the Visual that can be used to add this formatted text line to a VisualCollection.
Public method GetTextElementSpan Gets the span whose text element index corresponds to the given buffer position. (Inherited from ITextViewLine.)
Public method GetVirtualBufferPositionFromXCoordinate Gets the buffer position of the character whose character bounds contains the given x-coordinate. (Inherited from ITextViewLine.)
Public method IntersectsBufferSpan Determines whether a bufferSpan intersects this text line. (Inherited from ITextViewLine.)
Public method RemoveVisual Remove the Visual that represents the rendered text of the line.
Public method SetChange Sets the Change property for this text line.
Public method SetDeltaY Sets the change in position of the top of this formatted text line between the current view layout and the previous view layout.
Public method SetLineTransform Sets the line transform used to format the text in this formatted text line.
Public method SetSnapshot Sets the ITextSnapshot objects upon which this formatted text line is based.
Public method SetTop Sets the position used to format the text in this formatted text line.
Public method SetVisibleArea Sets the visible area in which this text line will be formatted.

Top

Remarks

For information about formatting, see the "Formatted Text" section of Inside the Editor.

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.

See Also

Reference

Microsoft.VisualStudio.Text.Formatting Namespace