From 2bd4fbe542bdfb709b717b2be76b1e0266068416 Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Mon, 28 Jan 2013 14:41:08 -0500 Subject: [PATCH] No draw mousemove events while mouse is down --- js/id/behavior/draw.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/js/id/behavior/draw.js b/js/id/behavior/draw.js index 551649f20..2725b8111 100644 --- a/js/id/behavior/draw.js +++ b/js/id/behavior/draw.js @@ -1,16 +1,25 @@ iD.behavior.Draw = function () { var event = d3.dispatch('move', 'add', 'undo', 'cancel', 'finish'), - keybinding = d3.keybinding('draw'); + keybinding = d3.keybinding('draw'), + down; function draw(selection) { function mousemove() { - event.move(); + if (!down) event.move(); } function click() { event.add(); } + function mousedown() { + down = true; + } + + function mouseup() { + down = false; + } + function backspace() { d3.event.preventDefault(); event.undo(); @@ -27,6 +36,8 @@ iD.behavior.Draw = function () { } selection + .on('mousedown.draw', mousedown) + .on('mouseup.draw', mouseup) .on('mousemove.draw', mousemove) .on('click.draw', click);