123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- 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
- };
- })();
|