Package | feathers.controls.text |
Class | public class TextBlockTextRenderer |
Inheritance | TextBlockTextRenderer ![]() ![]() |
Implements | ITextRenderer |
Subclasses | TextBlockTextEditor |
flash.text.engine.TextBlock
from
Flash Text Engine (FTE), 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
Property | Defined By | ||
---|---|---|---|
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 is more than simple 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
The font and styles used to draw the text when the component is
disabled. | TextBlockTextRenderer | ||
elementFormat : ElementFormat
The font and styles used to draw the text. | TextBlockTextRenderer | ||
![]() | focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be
displayed above the component when showFocus() is
called. | FeathersControl | |
![]() | focusManager : IFocusManager | FeathersControl | |
![]() | focusOwner : IFocusDisplayObject | FeathersControl | |
![]() | focusPadding : Number
Quickly sets all focus padding properties to the same value. | FeathersControl | |
![]() | focusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the
bottom edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the
left edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the
right edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingTop : 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 TextBlockTextRenderer
components. | TextBlockTextRenderer | ||
![]() | height : Number [override]
The height of the component, in pixels. | 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 | 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 | |
![]() | 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 | ||
![]() | 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 | |
nativeFilters : Array
Native filters to pass to the flash.text.engine.TextLine
instances before creating the texture snapshot. | TextBlockTextRenderer | ||
![]() | nextTabFocus : IFocusDisplayObject | FeathersControl | |
![]() | previousTabFocus : IFocusDisplayObject | FeathersControl | |
snapToPixels : Boolean
Determines if the text should be snapped to the nearest whole pixel
when rendered. | TextBlockTextRenderer | ||
![]() | 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. | TextBlockTextRenderer | ||
textAlign : String
The alignment of the text. | TextBlockTextRenderer | ||
textJustifier : TextJustifier
Specifies the TextJustifier to use during line creation. | TextBlockTextRenderer | ||
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. | TextBlockTextRenderer |
Property | Defined By | ||
---|---|---|---|
![]() | actualHeight : Number = 0
The final height 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
globalStyleProvider property is set to this value. | FeathersControl | |
![]() | explicitHeight : Number = NaN
The height value explicitly set by calling the height setter or
setSize(). | FeathersControl | |
![]() | explicitWidth : Number = NaN
The width value explicitly set by calling the width setter or
setSize(). | 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 | ||
![]() | hideFocus():void
If the visual indicator of focus has been displayed by
showFocus(), call this function to hide it. | 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 | |
![]() | setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single
function call. | FeathersControl | |
![]() | showFocus():void
If the object has focus, an additional visual indicator may
optionally be displayed to highlight the object. | 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 | |
![]() | 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 | |
![]() | refreshFocusIndicator():void
Updates the focus indicator skin by showing or hiding it and
adjusting its position and dimensions. | 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 |
Constant | Defined By | ||
---|---|---|---|
![]() | INVALIDATION_FLAG_ALL : String = all [static]
Flag to indicate that everything is invalid and should be redrawn. | FeathersControl | |
![]() | INVALIDATION_FLAG_DATA : String = data [static]
Invalidation flag to indicate that the primary data displayed by the
UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_FOCUS : String = focus [static]
Invalidation flag to indicate that the focus of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_LAYOUT : String = layout [static]
Invalidation flag to indicate that the layout of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SCROLL : String = scroll [static]
Invalidation flag to indicate that the scroll position of the UI
control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SELECTED : String = selected [static]
Invalidation flag to indicate that the selection of the UI control
has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SIZE : String = size [static]
Invalidation flag to indicate that the dimensions of the UI control
have changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SKIN : String = skin [static]
Invalidation flag to indicate that the skin of the UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STATE : String = state [static]
Invalidation flag to indicate that the state has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STYLES : String = styles [static]
Invalidation flag to indicate that the styles or visual appearance of
the UI control has changed. | FeathersControl | |
TEXT_ALIGN_CENTER : String = center [static]
The text will be centered horizontally. | TextBlockTextRenderer | ||
TEXT_ALIGN_LEFT : String = left [static]
The text will be positioned to the left edge. | TextBlockTextRenderer | ||
TEXT_ALIGN_RIGHT : String = right [static]
The text will be positioned to the right edge. | TextBlockTextRenderer |
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 is more than simple text. If the text
property is
set after the content
property, the content
property will be replaced with a TextElement
.
In the following example, the content is changed to a
GroupElement
:
textRenderer.content = new GroupElement( element );
To simply display a string value, use the text
property
instead:
textRenderer.text = "Lorem Ipsum";
The default value is null
.
public function get content():ContentElement
public function set content(value:ContentElement):void
See also
disabledElementFormat | property |
disabledElementFormat:ElementFormat
The font and styles used to draw the text when the component is
disabled. This property will be ignored if the content is not a
TextElement
instance.
In the following example, the disabled element format is changed:
textRenderer.isEnabled = false; textRenderer.disabledElementFormat = new ElementFormat( new FontDescription( "Source Sans Pro" ) );
The default value is null
.
public function get disabledElementFormat():ElementFormat
public function set disabledElementFormat(value:ElementFormat):void
See also
elementFormat | property |
elementFormat:ElementFormat
The font and styles used to draw the text. This property will be
ignored if the content is not a TextElement
instance.
In the following example, the element format is changed:
textRenderer.elementFormat = new ElementFormat( new FontDescription( "Source Sans Pro" ) );
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.
In the following example, the leading is changed to 20 pixels:
textRenderer.leading = 20;
The default value is 0
.
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
snapToPixels | property |
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
.
public function get snapToPixels():Boolean
public function set snapToPixels(value:Boolean):void
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
text | property |
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 null
.
public function get text():String
public function set text(value:String):void
textAlign | property |
textAlign:String
The alignment of the text. For justified text, see the
textJustifier
property.
In the following example, the leading is changed to 20 pixels:
textRenderer.textAlign = TextBlockTextRenderer.TEXT_ALIGN_CENTER;
The default value is TextBlockTextRenderer.TEXT_ALIGN_LEFT
.
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
wordWrap | property |
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
.
public function get wordWrap():Boolean
public function set wordWrap(value:Boolean):void
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 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.
ReturnsBoolean |
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 |
TEXT_ALIGN_CENTER | Constant |
public static const TEXT_ALIGN_CENTER:String = center
The text will be centered horizontally.
See also
TEXT_ALIGN_LEFT | Constant |
public static const TEXT_ALIGN_LEFT:String = left
The text will be positioned to the left edge.
See also
TEXT_ALIGN_RIGHT | Constant |
public static const TEXT_ALIGN_RIGHT:String = right
The text will be positioned to the right edge.
See also