Partager via


LineTransform Structure

Represents the transform from a formatted text line to a rendered text line.

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

Syntax

'Declaration
Public Structure LineTransform
public struct LineTransform
public value class LineTransform
[<Sealed>]
type LineTransform =  struct end
JScript supports the use of structures, but not the declaration of new ones.

The LineTransform type exposes the following members.

Constructors

  Name Description
Public method LineTransform(Double) Initializes a new instance of a LineTransform.
Public method LineTransform(Double, Double, Double) Initializes a new instance of a LineTransform.
Public method LineTransform(Double, Double, Double, Double) Initializes a new instance of a LineTransform.

Top

Properties

  Name Description
Public property BottomSpace Gets the amount of space required below the text of the line before applying the VerticalScale factor.
Public property Right Gets the x-coordinate of the effective right edge of the line.
Public property TopSpace Gets the amount of space required above the text of the line before applying the VerticalScale factor.
Public property VerticalScale Gets the vertical scale factor to be applied to the text of the line and the space above and below the line.

Top

Methods

  Name Description
Public methodStatic member Combine Combines two LineTransform objects.
Public method Equals Determines whether two LineTransform objects are the same. (Overrides ValueType.Equals(Object).)
Public method GetHashCode Gets the hash code for this object. (Overrides ValueType.GetHashCode.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method ToString Returns the fully qualified type name of this instance. (Inherited from ValueType.)

Top

Operators

  Name Description
Public operatorStatic member Equality Determines whether two LineTransform objects are the same.
Public operatorStatic member Inequality Determines whether two LineTransform objects are different.

Top

Remarks

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.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Text.Formatting Namespace