Packagefeathers.controls.text
Classpublic class TextBlockTextRenderer
InheritanceTextBlockTextRenderer Inheritance BaseTextRenderer Inheritance FeathersControl Inheritance starling.display.Sprite
Implements ITextRenderer
Subclasses TextBlockTextEditor

Product Version : Feathers 1.3.0

Renders text with a native flash.text.engine.TextBlock from Flash Text Engine (sometimes abbreviated as FTE), and draws it to BitmapData before uploading it to a texture on the GPU. Textures are managed internally 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.

The following example shows how to use TextBlockTextRenderer with a Label:

var label:Label = new Label();
label.text = "I am the very model of a modern Major General";
label.textRendererFactory = function():ITextRenderer
{
    return new TextBlockTextRenderer();
};
this.addChild( label );
Embedding Fonts

This text renderer supports embedded TrueType or OpenType fonts.

In the following example, a TrueType font is included with [Embed] metadata:

[Embed(source="path/to/font.ttf",fontFamily="MyCustomFont",fontWeight="normal",fontStyle="normal",mimeType="application/x-font",embedAsCFF="true")]
private static const MY_CUSTOM_FONT:Class;

The source field should point to the font file, relative to the current .as file that contains the metadata.

Set the fontFamily field to the string value that you want to use when referencing this font in code. For example, you would use this name when you create a starling.text.TextFormat object. Replace "MyCustomFont" with an appropriate name for your font.

Tip: For best results, try not to set the exact same name in the fontFamily field as the name of device font installed on your system. Debugging embedded font issues can be frustrating when you see the correct font on your development computer, but it's a different font on other devices. If you use a font name that doesn't exist on your development computer, you'll see when something is wrong immediately, instead of discovering it later when you're testing on other devices.

If the font is bold, set the fontWeight field to "bold". Otherwise, set it to "normal".

If the font is italic, set the fontStyle field to "italic". Otherwise, set it to "normal".

Since the text renderer is based on Flash Text Engine, you must set the embedAsCFF field to "true".

See also

Introduction to Feathers text renderers
How to use the Feathers TextBlockTextRenderer component
Using the Flash Text Engine in ActionScript 3.0 Developer's Guide
flash.text.engine.TextBlock


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
  applyNonLinearFontScaling : Boolean
Specifies that you want to enhance screen appearance at the expense of what-you-see-is-what-you-get (WYSIWYG) print fidelity.
TextBlockTextRenderer
  baseline : Number
[read-only] Returns the text baseline measurement, in pixels.
TextBlockTextRenderer
  baselineFontDescription : FontDescription
The font used to determine the baselines for all the lines created from the block, independent of their content.
TextBlockTextRenderer
  baselineFontSize : Number
The font size used to calculate the baselines for the lines created from the block.
TextBlockTextRenderer
  baselineZero : String
Specifies which baseline is at y=0 for lines created from this block.
TextBlockTextRenderer
  bidiLevel : int
Specifies the bidirectional paragraph embedding level of the text block.
TextBlockTextRenderer
  content : ContentElement
Sets the contents of the TextBlock to a complex value that may contain graphics and text with multiple formats.
TextBlockTextRenderer
  currentElementFormat : ElementFormat
[read-only] For debugging purposes, the current flash.text.engine.ElementFormat used to render the text.
TextBlockTextRenderer
 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
  disabledElementFormat : ElementFormat
Advanced font formatting used to draw the text when the component is disabled, if disabledFontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.
TextBlockTextRenderer
 InheritedeffectsSuspended : Boolean
[read-only] Indicates if effects have been suspended.
FeathersControl
  elementFormat : ElementFormat
Advanced font formatting used to draw the text, if fontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.
TextBlockTextRenderer
 InheritedexplicitHeight : Number
[read-only] The height value explicitly set by passing a value to the height setter or by calling the setSize() function.
FeathersControl
 InheritedexplicitMaxHeight : Number
[read-only] The maximum height value explicitly set by passing a value to the maxHeight setter.
FeathersControl
 InheritedexplicitMaxWidth : Number
[read-only] The maximum width value explicitly set by passing a value to the maxWidth setter.
FeathersControl
 InheritedexplicitMinHeight : Number
