summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/util/mouse.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/util/mouse.js')
-rw-r--r--public/assets/javascripts/rectangles/util/mouse.js25
1 files changed, 23 insertions, 2 deletions
diff --git a/public/assets/javascripts/rectangles/util/mouse.js b/public/assets/javascripts/rectangles/util/mouse.js
index cb36038..6d9862c 100644
--- a/public/assets/javascripts/rectangles/util/mouse.js
+++ b/public/assets/javascripts/rectangles/util/mouse.js
@@ -54,10 +54,20 @@ function mouse (opt) {
opt.up && base.tube.on("up", opt.up)
opt.rightclick && base.tube.on("rightclick", opt.rightclick)
- var offset = (opt.use_offset && opt.el) ? opt.el.getBoundingClientRect() : null
+ var offset;
base.init = function (){
base.bind()
+ base.set_offset()
+ }
+
+ base.set_offset = function(){
+ if (opt.use_offset && opt.el) {
+ offset = opt.el.getBoundingClientRect()
+ }
+ else {
+ offset = null
+ }
}
base.on = function(){
@@ -73,9 +83,20 @@ function mouse (opt) {
opt.el.addEventListener("mousedown", base.mousedown)
opt.el.addEventListener("contextmenu", base.contextmenu)
}
+ if (opt.use_offset) {
+ window.addEventListener("resize", base.set_offset)
+ }
window.addEventListener("mousemove", base.mousemove)
window.addEventListener("mouseup", base.mouseup)
}
+ base.unbind = function(){
+ if (opt.el) {
+ opt.el.removeEventListener("mousedown", base.mousedown)
+ opt.el.removeEventListener("contextmenu", base.contextmenu)
+ }
+ window.removeEventListener("mousemove", base.mousemove)
+ window.removeEventListener("mouseup", base.mouseup)
+ }
base.bind_el = function(el){
el.addEventListener("mousedown", base.mousedown)
@@ -126,7 +147,7 @@ function mouse (opt) {
}
var x = pos.a, y = pos.b
-
+
if (base.down) {
base.cursor.x.b = x
base.cursor.y.b = y