diff --git a/types/matter-js/index.d.ts b/types/matter-js/index.d.ts index 8f19b9c443..7ba7aac8a5 100644 --- a/types/matter-js/index.d.ts +++ b/types/matter-js/index.d.ts @@ -3170,6 +3170,9 @@ declare namespace Matter { pairs: Array; } + export interface IMouseEvent extends IEvent { + name: 'mousedown' | 'mousemove' | 'mouseup'; + } export class Events { @@ -3381,7 +3384,7 @@ declare namespace Matter { * @param name * @param callback */ - static on(obj: MouseConstraint, name: "mousedown", callback: (e: any) => void): void; + static on(obj: MouseConstraint, name: "mousedown", callback: (e: IMouseEvent) => void): void; /** * Fired when the mouse has moved (or a touch moves) during the last step @@ -3389,7 +3392,7 @@ declare namespace Matter { * @param name * @param callback */ - static on(obj: MouseConstraint, name: "mousemove", callback: (e: any) => void): void; + static on(obj: MouseConstraint, name: "mousemove", callback: (e: IMouseEvent) => void): void; /** * Fired when the mouse is up (or a touch has ended) during the last step @@ -3397,7 +3400,7 @@ declare namespace Matter { * @param name * @param callback */ - static on(obj: MouseConstraint, name: "mouseup", callback: (e: any) => void): void; + static on(obj: MouseConstraint, name: "mouseup", callback: (e: IMouseEvent) => void): void; static on(obj: any, name: string, callback: (e: any) => void): void; diff --git a/types/matter-js/matter-js-tests.ts b/types/matter-js/matter-js-tests.ts index 3f34821c12..c448ac5771 100644 --- a/types/matter-js/matter-js-tests.ts +++ b/types/matter-js/matter-js-tests.ts @@ -7,8 +7,10 @@ var Engine = Matter.Engine, Constraint = Matter.Constraint, Events = Matter.Events, Query = Matter.Query, - Plugin = Matter.Plugin, - Render = Matter.Render; + Plugin = Matter.Plugin, + Render = Matter.Render, + Mouse = Matter.Mouse, + MouseConstraint = Matter.MouseConstraint; Matter.use('matter-attractors'); @@ -110,3 +112,10 @@ const runner1 = Matter.Runner.create({ }); const runner2 = Matter.Runner.create({}); const runner3 = Matter.Runner.create(); + +// Mouse + +const mouse = Mouse.create(render.canvas); +const mouseConstraint = MouseConstraint.create(engine, { mouse }); + +Events.on(mouseConstraint, 'mousemove', (e: Matter.IMouseEvent) => {})