[read-only] The minimum height value explicitly set by passing a value to the minHeight setter.
FeathersControl
 InheritedexplicitMinWidth : Number
[read-only] The minimum width value explicitly set by passing a value to the minWidth setter.
FeathersControl
 InheritedexplicitWidth : Number
[read-only] The width value explicitly set by passing a value to the width setter or to the setSize() method.
FeathersControl
 InheritedfocusInEffect : Function
An optional effect that is activated when the component receives focus.
FeathersControl
 InheritedfocusManager : IFocusManager
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The current focus manager for this component.
FeathersControl
 InheritedfocusOutEffect : Function
An optional effect that is activated when the component loses focus.
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Used for associating focusable display objects that are not direct children with an "owner" focusable display object, such as pop-ups.
FeathersControl
 InheritedfontStyles : FontStylesSet
The internal font styles used to render the text that are passed down from the parent component.
BaseTextRenderer
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all TextBlockTextRenderer components.
TextBlockTextRenderer
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedhideEffect : Function
An optional effect that is activated when the component is hidden.
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
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedisShowingFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Indicates if the showFocus() method has been called on the object when it has focus.
FeathersControl
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  leading : Number
The amount of vertical space, in pixels, between lines.
TextBlockTextRenderer
  lineRotation : String
Rotates the text lines in the text block as a unit.
TextBlockTextRenderer
 InheritedmaintainTouchFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. If true, the display object should remain in focus, even if something else is touched.
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.
TextBlockTextRenderer
 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
 InheritedmoveEffect : Function
An optional effect that is activated when the component is moved to a new position.
FeathersControl
  nativeFilters : Array
Native filters to pass to the flash.text.engine.TextLine instances before creating the texture snapshot.
TextBlockTextRenderer
 InheritednextDownFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.DOWN is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextLeftFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.LEFT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextRightFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.RIGHT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when the tab key is pressed when a focus manager is enabled.
FeathersControl
 InheritednextUpFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.UP is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
  numLines : int
[read-only] The number of text lines in the text renderer.
TextBlockTextRenderer
  pixelSnapping : Boolean
Determines if the text should be snapped to the nearest whole pixel when rendered.
TextBlockTextRenderer
 InheritedpreviousTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The previous object that will receive focus when the tab key is pressed while holding shift when a focus manager is enabled.
FeathersControl
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
  selectedElementFormat : ElementFormat
Advanced font formatting used to draw the text when the stateContext is selected, if selectedFontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.
TextBlockTextRenderer
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 InheritedstateContext : IStateContext
When the text renderer observes a state context, the text renderer may change its font styles based on the current state of that context.
BaseTextRenderer
 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
  tabStops : Vector.<TabStop>
Specifies the tab stops for the text in the text block, in the form of a Vector of TabStop objects.
TextBlockTextRenderer
 Inheritedtext : String
The text to render.
BaseTextRenderer
  textAlign : String
The alignment of the text.
TextBlockTextRenderer
  textJustifier : TextJustifier
Specifies the TextJustifier to use during line creation.
TextBlockTextRenderer
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
  truncateToFit : Boolean
If word wrap is disabled, and the text is longer than the width of the label, the text may be truncated using truncationText.
TextBlockTextRenderer
  truncationText : String
The text to display at the end of the label if it is truncated.
TextBlockTextRenderer
  updateSnapshotOnScaleChange : Boolean
Refreshes the texture snapshot every time that the text renderer is scaled.
TextBlockTextRenderer
  userData : *
Provides a way for the application to associate arbitrary data with the text block.
TextBlockTextRenderer
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
 InheritedwordWrap : Boolean
Determines if the text wraps to the next line when it reaches the width (or max width) of the component.
BaseTextRenderer
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualMinHeight : Number = 0
The final minimum height value that should be used for layout.
FeathersControl
 InheritedactualMinWidth : Number = 0
The final minimum width 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 styleProvider property is set to this value.
FeathersControl
  textBlock : TextBlock
The TextBlock instance used to render the text before taking a texture snapshot.
TextBlockTextRenderer
  textSnapshot : Image
