X-Git-Url: https://jasonwoof.com/gitweb/?p=crayon_mockup.git;a=blobdiff_plain;f=auto.coffee;h=e705421782fe3c7548d5634a2466faec58beebff;hp=c4cd5b40fa176e605a59bc0f7a69ed2602ecaa7a;hb=33a4ce2992c7345ee0791caf9f3560d04c075b7d;hpb=fc88916974e94f53d7772b0d11951ec7c415888d diff --git a/auto.coffee b/auto.coffee index c4cd5b4..e705421 100644 --- a/auto.coffee +++ b/auto.coffee @@ -23,6 +23,11 @@ update_path = (path, data, flags) -> d += " z" path.setAttribute "d", d +cancel_drawing = -> + if selection? + svg.removeChild selection.element + selection = null + return false stop_drawing = -> if selection? update_path selection.element, selection.data @@ -46,16 +51,28 @@ mousemove = (x, y) -> if selection? update_path selection.element, selection.data, to_mouse: true +keydown = (keycode) -> + switch keycode + when ('O'.charCodeAt 0), ('0'.charCodeAt 0) + return stop_close_drawing() + when (' '.charCodeAt 0), 13, 10 + return stop_drawing() + when 27 + return cancel_drawing() + # called automatically on domcontentloaded init = -> $container = $ '.crayon_mockup' - $stop_button = $ 'stop drawing' - $stop_close_button = $ 'stop drawing, close loop' + $stop_button = $ 'stop line' + $stop_close_button = $ 'stop line, close loop' + $cancel_button = $ 'cancel line' $tools = $ '
' $tools.append $stop_button $tools.append $stop_close_button + $tools.append $cancel_button $stop_button.click stop_drawing $stop_close_button.click stop_close_drawing + $cancel_button.click cancel_drawing $container.append $tools svg = document.createElementNS svg_ns, 'svg' svg.setAttribute 'width', width @@ -70,5 +87,7 @@ init = -> $svg.mousemove (e) -> offset = $svg.offset() mousemove e.pageX - offset.left, e.pageY - offset.top + ($ document).keydown (e) -> + return keydown e.keyCode $ init