Packagefeathers.controls.text
Classpublic class TextFieldTextRenderer
InheritanceTextFieldTextRenderer Inheritance FeathersControl Inheritance starling.display.Sprite
Implements ITextRenderer

Renders text with a native flash.text.TextField and draws it to BitmapData to convert to Starling textures. Textures are completely managed by this component, and they will be automatically disposed when the component is disposed.

For longer passages of text, this component will stitch together multiple individual textures both horizontally and vertically, as a grid, if required. This may require quite a lot of texture memory, possibly exceeding the limits of some mobile devices, so use this component with caution when displaying a lot of text.

See also

Introduction to Feathers text renderers
flash.text.TextField


Public Properties
 PropertyDefined By
  antiAliasType : String
The type of anti-aliasing used for this text field, defined as constants in the flash.text.AntiAliasType class.
TextFieldTextRenderer
  background : Boolean
Specifies whether the text field has a background fill.
TextFieldTextRenderer
  backgroundColor : uint
The color of the text field background that is displayed if the background property is set to true.
TextFieldTextRenderer
  baseline : Number
[read-only] Returns the text baseline measurement, in pixels.
TextFieldTextRenderer
  border : Boolean
Specifies whether the text field has a border.
TextFieldTextRenderer
  borderColor : uint
The color of the text field border that is displayed if the border property is set to true.
TextFieldTextRenderer
  condenseWhite : Boolean
A boolean value that specifies whether extra white space (spaces, line breaks, and so on) in a text field with HTML text is removed.
TextFieldTextRenderer
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
  disabledTextFormat : TextFormat
The font and styles used to draw the text when the component is disabled.
TextFieldTextRenderer
  displayAsPassword : Boolean
Specifies whether the text field is a password text field that hides the input characters using asterisks instead of the actual characters.
TextFieldTextRenderer
  embedFonts : Boolean
Determines if the TextField should use an embedded font or not.
TextFieldTextRenderer
 InheritedfocusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 InheritedfocusManager : IFocusManager
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
FeathersControl
 InheritedfocusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 InheritedfocusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all TextFieldTextRenderer components.
TextFieldTextRenderer
  gridFitType : String
Determines whether Flash Player forces strong horizontal and vertical lines to fit to a pixel or subpixel grid, or not at all using the constants defined in the flash.text.GridFitType class.
TextFieldTextRenderer
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
FeathersControl
  isHTML : Boolean
Determines if the TextField should display the text as HTML or not.
TextFieldTextRenderer
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  maxTextureDimensions : int
The maximum size of individual textures that are managed by this text renderer.
TextFieldTextRenderer
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  nativeFilters : Array
Native filters to pass to the flash.text.TextField before creating the texture snapshot.
TextFieldTextRenderer
 InheritednextTabFocus : IFocusDisplayObject
FeathersControl
 InheritedpreviousTabFocus : IFocusDisplayObject
FeathersControl
  sharpness : Number
The sharpness of the glyph edges in this text field.
TextFieldTextRenderer
  snapToPixels : Boolean
Determines if the text should be snapped to the nearest whole pixel when rendered.
TextFieldTextRenderer
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  styleSheet : StyleSheet
The StyleSheet object to pass to the TextField.
TextFieldTextRenderer
  text : String
The text to render.
TextFieldTextRenderer
  textFormat : TextFormat
The font and styles used to draw the text.
TextFieldTextRenderer
  thickness : Number
The thickness of the glyph edges in this text field.
TextFieldTextRenderer
  updateSnapshotOnScaleChange : Boolean
Refreshes the texture snapshot every time that the text renderer is scaled.
TextFieldTextRenderer
  useGutter : Boolean
Determines if the 2-pixel gutter around the edges of the flash.text.TextField will be used in measurement and layout.
TextFieldTextRenderer
  useSnapshotDelayWorkaround : Boolean
Fixes an issue where flash.text.TextField renders incorrectly when drawn to BitmapData by waiting one frame.
TextFieldTextRenderer
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
  wordWrap : Boolean