An image that displays a snapshot of the native TextBlock in the Starling display list when the editor doesn't have focus.
TextBlockTextRenderer
  textSnapshots : Vector.<Image>
If multiple snapshots are needed due to texture size limits, the snapshots appearing after the first are stored here.
TextBlockTextRenderer
Public Methods
 MethodDefined By
  
Constructor.
TextBlockTextRenderer
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Feathers components use an optimized getBounds() implementation that may sometimes behave differently than regular Starling display objects.
FeathersControl
  
getElementFormatForState(state:String):ElementFormat
Gets the advanced ElementFormat font formatting passed in using setElementFormatForState() for the specified state.
TextBlockTextRenderer
 Inherited
hideFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
If the component has not yet initialized, initializes immediately.
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).
TextBlockTextRenderer
 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
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
 Inherited
Resets the styleProvider property to its default value, which is usually the global style provider for the component.
FeathersControl
 Inherited
Indicates that effects should be re-activated after being suspended.
FeathersControl
  
setElementFormatForState(state:String, elementFormat:ElementFormat):void
Sets the advanced ElementFormat font formatting to be used by the text renderer when the currentState property of the stateContext matches the specified state value.
TextBlockTextRenderer
 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
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
Indicates that effects should not be activated temporarily.
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.
TextBlockTextRenderer
 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
The next style that is set will not be restricted.
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
processStyleRestriction(key:Object):Boolean
Used by setters for properties that are considered "styles" to determine if the setter has been called directly on the component or from a style provider.
FeathersControl
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the component.
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
Styles
 StyleDefined By
 Inherited
focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 Inherited
focusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
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
applyNonLinearFontScalingproperty
applyNonLinearFontScaling:Boolean

Specifies that you want to enhance screen appearance at the expense of what-you-see-is-what-you-get (WYSIWYG) print fidelity.

In the following example, this property is changed to false:

textRenderer.applyNonLinearFontScaling = false;

The default value is true.


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

See also

baselineproperty 
baseline:Number  [read-only]

Returns the text baseline measurement, in pixels.


Implementation
    public function get baseline():Number
baselineFontDescriptionproperty 
baselineFontDescription:FontDescription

The font used to determine the baselines for all the lines created from the block, independent of their content.

In the following example, the baseline font description is changed:

textRenderer.baselineFontDescription = new FontDescription( "Source Sans Pro", FontWeight.BOLD );

The default value is null.


Implementation
    public function get baselineFontDescription():FontDescription
    public function set baselineFontDescription(value:FontDescription):void

See also

baselineFontSizeproperty 
baselineFontSize:Number

The font size used to calculate the baselines for the lines created from the block.

In the following example, the baseline font size is changed:

textRenderer.baselineFontSize = 20;

The default value is 12.


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

See also

baselineZeroproperty 
baselineZero:String

Specifies which baseline is at y=0 for lines created from this block.

In the following example, the baseline zero is changed:

textRenderer.baselineZero = TextBaseline.ASCENT;

The default value is TextBaseline.ROMAN.


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

See also

bidiLevelproperty 
bidiLevel:int

Specifies the bidirectional paragraph embedding level of the text block.

In the following example, the bidi level is changed:

textRenderer.bidiLevel = 1;

The default value is 0.


Implementation
    public function get bidiLevel():int
    public function set bidiLevel(value:int):void

See also

contentproperty 
content:ContentElement

Sets the contents of the TextBlock to a complex value that may contain graphics and text with multiple formats.

In the following example, the content is set to a GroupElement that contains text with multiple formats:

var format1:ElementFormat = new ElementFormat(new FontDescription("_sans"), 20, 0x000000);
var format2:ElementFormat = new ElementFormat(new FontDescription("_sans"), 20, 0xff0000);
var format3:ElementFormat = new ElementFormat(new FontDescription("_sans", FontWeight.NORMAL, FontPosture.ITALIC), 20, 0x000000);
var text1:TextElement = new TextElement("Different ", format1);
var text2:TextElement = new TextElement("colors", format2);
var text3:TextElement = new TextElement(" and ", format1);
var text4:TextElement = new TextElement("styles", format3);
var elements:Vector.<ContentElement> = new <ContentElement>[text1, text2, text3, text4];
var group:GroupElement = new GroupElement(elements);
var textRenderer:TextBlockTextRenderer = new TextBlockTextRenderer();
textRenderer.content = group;

