diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-04-29 16:42:13 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-04-29 16:42:13 -0400 |
| commit | 277afee0a66822113de9db44c8a60256b5c8491a (patch) | |
| tree | f5d85c8ce895343b63a0560ac76ce1c200153751 /assets/javascripts/rectangles/util/mouse.js | |
| parent | c89f1107041a4ac8a513e4e2e7c1c3da984b1c59 (diff) | |
need to rethink this gravity stuff later
Diffstat (limited to 'assets/javascripts/rectangles/util/mouse.js')
| -rw-r--r-- | assets/javascripts/rectangles/util/mouse.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/assets/javascripts/rectangles/util/mouse.js b/assets/javascripts/rectangles/util/mouse.js index 3bd5876..ef6fa0f 100644 --- a/assets/javascripts/rectangles/util/mouse.js +++ b/assets/javascripts/rectangles/util/mouse.js @@ -33,6 +33,7 @@ function mouse (opt) { rightclick: null, propagate: false, locked: false, + use_offset: true, val: 0, }) @@ -51,7 +52,7 @@ function mouse (opt) { opt.up && base.tube.on("up", opt.up) opt.rightclick && base.tube.on("rightclick", opt.rightclick) - var offset = opt.el ? opt.el.getBoundingClientRect() : null + var offset = (opt.use_offset && opt.el) ? opt.el.getBoundingClientRect() : null base.init = function (){ base.bind() @@ -75,14 +76,16 @@ function mouse (opt) { return new vec2(offset.left - e.pageX, e.pageY - offset.top) } else { - return new vec2(-e.pageX, e.pageY) + return new vec2(e.pageX, e.pageY) } } - + base.mousedown = function(e){ e.stopPropagation() - offset = this.getBoundingClientRect() + if (opt.use_offset) { + offset = this.getBoundingClientRect() + } var pos = positionFromMouse(e) @@ -95,7 +98,7 @@ function mouse (opt) { base.mousemove = function(e){ e.stopPropagation() - if (! offset) return + if (opt.use_offset && ! offset) return var pos = positionFromMouse(e) @@ -117,8 +120,8 @@ function mouse (opt) { } } base.mouseenter = function(e, el){ - if (! offset) return if (! base.down) return + if (opt.use_offset && ! offset) return base.tube("enter", e, el, base.cursor) } base.mouseup = function(e){ |
