aboutsummaryrefslogtreecommitdiff
path: root/src_js/dragger.js
diff options
context:
space:
mode:
authorbozo.kopic <bozo@kopic.xyz>2021-11-07 15:52:44 +0100
committerbozo.kopic <bozo@kopic.xyz>2021-12-18 02:38:50 +0100
commit0702d13263bf501c1db074ce1544e60b95161210 (patch)
treeebca76946cead0ffcc742a64c15dd6f5e79958fa /src_js/dragger.js
parent56a75fcb8f5a9e4c05ccec8eb4a3345a115da441 (diff)
major rewritev0.3.0
Diffstat (limited to 'src_js/dragger.js')
-rw-r--r--src_js/dragger.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src_js/dragger.js b/src_js/dragger.js
new file mode 100644
index 0000000..e591be6
--- /dev/null
+++ b/src_js/dragger.js
@@ -0,0 +1,28 @@
+
+
+const draggers = [];
+
+
+export function mouseDownHandler(createMoveHandlerCb) {
+ return evt => {
+ draggers.push({
+ initX: evt.screenX,
+ initY: evt.screenY,
+ moveHandler: createMoveHandlerCb(evt)
+ });
+ };
+}
+
+
+document.addEventListener('mousemove', evt => {
+ for (let dragger of draggers) {
+ const dx = evt.screenX - dragger.initX;
+ const dy = evt.screenY - dragger.initY;
+ dragger.moveHandler(evt, dx, dy);
+ }
+});
+
+
+document.addEventListener('mouseup', evt => {
+ draggers.splice(0);
+});