In the following example, the content is set to a GroupElement that contains both text and a bitmap graphic:

var format:ElementFormat = new ElementFormat(new FontDescription("_sans"), 20);
var text:TextElement = new TextElement("Hi there! ", format);
var bitmap:Bitmap = new EmbeddedBitmap(); //a bitmap included with [Embed]
var graphic:GraphicElement = new GraphicElement(bitmap, bitmap.width, bitmap.height, format);
var elements:Vector.<ContentElement> = new <ContentElement>[text, graphic];
var group:GroupElement = new GroupElement(elements);
var textRenderer:TextBlockTextRenderer = new TextBlockTextRenderer();
textRenderer.content = group;

Note: The content property cannot be used when the TextBlockTextRenderer receives its text from a parent component, such as a Label or a Button.

The default value is null.


Implementation
    public function get content():ContentElement
    public function set content(value:ContentElement):void

See also

currentElementFormatproperty 
currentElementFormat:ElementFormat  [read-only]

For debugging purposes, the current flash.text.engine.ElementFormat used to render the text. Updated during validation, and may be null before the first validation.

Do not modify this value. It is meant for testing and debugging only. Use the parent's starling.text.TextFormat font styles APIs instead.


Implementation
    public function get currentElementFormat():ElementFormat
disabledElementFormatproperty 
disabledElementFormat:ElementFormat

Advanced font formatting used to draw the text when the component is disabled, if disabledFontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.

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

textRenderer.isEnabled = false;
textRenderer.disabledElementFormat = new ElementFormat( new FontDescription( "Source Sans Pro" ) );

Warning: If this property is not null, any starling.text.TextFormat font styles that are passed in from the parent component may be ignored. In other words, advanced font styling with ElementFormat will always take precedence.

Warning: This property will be ignored if the content property is customized with Flash Text Engine rich text objects such as GroupElement and GraphicElement.

The default value is null.


Implementation
    public function get disabledElementFormat():ElementFormat
    public function set disabledElementFormat(value:ElementFormat):void

See also

elementFormatproperty 
elementFormat:ElementFormat

Advanced font formatting used to draw the text, if fontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.

In the following example, the element format is changed:

textRenderer.elementFormat = new ElementFormat( new FontDescription( "Source Sans Pro" ) );

Warning: If this property is not null, any starling.text.TextFormat font styles that are passed in from the parent component may be ignored. In other words, advanced font styling with ElementFormat will always take precedence.

Warning: This property will be ignored if the content property is customized with Flash Text Engine rich text objects such as GroupElement and GraphicElement.

The default value is null.


Implementation
    public function get elementFormat():ElementFormat
    public function set elementFormat(value:ElementFormat):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all TextBlockTextRenderer components.

The default value is null.

See also

leadingproperty 
leading:Number

The amount of vertical space, in pixels, between lines.

If leading is NaN the leading from the starling.text.TextFormat font styles may be used. If no starling.text.TextFormat font styles have been provided by the parent component, the leading will default to 0.

In the following example, the leading is changed to 20 pixels:

textRenderer.leading = 20;

The default value is NaN.


Implementation
    public function get leading():Number
    public function set leading(value:Number):void
lineRotationproperty 
lineRotation:String

Rotates the text lines in the text block as a unit.

In the following example, the line rotation is changed:

textRenderer.lineRotation = TextRotation.ROTATE_90;

The default value is TextRotation.ROTATE_0.


Implementation
    public function get lineRotation():String
    public function set lineRotation(value:String):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.engine.TextLine instances 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

numLinesproperty 
numLines:int  [read-only]

The number of text lines in the text renderer. The text renderer may contain multiple text lines if the text contains line breaks or if the wordWrap property is enabled.


Implementation
    public function get numLines():int
pixelSnappingproperty 
pixelSnapping: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.pixelSnapping = false;

The default value is true.


Implementation
    public function get pixelSnapping():Boolean
    public function set pixelSnapping(value:Boolean):void
selectedElementFormatproperty 
selectedElementFormat:ElementFormat

