-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDTDanmakuBridgeMouseJavascript.js
60 lines (43 loc) · 1.63 KB
/
DTDanmakuBridgeMouseJavascript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
DTDanmakuBridgeMouseJavascript = ((function () {
"use strict";
var mouseXPosition = 0;
var mouseYPosition = 0;
var mouseMoveHandler = function (e) {
var canvas = document.getElementById("dtDanmakuCanvas");
if (canvas === null)
return;
var xPosition = e.clientX - canvas.offsetLeft;
if (xPosition < 0)
xPosition = 0;
if (xPosition > canvas.width)
xPosition = canvas.width;
var yPosition = e.clientY - canvas.offsetTop;
if (yPosition < 0)
yPosition = 0;
if (yPosition > canvas.height)
yPosition = canvas.height;
mouseXPosition = xPosition;
mouseYPosition = yPosition;
};
var isLeftMouseButtonPressed = false;
var isRightMouseButtonPressed = false;
var checkMouseButtonHandler = function (e) {
if ((e.buttons & 1) === 1)
isLeftMouseButtonPressed = true;
else
isLeftMouseButtonPressed = false;
if ((e.buttons & 2) === 2)
isRightMouseButtonPressed = true;
else
isRightMouseButtonPressed = false;
};
document.addEventListener("mousemove", function (e) { mouseMoveHandler(e); checkMouseButtonHandler(e); }, false);
document.addEventListener("mousedown", function (e) { checkMouseButtonHandler(e); }, false);
document.addEventListener("mouseup", function (e) { checkMouseButtonHandler(e); }, false);
return {
isLeftMouseButtonPressed: function () { return isLeftMouseButtonPressed; },
isRightMouseButtonPressed: function () { return isRightMouseButtonPressed; },
getMouseX: function () { return Math.round(mouseXPosition); },
getMouseY: function () { return Math.round(mouseYPosition); }
};
})());