66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
export default class Mouse
|
|
{
|
|
constructor()
|
|
{
|
|
this.isPressedLeft = false;
|
|
this.isPressedRight = false;
|
|
this.isPressedMiddle = false;
|
|
this.x = 0;
|
|
this.y = 0;
|
|
|
|
this.addListenerMouseUp();
|
|
this.addListenerMouseDown();
|
|
this.addListenerMouseMove()
|
|
}
|
|
|
|
addListenerMouseUp()
|
|
{
|
|
window.addEventListener(
|
|
'mouseup',
|
|
(event) => {
|
|
switch (event.button) {
|
|
case 0:
|
|
this.isPressedLeft = false;
|
|
break;
|
|
case 1:
|
|
this.isPressedMiddle = false;
|
|
break;
|
|
case 2:
|
|
this.isPressedRight = false;
|
|
}
|
|
|
|
}
|
|
);
|
|
}
|
|
|
|
addListenerMouseMove()
|
|
{
|
|
window.addEventListener(
|
|
'mousemove',
|
|
(event) => {
|
|
this.x = event.clientX;
|
|
this.y = event.clientY;
|
|
}
|
|
);
|
|
}
|
|
|
|
addListenerMouseDown()
|
|
{
|
|
window.addEventListener(
|
|
'mousedown',
|
|
(event) => {
|
|
switch (event.button) {
|
|
case 0:
|
|
this.isPressedLeft = true;
|
|
break;
|
|
case 1:
|
|
this.isPressedMiddle = true;
|
|
break;
|
|
case 2:
|
|
this.isPressedRight = true;
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
} |