web3d / node_modules /three /src /core /EventDispatcher.d.ts
julien-c's picture
julien-c HF staff
do not gitignore the builds
6cd9596
import { Event } from './Face3';
/**
* JavaScript events for custom objects
*
* # Example
* var Car = function () {
*
* EventDispatcher.call( this );
* this.start = function () {
*
* this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
*
* };
*
* };
*
* var car = new Car();
* car.addEventListener( 'start', function ( event ) {
*
* alert( event.message );
*
* } );
* car.start();
*
* @source src/core/EventDispatcher.js
*/
export class EventDispatcher {
/**
* Creates eventDispatcher object. It needs to be call with '.call' to add the functionality to an object.
*/
constructor();
/**
* Adds a listener to an event type.
* @param type The type of event to listen to.
* @param listener The function that gets called when the event is fired.
*/
addEventListener(type: string, listener: (event: Event) => void): void;
/**
* Checks if listener is added to an event type.
* @param type The type of event to listen to.
* @param listener The function that gets called when the event is fired.
*/
hasEventListener(type: string, listener: (event: Event) => void): boolean;
/**
* Removes a listener from an event type.
* @param type The type of the listener that gets removed.
* @param listener The listener function that gets removed.
*/
removeEventListener(type: string, listener: (event: Event) => void): void;
/**
* Fire an event type.
* @param type The type of event that gets fired.
*/
dispatchEvent(event: { type: string; [attachment: string]: any }): void;
}