Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flash.text.engine 
TextLineMirrorRegion 
Packageflash.text.engine
Classpublic final class TextLineMirrorRegion
InheritanceTextLineMirrorRegion Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The TextLineMirrorRegion class represents a portion of a text line wherein events are mirrored to another event dispatcher.

After normal event-dispatching for a text line finishes, if the line is valid and event propagation has not been stoped, events are re dispatched to the mirror regions of the line.

Mirroring of mouse events is a special case. Because mirror regions aren't actually display objects, mouseOver and mouseOut events are simulated for them. rollOver and rollOut events are not simulated. All naturally occuring mouseOver, mouseOut, rollOver and rollOut events (whether targetted at the text line or at children of the text line) are ignored - they are not mirrored.

You cannot create a TextLineMirrorRegion object directly from ActionScript code. If you call new TextLineMirrorRegion(), an exception is thrown. You create a TextLineMirrorRegion when you assign an event mirror to a ContentElement object.

The TextLineMirrorRegion class is final; it cannot be subclassed.

View the examples

See also



Public Properties
 PropertyDefined By
  bounds : Rectangle
[read-only] The bounds of the mirror region, relative to the text line.
TextLineMirrorRegion
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  element : ContentElement
[read-only] The ContentElement object from which the mirror region was derived.
TextLineMirrorRegion
  mirror : EventDispatcher
[read-only] The EventDispatcher object to which events affecting the mirror region are mirrored.
TextLineMirrorRegion
  nextRegion : flash.text.engine:TextLineMirrorRegion
[read-only] The next TextLineMirrorRegion in the set derived from the text element, or null if the current region is the last mirror region in the set.
TextLineMirrorRegion
  previousRegion : flash.text.engine:TextLineMirrorRegion
[read-only] The previous TextLineMirrorRegion in the set derived from the text element, or null if the current region is the first mirror region in the set.
TextLineMirrorRegion
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  textLine : flash.text.engine:TextLine
[read-only] The TextLine containing this mirror region.
TextLineMirrorRegion
Public Methods
 MethodDefined By
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property Detail

bounds

property
bounds:Rectangle  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The bounds of the mirror region, relative to the text line.



Implementation
    public function get bounds():Rectangle

element

property 
element:ContentElement  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The ContentElement object from which the mirror region was derived.



Implementation
    public function get element():ContentElement

Throws
IllegalOperationError — The TextLine to which this element belongs is not valid.

mirror

property 
mirror:EventDispatcher  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The EventDispatcher object to which events affecting the mirror region are mirrored. This includes mouse events that specifically occur in the mirror region, and all other events that target the text line.



Implementation
    public function get mirror():EventDispatcher

nextRegion

property 
nextRegion:flash.text.engine:TextLineMirrorRegion  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The next TextLineMirrorRegion in the set derived from the text element, or null if the current region is the last mirror region in the set. May be on the same line or on another text line.



Implementation
    public function get nextRegion():flash.text.engine:TextLineMirrorRegion

previousRegion

property 
previousRegion:flash.text.engine:TextLineMirrorRegion  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The previous TextLineMirrorRegion in the set derived from the text element, or null if the current region is the first mirror region in the set. May be on the same line or on another text line.



Implementation
    public function get previousRegion():flash.text.engine:TextLineMirrorRegion

textLine

property 
textLine:flash.text.engine:TextLine  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The TextLine containing this mirror region.



Implementation
    public function get textLine():flash.text.engine:TextLine
TextLineMirrorRegionExample.as

This example displays a block of text with mirror regions that turn red when you click them.

package {

    import flash.display.Sprite;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextLine;
    import flash.text.engine.TextElement;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.FontDescription;
    import flash.text.engine.ContentElement;
    import flash.text.engine.GroupElement;
    import flash.text.engine.TextLineMirrorRegion;
    import flash.events.MouseEvent;
    import flash.events.EventDispatcher;
    import flash.ui.Mouse;

    public class TextLineMirrorRegionExample extends Sprite {
        
        var myEvent:EventDispatcher = new EventDispatcher();
        var fontDescription:FontDescription = new FontDescription();
        var textBlock:TextBlock = new TextBlock();

        public function TextLineMirrorRegionExample():void {
            
            fontDescription.fontWeight = "bold";
            var blackFormat:ElementFormat = new ElementFormat();
            blackFormat.fontSize = 18;
            blackFormat.color = 0x000000;
            blackFormat.fontDescription = fontDescription;
            
            var textElement1 = new TextElement("Click on different parts of me to find the ", blackFormat);
            var textElement2 = new TextElement("mirror regions",blackFormat);
            var textElement3 = new TextElement(". If I am a mirror region, I'll ",blackFormat);
            var textElement4 = new TextElement("turn red",blackFormat);
            var textElement5 = new TextElement(".",blackFormat);
            
            myEvent.addEventListener("click", clickHandler);
            myEvent.addEventListener("mouseOut", mouseOutHandler);
            myEvent.addEventListener("mouseOver", mouseOverHandler);
            
            var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>;
            groupVector.push(textElement1, textElement2, textElement3, textElement4, textElement5);
            var groupElement:GroupElement = new GroupElement(groupVector);
            
            textElement2.eventMirror=myEvent;
            textElement4.eventMirror=myEvent;
            
            textBlock.content = groupElement;
            createLines(textBlock);
        }
    
        private function clickHandler(event:MouseEvent):void
        {
            var redFormat:ElementFormat = new ElementFormat();
            redFormat.color = 0xCC0000;
            redFormat.fontSize = 18;
            redFormat.fontDescription = fontDescription;
            var line:TextLine = event.target as TextLine;
            var region:TextLineMirrorRegion = line.getMirrorRegion(myEvent);
            region.element.elementFormat = redFormat;
            createLines(textBlock);
        }
        
        private function mouseOverHandler(event:MouseEvent):void
        {
            Mouse.cursor = "button";
        }
        
        private function mouseOutHandler(event:MouseEvent):void
        {
            Mouse.cursor = "arrow";
        }
            
        private function createLines(textBlock:TextBlock):void 
        {
            var purgeLine:TextLine = textBlock.firstLine;
                
            while (purgeLine)
            {
                removeChild (purgeLine);
                purgeLine = purgeLine.nextLine;
            }
            var lineWidth:Number = 150;
            var xPos:Number = 15.0;
            var yPos:Number = 20.0;
            var textLine:TextLine = textBlock.createTextLine (null, lineWidth);
                
            while (textLine)
            {
                textLine.x = xPos;
                textLine.y = yPos;
                yPos += textLine.height + 2;
                addChild (textLine);
                textLine = textBlock.createTextLine (textLine, lineWidth);
            }
        }
    }
}