Skip to content

Commit

Permalink
[#1345] Fix typing on pointer event handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
eonarheim committed Dec 1, 2019
1 parent f726244 commit fd9a90a
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions src/engine/Input/Pointer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Vector } from '../Algebra';
import { Class } from '../Class';
import * as Actors from '../Util/Actors';
import { removeItemFromArray } from '../Util/Util';
import { PointerEvent } from './PointerEvents';
import { PointerEvent, PointerMoveEvent, PointerDownEvent, PointerUpEvent } from './PointerEvents';

export interface ActorsUnderPointer {
[ActorId: number]: Actor;
Expand Down Expand Up @@ -107,6 +107,27 @@ export class Pointer extends Class {
this.on('up', this._onPointerUp);
}

on(event: 'move', handler: (event: PointerMoveEvent) => void): void;
on(event: 'down', handler: (event: PointerDownEvent) => void): void;
on(event: 'up', handler: (event: PointerUpEvent) => void): void;
on(event: string, handler: (event: any) => void): void {
super.on(event, handler);
}

once(event: 'move', handler: (event: PointerMoveEvent) => void): void;
once(event: 'down', handler: (event: PointerDownEvent) => void): void;
once(event: 'up', handler: (event: PointerUpEvent) => void): void;
once(event: string, handler: (event: any) => void): void {
super.once(event, handler);
}

off(event: 'move', handler?: (event: PointerMoveEvent) => void): void;
off(event: 'down', handler?: (event: PointerDownEvent) => void): void;
off(event: 'up', handler?: (event: PointerUpEvent) => void): void;
off(event: string, handler?: (event: any) => void): void {
super.off(event, handler);
}

/**
* Update the state of current pointer, meant to be called a the end of frame
*/
Expand Down Expand Up @@ -203,20 +224,20 @@ export class Pointer extends Class {
return this._actorsUnderPointer.hasOwnProperty(actor.id.toString());
}

private _onPointerMove(ev: PointerEvent): void {
private _onPointerMove(ev: PointerMoveEvent): void {
this.lastPagePos = new Vector(ev.pagePos.x, ev.pagePos.y);
this.lastScreenPos = new Vector(ev.screenPos.x, ev.screenPos.y);
this.lastWorldPos = new Vector(ev.worldPos.x, ev.worldPos.y);
}

private _onPointerDown(ev: PointerEvent): void {
private _onPointerDown(ev: PointerDownEvent): void {
this.lastPagePos = new Vector(ev.pagePos.x, ev.pagePos.y);
this.lastScreenPos = new Vector(ev.screenPos.x, ev.screenPos.y);
this.lastWorldPos = new Vector(ev.worldPos.x, ev.worldPos.y);
this._isDown = true;
}

private _onPointerUp(): void {
private _onPointerUp(_ev: PointerUpEvent): void {
this._isDown = false;
this.dragTarget = null;
}
Expand Down

0 comments on commit fd9a90a

Please sign in to comment.