Determines if the text wraps to the next line when it reaches the width (or max width) of the component.
TextFieldTextRenderer
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the globalStyleProvider property is set to this value.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
  textField : TextField
The TextField instance used to render the text before taking a texture snapshot.
TextFieldTextRenderer
  textSnapshot : Image
An image that displays a snapshot of the native TextField in the Starling display list when the editor doesn't have focus.
TextFieldTextRenderer
  textSnapshots : Vector.<Image>
If multiple snapshots are needed due to texture size limits, the snapshots appearing after the first are stored here.
TextFieldTextRenderer
Public Methods
 MethodDefined By
  
Constructor.
TextFieldTextRenderer
 Inherited
hideFocus():void
If the visual indicator of focus has been displayed by showFocus(), call this function to hide it.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
  
measureText(result:Point = null):Point
Measures the text's bounds (without a full validation, if possible).
TextFieldTextRenderer
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
If the object has focus, an additional visual indicator may optionally be displayed to highlight the object.
FeathersControl
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
  
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
TextFieldTextRenderer
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when the width or height of the control changes.FeathersControl
Public Constants
 ConstantDefined By
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = focus
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Property Detail
antiAliasTypeproperty
antiAliasType:String

The type of anti-aliasing used for this text field, defined as constants in the flash.text.AntiAliasType class. You can control this setting only if the font is embedded (with the embedFonts property set to true).

In the following example, the anti-alias type is changed:

         textRenderer.antiAliasType = AntiAliasType.NORMAL;

The default value is flash.text.AntiAliasType.ADVANCED.


Implementation
    public function get antiAliasType():String
    public function set antiAliasType(value:String):void

See also

backgroundproperty 
background:Boolean

Specifies whether the text field has a background fill. Use the backgroundColor property to set the background color of a text field.

In the following example, the background is enabled:

         textRenderer.background = true;
         textRenderer.backgroundColor = 0xff0000;

The default value is false.


Implementation
    public function get background():Boolean
    public function set background(value:Boolean):void

See also

backgroundColorproperty 
backgroundColor:uint

The color of the text field background that is displayed if the background property is set to true.

In the following example, the background color is changed:

         textRenderer.background = true;
         textRenderer.backgroundColor = 0xff000ff;

The default value is 0xffffff.


Implementation
    public function get backgroundColor():uint
    public function set backgroundColor(value:uint):void

See also

baselineproperty 
baseline:Number  [read-only]

Returns the text baseline measurement, in pixels.


Implementation
    public function get baseline():Number
borderproperty 
border:Boolean

Specifies whether the text field has a border. Use the borderColor property to set the border color.

Note: this property cannot be used when the useGutter property is set to false (the default value!).

In the following example, the border is enabled:

         textRenderer.border = true;
         textRenderer.borderColor = 0xff0000;

The default value is false.


Implementation
    public function get border():Boolean
    public function set border(value:Boolean):void

See also

borderColorproperty 
borderColor:uint

The color of the text field border that is displayed if the border property is set to true.

In the following example, the border color is changed:

         textRenderer.border = true;
         textRenderer.borderColor = 0xff00ff;

The default value is 0x000000.


Implementation
    public function get borderColor():uint
    public function set borderColor(value:uint):void

See also

condenseWhiteproperty 
condenseWhite:Boolean

A boolean value that specifies whether extra white space (spaces, line breaks, and so on) in a text field with HTML text is removed.

In the following example, whitespace is condensed:

         textRenderer.condenseWhite = true;

The default value is false.


Implementation
    public function get condenseWhite():Boolean
    public function set condenseWhite(value:Boolean):void

See also

disabledTextFormatproperty 
disabledTextFormat:TextFormat

The font and styles used to draw the text when the component is disabled.

In the following example, the disabled text format is changed:

         textRenderer.isEnabled = false;
         textRenderer.disabledTextFormat = new TextFormat( "Source Sans Pro" );

The default value is null.


Implementation
    public function get disabledTextFormat():TextFormat
    public function set disabledTextFormat(value:TextFormat):void

See also

displayAsPasswordproperty 
displayAsPassword:Boolean

