var point = (function() { // dashed line var tool = {}; var states = ["center"]; var state = undefined; var points = [0, 0]; var labels = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" ]; var usedLabels = []; function draw() { if (state == undefined) { state = states[0]; app.setStatus("Selecione o centro do Ponto"); } else if (state == states[0]) { var pos = app.pos(); points[0] = pos.x; points[1] = pos.y; var p = points.slice(); var po = drawPoint(p[0], p[1], true); } } function bootstrap() { app.tools.push(tool); } function drawPoint(x, y, useLabel) { var label = labels[usedLabels.length]; usedLabels.push(label); var layer = app.currentLayer(); var group = new Konva.Group({ draggable: true, resizeEnabled: false }); var circle = new Konva.Circle({ x: x, y: y, radius: 5, fill: "#9bc364", stroke: "#9bc364", strokeWidth: 1, strokeScaleEnabled: false, draggable: false, resizeEnabled: false, transformEnabled: false }); var text = new Konva.Text({ x: x + 10, y: y - 10, text: label.toUpperCase(), fontSize: 12, fontFamily: "Calibri", fill: "#434a45", draggable: false, resizeEnabled: false, transformEnabled: false }); group.add(circle); if (useLabel != undefined && useLabel) { group.add(text); } layer.add(group); app.stage.draw(); clearState(); app.clearSelectedTool(); app.setStatus(""); } function click(id) { if (state == states[0]) { app.clearSelectedTool(); clearState(); return; } app.setSelectedTool(tool); state = states[0]; app.setStatus("Selecione o centro da Ponto"); } function clearState() { state = undefined; } tool = { id: "point", title: "Ponto", icon: "point", click: click, draw: draw, points: points }; bootstrap(); return { draw: draw, click: click }; })();