From 36f5644c45143c82fd37b5f2990a3f980a39f338 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Tue, 6 Feb 2018 19:51:09 +1300 Subject: [PATCH] Fixed issue with close --- LAYOUT.md | 5 ----- LAYOUT.svg | 2 +- README.md | 5 ----- sources/scripts/dotgrid.js | 4 ---- sources/scripts/interface.js | 3 +-- sources/scripts/tool.js | 6 +++++- 6 files changed, 7 insertions(+), 18 deletions(-) diff --git a/LAYOUT.md b/LAYOUT.md index 5a3dd47..a688413 100644 --- a/LAYOUT.md +++ b/LAYOUT.md @@ -6,16 +6,11 @@ - Save: `CmdOrCtrl+S` ### Edit -- Insert: `I` - Copy: `CmdOrCtrl+C` - Paste: `CmdOrCtrl+V` - Undo: `CmdOrCtrl+Z` - Redo: `CmdOrCtrl+Shift+Z` - Delete: `Backspace` -- Move Up: `Up` -- Move Down: `Down` -- Move Left: `Left` -- Move Right: `Right` - Deselect: `Esc` ### Stroke diff --git a/LAYOUT.svg b/LAYOUT.svg index 0304111..dc78465 100644 --- a/LAYOUT.svg +++ b/LAYOUT.svg @@ -1 +1 @@ -ESCDESELECTDOCUMENT1234567890-PLUSBACKSPACEDELETERESETTABQQUITWERTLINEJOINYLINECAPUTOOLSIINSERTOOPENP[THINNER]THICKER|CAPSALINESARCSAVEDARC REVFBEZIERGFILLHGRIDHIDEJCONTROLKL;'ENTERFULLSCRESHIFTZCONNECTUNDOXCCOPYVPASTEBNNEWM,ABOUT.INSPECT/CAPSLOCKCTRLCMDALTSPACEMIRRORCTRLPNFNALT \ No newline at end of file +ESCDESELECTDOCUMENT1234567890-PLUSBACKSPACEDELETERESETTABQQUITWERTLINEJOINYLINECAPUTOOLSIOOPENP[THINNER]THICKER|CAPSALINESARCSAVEDARC REVFBEZIERGFILLHGRIDHIDEJCONTROLKL;'ENTERFULLSCRESHIFTZCONNECTUNDOXCCOPYVPASTEBNNEWM,ABOUT.INSPECT/CAPSLOCKCTRLCMDALTSPACEMIRRORCTRLPNFNALT \ No newline at end of file diff --git a/README.md b/README.md index 30c89d3..40d177b 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,11 @@ Clicking on the canvas will insert control points, up to 3CPs. CPs can be moved - Save: `CmdOrCtrl+S` ### Edit -- Insert: `I` - Copy: `CmdOrCtrl+C` - Paste: `CmdOrCtrl+V` - Undo: `CmdOrCtrl+Z` - Redo: `CmdOrCtrl+Shift+Z` - Delete: `Backspace` -- Move Up: `Up` -- Move Down: `Down` -- Move Left: `Left` -- Move Right: `Right` - Deselect: `Esc` ### Stroke diff --git a/sources/scripts/dotgrid.js b/sources/scripts/dotgrid.js index d56bb77..32ecb7a 100644 --- a/sources/scripts/dotgrid.js +++ b/sources/scripts/dotgrid.js @@ -40,7 +40,6 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y,thickness = 3,lineca this.mirror = false; this.fill = false; this.path = document.createElementNS("http://www.w3.org/2000/svg", "path"); - this.segments = []; this.scale = 1; this.install = function() @@ -417,7 +416,6 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y,thickness = 3,lineca { this.history.clear(); this.reset(); - this.segments = []; this.thickness = 10 this.linecap = "round" this.linejoin = "round" @@ -444,8 +442,6 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y,thickness = 3,lineca this.copy = function(e) { - if(dotgrid.segments.length == 0){ return; } - dotgrid.scale = 1 dotgrid.width = 300 dotgrid.height = 300 diff --git a/sources/scripts/interface.js b/sources/scripts/interface.js index b938e23..26a3f72 100644 --- a/sources/scripts/interface.js +++ b/sources/scripts/interface.js @@ -35,13 +35,12 @@ function Interface() this.update = function() { - let prev = dotgrid.segments[dotgrid.segments.length-1] document.getElementById("line").className.baseVal = !dotgrid.tool.can_cast("line") ? "icon inactive" : "icon"; document.getElementById("arc_c").className.baseVal = !dotgrid.tool.can_cast("arc_c") ? "icon inactive" : "icon"; document.getElementById("arc_r").className.baseVal = !dotgrid.tool.can_cast("arc_r") ? "icon inactive" : "icon"; document.getElementById("bezier").className.baseVal = !dotgrid.tool.can_cast("bezier") ? "icon inactive" : "icon"; - document.getElementById("close").className.baseVal = dotgrid.segments.length < 1 || (prev && prev.name == "close") ? "icon inactive" : "icon"; + document.getElementById("close").className.baseVal = !dotgrid.tool.can_cast("close") ? "icon inactive" : "icon"; document.getElementById("thickness").className.baseVal = dotgrid.tool.layer().length < 1 ? "icon inactive" : "icon"; document.getElementById("linecap").className.baseVal = dotgrid.tool.layer().length < 1 ? "icon inactive" : "icon"; diff --git a/sources/scripts/tool.js b/sources/scripts/tool.js index 7426a13..7c40b07 100644 --- a/sources/scripts/tool.js +++ b/sources/scripts/tool.js @@ -55,10 +55,11 @@ function Tool() this.can_cast = function(type) { + if(!type){ return false; } // Cannot cast close twice if(type == "close"){ var prev = this.layer()[this.layer().length-1]; - if(prev.type == "close"){ + if(!prev || prev.type == "close"){ return false; } } @@ -165,5 +166,8 @@ function Tool() this.import = function(layers) { this.layers = layers; + dotgrid.history.push(this.layers); + this.clear(); + dotgrid.draw(); } } \ No newline at end of file