ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
TextLineMirrorRegion

Package | flash.text.engine
Class | public final class TextLineMirrorRegion
Inheritance | TextLineMirrorRegion Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

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

You cannot create a TextLineMirrorRegion object directly from ActionScript code. If you call `new TextLineMirrorRegion()`, an exception is thrown.

The TextLineMirrorRegion class is final; it cannot be subclassed.

View the examples

See also

TextBlock.createTextLine()
TextElement.eventMirror
TextLine.mirrorRegions

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bounds : Rectangle [read-only] The bounds of the mirror region, relative to the text line. | TextLineMirrorRegion
|  | constructor : 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 : TextLineMirrorRegion [read-only] The next TextLineMirrorRegion in the set derived from the text element, or null if this is the last mirror region in the set. | TextLineMirrorRegion
|  | previousRegion : TextLineMirrorRegion [read-only] The previous TextLineMirrorRegion in the set derived from the text element, or null if this is the first mirror region in the set. | TextLineMirrorRegion
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object
|  | textLine : TextLine [read-only] The TextLine containing this mirror region. | TextLineMirrorRegion

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

bounds | property

`bounds:Rectangle` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

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

Player Version : | Flash Player 10

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

Player Version : | Flash Player 10

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:TextLineMirrorRegion` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

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

Implementation
`public function get nextRegion():TextLineMirrorRegion`

previousRegion | property |

`previousRegion:TextLineMirrorRegion` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

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

Implementation
`public function get previousRegion():TextLineMirrorRegion`

textLine | property |

`textLine:TextLine` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

The TextLine containing this mirror region.

Implementation
`public function get textLine():TextLine`
Examples How to use examples
TextLineMirrorRegionExample.as

    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);
                }
            }
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00