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 @@
-
\ No newline at end of file
+
\ 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