diff options
| author | bozo.kopic <bozo@kopic.xyz> | 2021-11-07 15:52:44 +0100 |
|---|---|---|
| committer | bozo.kopic <bozo@kopic.xyz> | 2021-12-18 02:38:50 +0100 |
| commit | 0702d13263bf501c1db074ce1544e60b95161210 (patch) | |
| tree | ebca76946cead0ffcc742a64c15dd6f5e79958fa /src_js/dragger.js | |
| parent | 56a75fcb8f5a9e4c05ccec8eb4a3345a115da441 (diff) | |
major rewritev0.3.0
Diffstat (limited to 'src_js/dragger.js')
| -rw-r--r-- | src_js/dragger.js | 28 |
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); +}); |