Specifies whether the text field is a password text field that hides the input characters using asterisks instead of the actual characters.

In the following example, the text is displayed as a password:

         textRenderer.displayAsPassword = true;

The default value is false.


Implementation
    public function get displayAsPassword():Boolean
    public function set displayAsPassword(value:Boolean):void

See also

embedFontsproperty 
embedFonts:Boolean

Determines if the TextField should use an embedded font or not. If the specified font is not embedded, the text is not displayed.

In the following example, the font is embedded:

         textRenderer.embedFonts = true;

The default value is false.


Implementation
    public function get embedFonts():Boolean
    public function set embedFonts(value:Boolean):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all TextFieldTextRenderer components.

The default value is null.

See also

gridFitTypeproperty 
gridFitType:String

Determines whether Flash Player forces strong horizontal and vertical lines to fit to a pixel or subpixel grid, or not at all using the constants defined in the flash.text.GridFitType class. This property applies only if the antiAliasType property of the text field is set to flash.text.AntiAliasType.ADVANCED.

In the following example, the grid fit type is changed:

         textRenderer.gridFitType = GridFitType.SUBPIXEL;

The default value is flash.text.GridFitType.PIXEL.


Implementation
    public function get gridFitType():String
    public function set gridFitType(value:String):void

See also

isHTMLproperty 
isHTML:Boolean

Determines if the TextField should display the text as HTML or not.

In the following example, the text is displayed as HTML:

         textRenderer.isHTML = true;
         textRenderer.text = "<span class='heading'>hello</span> world!";

The default value is false.


Implementation
    public function get isHTML():Boolean
    public function set isHTML(value:Boolean):void

See also

maxTextureDimensionsproperty 
maxTextureDimensions:int

The maximum size of individual textures that are managed by this text renderer. Must be a power of 2. A larger value will create fewer individual textures, but a smaller value may use less overall texture memory by incrementing over smaller powers of two.

In the following example, the maximum size of the textures is changed:

         renderer.maxTextureDimensions = 4096;

The default value is 2048.


Implementation
    public function get maxTextureDimensions():int
    public function set maxTextureDimensions(value:int):void
nativeFiltersproperty 
nativeFilters:Array

Native filters to pass to the flash.text.TextField before creating the texture snapshot.

In the following example, the native filters are changed:

         renderer.nativeFilters = [ new GlowFilter() ];

The default value is null.


Implementation
    public function get nativeFilters():Array
    public function set nativeFilters(value:Array):void

See also

sharpnessproperty 
sharpness:Number

The sharpness of the glyph edges in this text field. This property applies only if the antiAliasType property of the text field is set to flash.text.AntiAliasType.ADVANCED. The range for sharpness is a number from -400 to 400.

In the following example, the sharpness is changed:

         textRenderer.sharpness = 200;

The default value is 0.


Implementation
    public function get sharpness():Number
    public function set sharpness(value:Number):void

See also

snapToPixelsproperty 
snapToPixels:Boolean

Determines if the text should be snapped to the nearest whole pixel when rendered. When this is false, text may be displayed on sub-pixels, which often results in blurred rendering due to texture smoothing.

In the following example, the text is not snapped to pixels:

         textRenderer.snapToPixels = false;

The default value is true.


Implementation
    public function get snapToPixels():Boolean
    public function set snapToPixels(value:Boolean):void
styleSheetproperty 
styleSheet:StyleSheet

The StyleSheet object to pass to the TextField.

In the following example, a style sheet is applied:

         var style:StyleSheet = new StyleSheet();
         var heading:Object = new Object();
         heading.fontWeight = "bold";
         heading.color = "#FF0000";
                  var body:Object = new Object();
         body.fontStyle = "italic";
                  style.setStyle(".heading", heading);
         style.setStyle("body", body);
                  textRenderer.styleSheet = style;
         textRenderer.isHTML = true;
         textRenderer.text = "<body><span class='heading'>Hello</span> World...</body>";

The default value is null.


Implementation
    public function get styleSheet():StyleSheet
    public function set styleSheet(value:StyleSheet):void

See also

textproperty 
text:String

