gibbon.js
Version:
Actor/Component system for use with pixi.js.
61 lines (56 loc) • 1.8 kB
JavaScript
class WheelController {
/**
* Stored value of wheel scrolling function when wheel is enabled.
*/
wheelFunc;
wheelEnabled = false;
/**
* wheelScale - Amount by which to scroll wheel input.
*/
wheelScale = 1;
/**
* Enable mouse wheel events.
*/
enableWheel(app) {
if (this.wheelEnabled === true)
return;
const mgr = app.renderer.plugins.interaction;
this.wheelEnabled = true;
// store to remove later.
this.wheelFunc = (e) => {
//const evt = new InteractionEvent();
//const data = new InteractionData();
//data.originalEvent = e;
/// TODO: PIXI has changed implementation for this:
//data.deltaY = e.deltaY * this.wheelScale;
//data.deltaX = e.deltaX * this.wheelScale;
/*data.originalEvent = e;
Object.assign(data, mgr.eventData);
let target = evt.target = data.target;
evt.data = data;
evt.type = 'wheel';
while (target) {
if (target.interactive === true) {
evt.currentTarget = target;
target.emit('wheel', evt);
}
target = target.parent;
}*/
};
//app.view.addEventListener('wheel', this.wheelFunc);
}
/**
* Disable wheel events.
*/
disableWheel(app) {
if (this.wheelEnabled === true) {
/*if (this.wheelFunc) {
app.view.removeEventListener('wheel', this.wheelFunc);
}*/
this.wheelFunc = undefined;
this.wheelEnabled = false;
}
}
}
export const WheelControl = new WheelController();
//# sourceMappingURL=mouse-wheel.js.map