Package | feathers.controls.text |
Class | public class TextBlockTextRenderer |
Inheritance | TextBlockTextRenderer BaseTextRenderer FeathersControl starling.display.Sprite |
Implements | ITextRenderer |
Subclasses | TextBlockTextEditor |
Product Version : | Feathers 1.3.0 |
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 );
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
Property | Defined By | ||
---|---|---|---|
addedEffect : 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 | ||
defaultTextEditorFactory : Function [static]
A function used by all UI controls that support text editor to
create an ITextEditor instance. | FeathersControl | ||
defaultTextRendererFactory : Function [static]
A function used by all UI controls that support text renderers to
create an ITextRenderer instance. | FeathersControl | ||
depth : 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 | ||
effectsSuspended : 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 | ||
explicitHeight : Number [read-only]
The height value explicitly set by passing a value to the
height setter or by calling the setSize()
function. | FeathersControl | ||
explicitMaxHeight : Number [read-only]
The maximum height value explicitly set by passing a value to the
maxHeight setter. | FeathersControl | ||
explicitMaxWidth : Number [read-only]
The maximum width value explicitly set by passing a value to the
maxWidth setter. | FeathersControl | ||
explicitMinHeight : Number [read-only]
The minimum height value explicitly set by passing a value to the
minHeight setter. | FeathersControl | ||
explicitMinWidth : Number [read-only]
The minimum width value explicitly set by passing a value to the
minWidth setter. | FeathersControl | ||
explicitWidth : Number [read-only]
The width value explicitly set by passing a value to the
width setter or to the setSize() method. | FeathersControl | ||
focusInEffect : Function
An optional effect that is activated when the component receives
focus. | FeathersControl | ||
focusManager : 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 | ||
focusOutEffect : Function
An optional effect that is activated when the component loses focus. | FeathersControl | ||
focusOwner : 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 | ||
fontStyles : 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 | ||
height : Number [override]
The height of the component, in pixels. | FeathersControl | ||
hideEffect : Function
An optional effect that is activated when the component is hidden. | FeathersControl | ||
includeInLayout : Boolean
Determines if the ILayout should use this object or ignore it. | FeathersControl | ||
isCreated : Boolean [read-only]
Determines if the component has been initialized and validated for
the first time. | FeathersControl | ||
isEnabled : Boolean
Indicates whether the control is interactive or not. | FeathersControl | ||
isFocusEnabled : 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 | ||
isInitialized : Boolean [read-only]
Determines if the component has been initialized yet. | FeathersControl | ||
isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list. | FeathersControl | ||
isShowingFocus : 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 | ||
layoutData : 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 | ||
maintainTouchFocus : 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 | ||
maxHeight : 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 | ||
maxWidth : Number
The maximum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
minHeight : Number
The minimum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
minTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's
height is smaller than this value, it will be expanded. | FeathersControl | ||
minTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's
width is smaller than this value, it will be expanded. | FeathersControl | ||
minWidth : Number
The minimum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
moveEffect : 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 | ||
nextDownFocus : 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 | ||
nextLeftFocus : 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 | ||
nextRightFocus : 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 | ||
nextTabFocus : 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 | ||
nextUpFocus : 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 | ||
previousTabFocus : 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 | ||
resizeEffect : 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 | ||
showEffect : Function
An optional effect that is activated when the component is shown. | FeathersControl | ||
stateContext : 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 | ||
styleName : String
The concatenated styleNameList, with values separated
by spaces. | FeathersControl | ||
styleNameList : TokenList [read-only]
Contains a list of all "styles" assigned to this control. | FeathersControl | ||
styleProvider : 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 | ||
text : 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 | ||
toolTip : 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 | ||
width : 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. | BaseTextRenderer |
Property | Defined By | ||
---|---|---|---|
actualHeight : Number = 0
The final height value that should be used for layout. | FeathersControl | ||
actualMinHeight : Number = 0
The final minimum height value that should be used for layout. | FeathersControl | ||
actualMinWidth : Number = 0
The final minimum width value that should be used for layout. | FeathersControl | ||
actualWidth : Number = 0
The final width value that should be used for layout. | FeathersControl | ||
defaultStyleProvider : 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 |
Method | Defined By | ||
---|---|---|---|
Constructor. | TextBlockTextRenderer | ||
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 | ||
hideFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | ||
initializeNow():void
If the component has not yet initialized, initializes immediately. | FeathersControl | ||
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending. | FeathersControl | ||
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 | ||
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single
function call. | FeathersControl | ||
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent. | FeathersControl | ||
resetStyleProvider():void
Resets the styleProvider property to its default value,
which is usually the global style provider for the component. | FeathersControl | ||
resumeEffects():void
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 | ||
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single
function call. | FeathersControl | ||
showFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | ||
suspendEffects():void
Indicates that effects should not be activated temporarily. | FeathersControl | ||
validate():void
Immediately validates the display object, if it is invalid. | FeathersControl |
Method | Defined By | ||
---|---|---|---|
autoSizeIfNeeded():Boolean
If the component's dimensions have not been set explicitly, it will
measure its content and determine an ideal size for itself. | TextBlockTextRenderer | ||
clearInvalidationFlag(flag:String):void
Clears an invalidation flag. | FeathersControl | ||
draw():void
Override to customize layout and to adjust properties of children. | FeathersControl | ||
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 | ||
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 | ||
ignoreNextStyleRestriction():void
The next style that is set will not be restricted. | FeathersControl | ||
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 | ||
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 | ||
refreshFocusIndicator():void
Updates the focus indicator skin by showing or hiding it and
adjusting its position and dimensions. | FeathersControl | ||
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the
component. | FeathersControl | ||
setInvalidationFlag(flag:String):void
Sets an invalidation flag. | FeathersControl | ||
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of
invalidating or not. | FeathersControl |
applyNonLinearFontScaling | property |
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
.
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
See also
baseline | property |
baseline:Number
[read-only] Returns the text baseline measurement, in pixels.
public function get baseline():Number
baselineFontDescription | property |
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
.
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
See also
baselineFontSize | property |
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
.
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
See also
baselineZero | property |
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
.
public function get baselineZero():String
public function set baselineZero(value:String):void
See also
bidiLevel | property |
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
.
public function get bidiLevel():int
public function set bidiLevel(value:int):void
See also
content | property |
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
.
public function get content():ContentElement
public function set content(value:ContentElement):void
See also
currentElementFormat | property |
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.
public function get currentElementFormat():ElementFormat
disabledElementFormat | property |
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
.
public function get disabledElementFormat():ElementFormat
public function set disabledElementFormat(value:ElementFormat):void
See also
elementFormat | property |
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
.
public function get elementFormat():ElementFormat
public function set elementFormat(value:ElementFormat):void
See also
globalStyleProvider | property |
public static var globalStyleProvider:IStyleProvider
The default IStyleProvider
for all TextBlockTextRenderer
components.
The default value is null
.
See also
leading | property |
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
.
public function get leading():Number
public function set leading(value:Number):void
lineRotation | property |
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
.
public function get lineRotation():String
public function set lineRotation(value:String):void
See also
maxTextureDimensions | property |
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
.
public function get maxTextureDimensions():int
public function set maxTextureDimensions(value:int):void
nativeFilters | property |
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
.
public function get nativeFilters():Array
public function set nativeFilters(value:Array):void
See also
numLines | property |
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.
public function get numLines():int
pixelSnapping | property |
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
.
public function get pixelSnapping():Boolean
public function set pixelSnapping(value:Boolean):void
selectedElementFormat | property |
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
.
public function get selectedElementFormat():ElementFormat
public function set selectedElementFormat(value:ElementFormat):void
See also
tabStops | property |
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
.
public function get tabStops():Vector.<TabStop>
public function set tabStops(value:Vector.<TabStop>):void
See also
textAlign | property |
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
.
public function get textAlign():String
public function set textAlign(value:String):void
See also
textBlock | property |
protected var textBlock:TextBlock
The TextBlock instance used to render the text before taking a texture snapshot.
textJustifier | property |
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 );
public function get textJustifier():TextJustifier
public function set textJustifier(value:TextJustifier):void
See also
textSnapshot | property |
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.
textSnapshots | property |
protected var textSnapshots:Vector.<Image>
If multiple snapshots are needed due to texture size limits, the snapshots appearing after the first are stored here.
truncateToFit | property |
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
.
public function get truncateToFit():Boolean
public function set truncateToFit(value:Boolean):void
See also
truncationText | property |
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 "..."
.
public function get truncationText():String
public function set truncationText(value:String):void
See also
updateSnapshotOnScaleChange | property |
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
.
public function get updateSnapshotOnScaleChange():Boolean
public function set updateSnapshotOnScaleChange(value:Boolean):void
userData | property |
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" };
public function get userData():*
public function set userData(value:any):void
See also
TextBlockTextRenderer | () | Constructor |
public function TextBlockTextRenderer()
Constructor.
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.
ReturnsBoolean |
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 |
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 )
|
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