The text to render.

If using the Label component, this property should be set on the Label, and it will be passed down to the text renderer.

The default value is "".


Implementation
    public function get text():String
    public function set text(value:String):void

See also

textFieldproperty 
protected var textField:TextField

The TextField instance used to render the text before taking a texture snapshot.

textFormatproperty 
textFormat:TextFormat

The font and styles used to draw the text.

In the following example, the text format is changed:

         textRenderer.textFormat = new TextFormat( "Source Sans Pro" );

The default value is null.


Implementation
    public function get textFormat():TextFormat
    public function set textFormat(value:TextFormat):void

See also

textSnapshotproperty 
protected var textSnapshot:Image

An image that displays a snapshot of the native TextField in the Starling display list when the editor doesn't have focus.

textSnapshotsproperty 
protected var textSnapshots:Vector.<Image>

If multiple snapshots are needed due to texture size limits, the snapshots appearing after the first are stored here.

thicknessproperty 
thickness:Number

The thickness of the glyph edges in this text field. This property applies only if the antiAliasType property is set to flash.text.AntiAliasType.ADVANCED. The range for thickness is a number from -200 to 200.

In the following example, the thickness is changed:

         textRenderer.thickness = 100;

The default value is 0.


Implementation
    public function get thickness():Number
    public function set thickness(value:Number):void

See also

updateSnapshotOnScaleChangeproperty 
updateSnapshotOnScaleChange:Boolean

Refreshes the texture snapshot every time that the text renderer is scaled. Based on the scale in global coordinates, so scaling the parent will require a new snapshot.

Warning: setting this property to true may result in reduced performance because every change of the scale requires uploading a new texture to the GPU. Use with caution. Consider setting this property to false temporarily during animations that modify the scale.

In the following example, the snapshot will be updated when the text renderer is scaled:

         textRenderer.updateSnapshotOnScaleChange = true;

The default value is false.


Implementation
    public function get updateSnapshotOnScaleChange():Boolean
    public function set updateSnapshotOnScaleChange(value:Boolean):void
useGutterproperty 
useGutter:Boolean

Determines if the 2-pixel gutter around the edges of the flash.text.TextField will be used in measurement and layout. To visually align with other text renderers and text editors, it is often best to leave the gutter disabled.

In the following example, the gutter is enabled:

         textEditor.useGutter = true;

The default value is false.


Implementation
    public function get useGutter():Boolean
    public function set useGutter(value:Boolean):void
useSnapshotDelayWorkaroundproperty 
useSnapshotDelayWorkaround:Boolean

Fixes an issue where flash.text.TextField renders incorrectly when drawn to BitmapData by waiting one frame.

Warning: enabling this workaround may cause slight flickering after the text property is changed.

In the following example, the workaround is enabled:

         textRenderer.useSnapshotDelayWorkaround = true;

The default value is false.


Implementation
    public function get useSnapshotDelayWorkaround():Boolean
    public function set useSnapshotDelayWorkaround(value:Boolean):void
wordWrapproperty 
wordWrap:Boolean

Determines if the text wraps to the next line when it reaches the width (or max width) of the component.

If using the Label component, this property should be set on the Label, and it will be passed down to the text renderer automatically.

The default value is false.


Implementation
    public function get wordWrap():Boolean
    public function set wordWrap(value:Boolean):void

See also

Constructor Detail
TextFieldTextRenderer()Constructor
public function TextFieldTextRenderer()

Constructor.

Method Detail
autoSizeIfNeeded()method
protected function autoSizeIfNeeded():Boolean

If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself. If the explicitWidth or explicitHeight member variables are set, those value will be used without additional measurement. If one is set, but not the other, the dimension with the explicit value will not be measured, but the other non-explicit dimension will still need measurement.

Calls setSizeInternal() to set up the actualWidth and actualHeight member variables used for layout.

Meant for internal use, and subclasses may override this function with a custom implementation.

Returns
Boolean
measureText()method 
public function measureText(result:Point = null):Point

Measures the text's bounds (without a full validation, if possible).

Parameters

result:Point (default = null)

Returns
Point