UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

498 lines (420 loc) 17.2 kB
import EventPhase from "./EventPhase"; declare namespace openfl.events { /** * The Event class is used as the base class for the creation of Event * objects, which are passed as parameters to event listeners when an event * occurs. * * The properties of the Event class carry basic information about an * event, such as the event's type or whether the event's default behavior can * be canceled. For many events, such as the events represented by the Event * class constants, this basic information is sufficient. Other events, * however, may require more detailed information. Events associated with a * mouse click, for example, need to include additional information about the * location of the click event and whether any keys were pressed during the * click event. You can pass such additional information to event listeners by * extending the Event class, which is what the MouseEvent class does. * ActionScript 3.0 API defines several Event subclasses for common events * that require additional information. Events associated with each of the * Event subclasses are described in the documentation for each class. * * The methods of the Event class can be used in event listener functions * to affect the behavior of the event object. Some events have an associated * default behavior. For example, the `doubleClick` event has an * associated default behavior that highlights the word under the mouse * pointer at the time of the event. Your event listener can cancel this * behavior by calling the `preventDefault()` method. You can also * make the current event listener the last one to process an event by calling * the `stopPropagation()` or * `stopImmediatePropagation()` method. * * Other sources of information include: * * * * A useful description about the timing of events, code execution, and * rendering at runtime in Ted Patrick's blog entry: <a * [Flash Player Mental Model - The Elastic](http://www.onflex.org/ted/2005/07/flash-player-mental-model-elastic.php). * * A blog entry by Johannes Tacskovics about the timing of frame events, * such as ENTER_FRAME, EXIT_FRAME: [The MovieClip Lifecycle](http://blog.johannest.com/2009/06/15/the-movieclip-life-cycle-revisited-from-event-added-to-event-removed_from_stage/). * * An article by Trevor McCauley about the order of ActionScript * operations: [Order of Operations in ActionScript](http://www.senocular.com/flash/tutorials/orderofoperations/). * * A blog entry by Matt Przybylski on creating custom events: * [AS3: Custom Events](http://evolve.reintroducing.com/2007/10/23/as3/as3-custom-events/). */ export class Event { /** * The `ACTIVATE` constant defines the value of the * `type` property of an `activate` event object. * * **Note:** This event has neither a "capture phase" nor a "bubble * phase", which means that event listeners must be added directly to any * potential targets, whether the target is on the display list or not. * * AIR for TV devices never automatically dispatch this event. You can, * however, dispatch it manually. * * This event has the following properties: */ public static ACTIVATE:string; /** * The `Event.ADDED` constant defines the value of the * `type` property of an `added` event object. * * This event has the following properties: */ public static ADDED:string; /** * The `Event.ADDED_TO_STAGE` constant defines the value of the * `type` property of an `addedToStage` event object. * * This event has the following properties: */ public static ADDED_TO_STAGE:string; // #if flash // @:noCompletion @:dox(hide) @:require(flash15) public static var BROWSER_ZOOM_CHANGE:string; // #end /** * The `Event.CANCEL` constant defines the value of the * `type` property of a `cancel` event object. * * This event has the following properties: */ public static CANCEL:string; /** * The `Event.CHANGE` constant defines the value of the * `type` property of a `change` event object. * * This event has the following properties: */ public static CHANGE:string; // #if flash // @:noCompletion @:dox(hide) public static var CHANNEL_MESSAGE:string; // #end // #if flash // @:noCompletion @:dox(hide) public static var CHANNEL_STATE:string; // #end public static CLEAR:string; /** * The `Event.CLOSE` constant defines the value of the * `type` property of a `close` event object. * * This event has the following properties: */ public static CLOSE:string; /** * The `Event.COMPLETE` constant defines the value of the * `type` property of a `complete` event object. * * This event has the following properties: */ public static COMPLETE:string; /** * The `Event.CONNECT` constant defines the value of the * `type` property of a `connect` event object. * * This event has the following properties: */ public static CONNECT:string; public static CONTEXT3D_CREATE:string; public static COPY:string; public static CUT:string; /** * The `Event.DEACTIVATE` constant defines the value of the * `type` property of a `deactivate` event object. * * **Note:** This event has neither a "capture phase" nor a "bubble * phase", which means that event listeners must be added directly to any * potential targets, whether the target is on the display list or not. * * AIR for TV devices never automatically dispatch this event. You can, * however, dispatch it manually. * * This event has the following properties: */ public static DEACTIVATE:string; /** * The `Event.ENTER_FRAME` constant defines the value of the * `type` property of an `enterFrame` event object. * * **Note:** This event has neither a "capture phase" nor a "bubble * phase", which means that event listeners must be added directly to any * potential targets, whether the target is on the display list or not. * * This event has the following properties: */ public static ENTER_FRAME:string; // #if (flash && air) // public static var EXITING : String; // #end public static EXIT_FRAME:string; public static FRAME_CONSTRUCTED:string; public static FRAME_LABEL:string; public static FULLSCREEN:string; /** * The `Event.ID3` constant defines the value of the * `type` property of an `id3` event object. * * This event has the following properties: */ public static ID3:string; /** * The `Event.INIT` constant defines the value of the * `type` property of an `init` event object. * * This event has the following properties: */ public static INIT:string; /** * The `Event.MOUSE_LEAVE` constant defines the value of the * `type` property of a `mouseLeave` event object. * * This event has the following properties: */ public static MOUSE_LEAVE:string; /** * The `Event.OPEN` constant defines the value of the * `type` property of an `open` event object. * * This event has the following properties: */ public static OPEN:string; public static PASTE:string; /** * The `Event.REMOVED` constant defines the value of the * `type` property of a `removed` event object. * * This event has the following properties: */ public static REMOVED:string; /** * The `Event.REMOVED_FROM_STAGE` constant defines the value of * the `type` property of a `removedFromStage` event * object. * * This event has the following properties: */ public static REMOVED_FROM_STAGE:string; /** * The `Event.RENDER` constant defines the value of the * `type` property of a `render` event object. * * **Note:** This event has neither a "capture phase" nor a "bubble * phase", which means that event listeners must be added directly to any * potential targets, whether the target is on the display list or not. * * This event has the following properties: */ public static RENDER:string; /** * The `Event.RESIZE` constant defines the value of the * `type` property of a `resize` event object. * * This event has the following properties: */ public static RESIZE:string; /** * The `Event.SCROLL` constant defines the value of the * `type` property of a `scroll` event object. * * This event has the following properties: */ public static SCROLL:string; /** * The `Event.SELECT` constant defines the value of the * `type` property of a `select` event object. * * This event has the following properties: */ public static SELECT:string; public static SELECT_ALL:string; /** * The `Event.SOUND_COMPLETE` constant defines the value of the * `type` property of a `soundComplete` event object. * * This event has the following properties: */ public static SOUND_COMPLETE:string; // #if (flash && air) // @:noCompletion @:dox(hide) @:require(flash11_3) public static var SUSPEND:string; // #end /** * The `Event.TAB_CHILDREN_CHANGE` constant defines the value of * the `type` property of a `tabChildrenChange` event * object. * * This event has the following properties: */ public static TAB_CHILDREN_CHANGE:string; /** * The `Event.TAB_ENABLED_CHANGE` constant defines the value of * the `type` property of a `tabEnabledChange` event * object. * * This event has the following properties: */ public static TAB_ENABLED_CHANGE:string; /** * The `Event.TAB_INDEX_CHANGE` constant defines the value of the * `type` property of a `tabIndexChange` event object. * * This event has the following properties: */ public static TAB_INDEX_CHANGE:string; public static TEXTURE_READY:string; // #if flash // @:noCompletion @:dox(hide) @:require(flash11) public static var TEXT_INTERACTION_MODE_CHANGE:string; // #end /** * The `Event.UNLOAD` constant defines the value of the * `type` property of an `unload` event object. * * This event has the following properties: */ public static UNLOAD:string; // #if flash // @:noCompletion @:dox(hide) public static var VIDEO_FRAME:string; // #end // #if flash // @:noCompletion @:dox(hide) public static var WORKER_STATE:string; // #end /** * Indicates whether an event is a bubbling event. If the event can bubble, * this value is `true`; otherwise it is `false`. * * When an event occurs, it moves through the three phases of the event * flow: the capture phase, which flows from the top of the display list * hierarchy to the node just before the target node; the target phase, which * comprises the target node; and the bubbling phase, which flows from the * node subsequent to the target node back up the display list hierarchy. * * Some events, such as the `activate` and `unload` * events, do not have a bubbling phase. The `bubbles` property * has a value of `false` for events that do not have a bubbling * phase. */ public readonly bubbles:boolean; /** * Indicates whether the behavior associated with the event can be prevented. * If the behavior can be canceled, this value is `true`; * otherwise it is `false`. */ public readonly cancelable:boolean; /** * The object that is actively processing the Event object with an event * listener. For example, if a user clicks an OK button, the current target * could be the node containing that button or one of its ancestors that has * registered an event listener for that event. */ public readonly currentTarget:any; /** * The current phase in the event flow. This property can contain the * following numeric values: * * * The capture phase(`EventPhase.CAPTURING_PHASE`). * * The target phase(`EventPhase.AT_TARGET`). * * The bubbling phase(`EventPhase.BUBBLING_PHASE`). * */ public readonly eventPhase:EventPhase; /** * The event target. This property contains the target node. For example, if * a user clicks an OK button, the target node is the display list node * containing that button. */ public readonly target:any; /** * The type of event. The type is case-sensitive. */ public readonly type:string; /** * Creates an Event object to pass as a parameter to event listeners. * * @param type The type of the event, accessible as * `Event.type`. * @param bubbles Determines whether the Event object participates in the * bubbling stage of the event flow. The default value is * `false`. * @param cancelable Determines whether the Event object can be canceled. The * default values is `false`. */ public constructor (type:string, bubbles?:boolean, cancelable?:boolean); /** * Duplicates an instance of an Event subclass. * * Returns a new Event object that is a copy of the original instance of * the Event object. You do not normally call `clone()`; the * EventDispatcher class calls it automatically when you redispatch an * event - that is, when you call `dispatchEvent(event)` from a * handler that is handling `event`. * * The new Event object includes all the properties of the original. * * When creating your own custom Event class, you must override the * inherited `Event.clone()` method in order for it to duplicate * the properties of your custom class. If you do not set all the properties * that you add in your event subclass, those properties will not have the * correct values when listeners handle the redispatched event. * * In this example, `PingEvent` is a subclass of * `Event` and therefore implements its own version of * `clone()`. * * @return A new Event object that is identical to the original. */ public clone ():Event; public formatToString (className:string, ...args:any[]):string; /** * Checks whether the `preventDefault()` method has been called on * the event. If the `preventDefault()` method has been called, * returns `true`; otherwise, returns `false`. * * @return If `preventDefault()` has been called, returns * `true`; otherwise, returns `false`. */ public isDefaultPrevented ():boolean; /** * Cancels an event's default behavior if that behavior can be canceled. * Many events have associated behaviors that are carried out by default. For example, if a user types a character into a text field, the default behavior is that the character is displayed in the text field. Because the `TextEvent.TEXT_INPUT` event's default behavior can be canceled, you can use the `preventDefault()` method to prevent the character from appearing. * An example of a behavior that is not cancelable is the default behavior associated with the Event.REMOVED event, which is generated whenever Flash Player is about to remove a display object from the display list. The default behavior (removing the element) cannot be canceled, so the `preventDefault()` method has no effect on this default behavior. * You can use the `Event.cancelable` property to check whether you can prevent the default behavior associated with a particular event. If the value of `Event.cancelable` is true, then `preventDefault()` can be used to cancel the event; otherwise, `preventDefault()` has no effect. */ public preventDefault ():void; /** * Prevents processing of any event listeners in the current node and any * subsequent nodes in the event flow. This method takes effect immediately, * and it affects event listeners in the current node. In contrast, the * `stopPropagation()` method doesn't take effect until all the * event listeners in the current node finish processing. * * **Note: ** This method does not cancel the behavior associated with * this event; see `preventDefault()` for that functionality. * */ public stopImmediatePropagation ():void; /** * Prevents processing of any event listeners in nodes subsequent to the * current node in the event flow. This method does not affect any event * listeners in the current node(`currentTarget`). In contrast, * the `stopImmediatePropagation()` method prevents processing of * event listeners in both the current node and subsequent nodes. Additional * calls to this method have no effect. This method can be called in any * phase of the event flow. * * **Note: ** This method does not cancel the behavior associated with * this event; see `preventDefault()` for that functionality. * */ public stopPropagation ():void; /** * Returns a string containing all the properties of the Event object. The * string is in the following format: * * `[Event type=_value_ bubbles=_value_ * cancelable=_value_]` * * @return A string containing all the properties of the Event object. */ public toString ():string; } } export default openfl.events.Event;