diff options
Diffstat (limited to 'public/assets/javascripts/rectangles/util')
| -rw-r--r-- | public/assets/javascripts/rectangles/util/mouse.js | 17 | ||||
| -rw-r--r-- | public/assets/javascripts/rectangles/util/permissions.js | 15 |
2 files changed, 26 insertions, 6 deletions
diff --git a/public/assets/javascripts/rectangles/util/mouse.js b/public/assets/javascripts/rectangles/util/mouse.js index 2ec35e6..06958af 100644 --- a/public/assets/javascripts/rectangles/util/mouse.js +++ b/public/assets/javascripts/rectangles/util/mouse.js @@ -95,8 +95,6 @@ function mouse (opt) { } base.mousedown = function(e){ - e.stopPropagation() - if (opt.use_offset) { offset = this.getBoundingClientRect() } @@ -106,12 +104,18 @@ function mouse (opt) { var x = pos.a, y = pos.b base.cursor = new Rect (x,y, x,y) base.down = true - + e.clickAccepted = true + base.tube("down", e, base.cursor) + + if (e.clickAccepted) { + e.stopPropagation() + } + else { + base.down = false + } } base.mousemove = function(e){ - e.stopPropagation() - if (opt.use_offset && ! offset) return var pos = positionFromMouse(e) @@ -126,10 +130,11 @@ function mouse (opt) { base.cursor.x.b = x base.cursor.y.b = y base.tube("drag", e, base.cursor) + e.stopPropagation() } else { base.cursor.x.a = base.cursor.x.b = x - base.cursor.y.a = base.cursor.y.b = y + base.cursor.y.a = base.cursor.y.b = y base.tube("move", e, base.cursor) } } diff --git a/public/assets/javascripts/rectangles/util/permissions.js b/public/assets/javascripts/rectangles/util/permissions.js index 22a6079..adb2498 100644 --- a/public/assets/javascripts/rectangles/util/permissions.js +++ b/public/assets/javascripts/rectangles/util/permissions.js @@ -15,3 +15,18 @@ Permissions.prototype.toggle = function (key) { }) return state } + +Permissions.prototype.assign = function (key, state) { + var base = this + base.keys.forEach(function(op){ + base[op] = op == key ? state : false + }) + return state +} + +Permissions.prototype.clear = function () { + var base = this + base.keys.forEach(function(op){ + base[op] = false + }) +} |