Advanced font formatting used to draw the text when the stateContext is selected, if selectedFontStyles and starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.

In the following example, the selected element format is changed:

textRenderer.selectedElementFormat = new ElementFormat( new FontDescription( "Source Sans Pro" ) );

Warning: If this property is not null, any starling.text.TextFormat font styles that are passed in from the parent component may be ignored. In other words, advanced font styling with ElementFormat will always take precedence.

Warning: This property will be ignored if the content property is customized with Flash Text Engine rich text objects such as GroupElement and GraphicElement.

The default value is null.


Implementation
    public function get selectedElementFormat():ElementFormat
    public function set selectedElementFormat(value:ElementFormat):void

See also

tabStopsproperty 
tabStops:Vector.<TabStop>

Specifies the tab stops for the text in the text block, in the form of a Vector of TabStop objects.

In the following example, the tab stops changed:

textRenderer.tabStops = new <TabStop>[ new TabStop( TabAlignment.CENTER ) ];

The default value is null.


Implementation
    public function get tabStops():Vector.<TabStop>
    public function set tabStops(value:Vector.<TabStop>):void

See also

textAlignproperty 
textAlign:String

The alignment of the text. For justified text, see the textJustifier property.

If textAlign is null the horizontal alignment from the starling.text.TextFormat font styles may be used. If no starling.text.TextFormat font styles have been provided by the parent component, the alignment will default to HorizontalAlign.LEFT.

In the following example, the text alignment is changed:

textRenderer.textAlign = HorizontalAlign.CENTER;

The default value is null.


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

See also

textBlockproperty 
protected var textBlock:TextBlock

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

textJustifierproperty 
textJustifier:TextJustifier

Specifies the TextJustifier to use during line creation.

In the following example, the text justifier is changed:

textRenderer.textJustifier = new SpaceJustifier( "en", LineJustification.ALL_BUT_LAST );


Implementation
    public function get textJustifier():TextJustifier
    public function set textJustifier(value:TextJustifier):void

See also

textSnapshotproperty 
protected var textSnapshot:Image

An image that displays a snapshot of the native TextBlock 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.

truncateToFitproperty 
truncateToFit:Boolean

If word wrap is disabled, and the text is longer than the width of the label, the text may be truncated using truncationText.

This feature may be disabled to improve performance.

This feature only works when the text property is set to a string value. If the content property is set instead, then the content will not be truncated.

This feature does not currently support the truncation of text displayed on multiple lines.

In the following example, truncation is disabled:

textRenderer.truncateToFit = false;

The default value is true.


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

See also

truncationTextproperty 
truncationText:String

The text to display at the end of the label if it is truncated.

In the following example, the truncation text is changed:

textRenderer.truncationText = " [more]";

The default value is "...".


Implementation
    public function get truncationText():String
    public function set truncationText(value:String):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
userDataproperty 
userData:*

Provides a way for the application to associate arbitrary data with the text block.

In the following example, the user data is changed:

textRenderer.userData = { author: "William Shakespeare", title: "Much Ado About Nothing" };


Implementation
    public function get userData():*
    public function set userData(value:any):void

See also

Constructor Detail
TextBlockTextRenderer()Constructor
public function TextBlockTextRenderer()

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 saveMeasurements() 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
getElementFormatForState()method 
public function getElementFormatForState(state:String):ElementFormat

Gets the advanced ElementFormat font formatting passed in using setElementFormatForState() for the specified state.

If an ElementFormat is not defined for a specific state, returns null.

Parameters

state:String

Returns
ElementFormat

See also

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
setElementFormatForState()method 
public function setElementFormatForState(state:String, elementFormat:ElementFormat):void

Sets the advanced ElementFormat font formatting to be used by the text renderer when the currentState property of the stateContext matches the specified state value. For advanced use cases where starling.text.TextFormat cannot be used on the parent component because the full capabilities of Flash Text Engine are required.

If an ElementFormat is not defined for a specific state, the value of the elementFormat property will be used instead.

If the disabledElementFormat property is not null and the isEnabled property is false, all other element formats will be ignored.

Parameters

state:String
 
elementFormat:ElementFormat

See also