flashx.textLayout.events

# DamageEvent - AS3

Package | flashx.textLayout.events
Class | public class DamageEvent
Inheritance | DamageEvent Event Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

A TextFlow instance dispatches this each time it is marked as damaged. Damage can be caused by changes to the model or changes to the layout.

View the examples

Related API Elements

flashx.textLayout.elements.TextFlow

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | damageAbsoluteStart : int [read-only] Absolute start of the damage | DamageEvent
|  | damageLength : int [read-only] Length of the damage | DamageEvent
|  | eventPhase : uint [read-only] The current phase in the event flow. | Event
|  | target : Object [read-only] The event target. | Event
|  | textFlow : flashx.textLayout.elements:TextFlow [read-only] TextFlow owning the damage | DamageEvent
|  | type : String [read-only] The type of event. | Event

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0) Constructor | DamageEvent
|  | clone():Event Duplicates an instance of an Event subclass. | Event
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | 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
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | 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
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns a string containing all the properties of the Event object. | Event
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | DAMAGE : String = "damage" [static] Event type for DamageEvent | DamageEvent

Property Detail

### damageAbsoluteStart

property

`damageAbsoluteStart:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Absolute start of the damage

Implementation
`public function get damageAbsoluteStart():int`

### damageLength

property

`damageLength:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Length of the damage

Implementation
`public function get damageLength():int`

### textFlow

property

`textFlow:flashx.textLayout.elements:TextFlow` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

TextFlow owning the damage

Implementation
`public function get textFlow():flashx.textLayout.elements:TextFlow`
Constructor Detail

### DamageEvent

()
Constructor

`public function DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0)`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Constructor

Parameters

| `type:String` — text index of the start of the damage
| `bubbles:Boolean` (default = `false`)`` — length of text that was damaged
| `cancelable:Boolean` (default = `false`)``
| `textFlow:flashx.textLayout.elements:TextFlow` (default = `null`)``
| `damageAbsoluteStart:int` (default = `0`)``
| `damageLength:int` (default = `0`)``

Constant Detail

### DAMAGE

Constant

`public static const DAMAGE:String = "damage"`

Event type for DamageEvent

Examples How to use this example
DamageEvent_example.as
This example shows how to use the DamageEvent to track changes to the TextFlow and the UpdateCompleteEvent to keep a binding updated. In this case, there is a String that holds a copy of the text in the TextFlow, and it needs to be updated when the TextFlow changes. The two key steps are to call addEventListener() and to create an event handler function.

The call to `addEventListener()` is made to the TextFlow instance. You can use simple strings, such as `"damage"` and `"updateComplete"`, but it is safer to use static constants, such as `DamageEvent.DAMAGE` and `UpdateCompleteEvent.UPDATE_COMPLETE`.

Copy

    package flashx.textLayout.events.examples {
        import flash.display.Sprite;

        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.conversion.ConversionType;
        import flashx.textLayout.conversion.TextConverter;
        import flashx.textLayout.edit.EditManager;
        import flashx.textLayout.elements.TextFlow;
        import flashx.textLayout.events.DamageEvent;
        import flashx.textLayout.events.UpdateCompleteEvent;

        public class DamageEvent_example extends Sprite
        {
            private var textFlow:TextFlow;
            private var text:String = "Text example";

            // In this example, the DamageEvent is used to mark when the text in the TextFlow has been changed,
            // so that a simple binding can be implemented that is optimized so that the binding is only updated
            // when the text is updated.
            public function DamageEvent_example()
            {
                textFlow = TextConverter.importToFlow(text, TextConverter.PLAIN_TEXT_FORMAT);
                textFlow.flowComposer.addController(new ContainerController(this, 200, 200));
                textFlow.interactionManager = new EditManager();
                textFlow.flowComposer.updateAllControllers();

                textFlow.addEventListener(DamageEvent.DAMAGE, damageHandler);
                textFlow.addEventListener(UpdateCompleteEvent.UPDATE_COMPLETE, updateHandler);

                // ... user clicks on the TextFlow and starts typing ...
            }

            private function updateHandler(event:UpdateCompleteEvent):void
            {
                if (text == null)
                    text = TextConverter.export(textFlow, TextConverter.PLAIN_TEXT_FORMAT, ConversionType.STRING_TYPE) as String;
                trace(text);        // result: same as what's in the TextFlow
            }

            private function damageHandler(event:DamageEvent):void
            {
                text = null;
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00