Lens Scripting API

    Class Text

    Renders 2D text with specific style and layout.

    Supports Dynamic Text.

    Text guide.

    //@input Component.Text textComponent
    //@input Asset.Font customFont
    //@input vec4 color {"widget":"color"}

    script.textComponent.text = "Hello there";
    script.textComponent.font = script.customFont;
    script.textComponent.size = 30;
    script.textComponent.verticalOverflow = VerticalOverflow.Truncate;
    // @input Component.Text textComponent
    // @input Component.ScreenTransform background

    // Reparent the background object to be a child of the Text object
    var textObj = script.textComponent.getSceneObject();
    script.background.getSceneObject().setParent(textObj);

    // Set the background object to be the extentsTarget of the Text object, so it matches the rendered area
    script.textComponent.extentsTarget = script.background;

    Hierarchy (View Summary, Expand)

    Index

    Constructors

    Properties

    backgroundSettings: BackgroundSettings

    Settings for drawing a background behind the text.

    capitilizationOverride: CapitilizationOverride

    Overrides the capitalization of the text rendered.

    colorMask: vec4b

    Controls the masking of color channels with a vec4b representing each channel with a boolean.

    depthTest: boolean

    If enabled, the text material will use Depth Testing. Useful when Text exists in 3D space.

    dropshadowSettings: DropshadowSettings

    Settings for how dropshadow is used in text drawing.

    editable: boolean

    Makes the Text component editable. When this is enabled the Text can be clicked to open up the device keyboard and edit the contents.

    enabled: boolean

    If disabled, the Component will stop enacting its behavior.

    extentsTarget: ScreenTransform

    When a ScreenTransform is present on this SceneObject, and extentsTarget is a child of this SceneObject, extentsTarget will be repositioned to match the exact area this MeshVisual is being rendered. Very useful for Image and Text components.

    font: Font

    Font asset used.

    horizontalAlignment: HorizontalAlignment

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned horizontally depending on stretchMode.

    horizontalOverflow: HorizontalOverflow

    Controls how text should be handled when it goes past the horizontal boundaries defined by the world space rect or ScreenTransform.

    letterSpacing: number

    Modifies the spacing between letters. Set to 0 by default, which uses the font's normal letter spacing. Negative values will remove space between letters, and positive values will add more space between letters.

    lineSpacing: number

    Modifies the vertical spacing between lines, as a multiple of lines. 1 will be single spacing, 2 will be double spaced, and 0.5 would be half the normal line height.

    meshShadowMode: MeshShadowMode

    None = 0, Caster = 1, Receiver = 2

    onEditingFinished: event1<string, void>

    This event will notify you when the user finishes editing the text.

    onEditingStarted: event0<void>

    This event will notify you when the input keyboard opens.

    onEditingUpdated: event1<string, void>

    This event will notify you on every edit to the text while the user is typing.

    outlineSettings: OutlineSettings

    Settings for how text outline is used in text drawing.

    sceneObject: SceneObject

    The scene object this component is on.

    shadowColor: vec4

    Affects the color of shadows being cast by this MeshVisual. The color of the cast shadow is a mix between shadowColor and the material's base texture color. The alpha value of shadowColor controls the mixing of these two colors, with 0 = shadowColor and 1 = shadowColor * textureColor.

    shadowDensity: number

    Density of shadows cast by this MeshVisual.

    showEditingPreview: boolean

    Use this property to control whether to show the input preview the keyboard. Note this preview also enables cursor movement.

    size: number

    Font size used.

    sizeToFit: boolean

    If enabled, the rendered text will always scale to fit the boundaries defined by the world space rect or ScreenTransform.

    stretchMode: StretchMode

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be stretched relative to the ScreenTransform's boundaries.

    text: string

    Text string to be drawn.

    textFill: TextFill

    Settings for how the text is drawn, such as fill color or texture.

    touchHandler: InteractionComponent

    Use this property to override the touch handling for when to open the device keyboard when the Text is editable.

    twoSided: boolean

    Whether the text should be visible in both front and back.

    uniqueIdentifier: string
    verticalAlignment: VerticalAlignment

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned vertically depending on stretchMode.

    verticalOverflow: VerticalOverflow

    Controls how text should be handled when it goes past the vertical boundaries defined by the world space rect or ScreenTransform.

    worldSpaceRect: Rect

    Controls the boundaries the text is aligned and wraps within when not using ScreenTransform. Referred to as the Layout Rect in the Inspector panel.

    Methods

    • Returns true if the object matches or derives from the passed in type.

      Parameters

      • type: string

      Returns boolean

    • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

      Parameters

      Returns boolean

    • Sets the order of this Visual in the render queue.

      Parameters

      • value: number

      Returns void

    • Projects screen positions from camera's view onto the mesh's UVs. If the MeshVisual's material uses the same texture as the camera input, the MeshVisual will look identical to the part of the screen it covers.

      Parameters

      Returns void

    MMNEPVFCICPMFPCPTTAAATR