Implemented basic menus

This commit is contained in:
Devine Lu Linvega
2018-01-12 21:46:09 +13:00
parent abb83374b7
commit 731fd58da1
4 changed files with 163 additions and 158 deletions

View File

@@ -2,96 +2,75 @@ function Keyboard()
{
this.listen = function(e)
{
// zoom
if(e.key == "~" || e.keyCode == 192){
dotgrid.interface.toggle_zoom();
e.preventDefault();
return;
}
// // zoom
// if(e.key == "~" || e.keyCode == 192){
// dotgrid.interface.toggle_zoom();
// e.preventDefault();
// return;
// }
// save
if(e.key == "s" && (e.ctrlKey || e.metaKey)){
e.preventDefault();
dotgrid.export();
return;
}
// // undo
// if(e.key == "z" && (e.ctrlKey || e.metaKey)){
// e.preventDefault();
// dotgrid.erase();
// return;
// }
// open
if(e.key == "o" && (e.ctrlKey || e.metaKey)){
e.preventDefault();
dotgrid.open();
return;
}
// // Reset
// if((e.key == "Backspace" || e.key == "Delete") && e.ctrlKey && e.shiftKey){
// e.preventDefault();
// dotgrid.theme.reset();
// return;
// }
// undo
if(e.key == "z" && (e.ctrlKey || e.metaKey)){
e.preventDefault();
dotgrid.erase();
return;
}
// var numbers = ["0","1","2","3","4","5","6","7","8","9"]
// if(numbers.indexOf(e.key) > -1 || e.code == "Digit0" || e.keyCode == 48){
// keyboard.cheatcode(e.key);
// return;
// }
// else{
// this.code_history = "";
// }
// new
if(e.key == "n" && (e.ctrlKey || e.metaKey)){
e.preventDefault();
dotgrid.clear();
return;
}
// switch(e.keyCode || e.key) {
// case 65 : dotgrid.draw_arc(e.shiftKey ? "1,0" : "0,0"); break; // 'a/A'
// case 83 : dotgrid.draw_arc(e.shiftKey ? "1,1" : "0,1"); break; // 's/S'
// case 68 : dotgrid.draw_line(); break; // 'd'
// case 70 : dotgrid.draw_bezier(); break; // 'f'
// case "g" : dotgrid.draw_close(); break;
// case 71 : dotgrid.draw_close(); break; // 'g'
// case "h" : dotgrid.toggle_fill(); break;
// case 72 : dotgrid.toggle_fill(); break; // 'g'
// Reset
if((e.key == "Backspace" || e.key == "Delete") && e.ctrlKey && e.shiftKey){
e.preventDefault();
dotgrid.theme.reset();
return;
}
// case "[" : dotgrid.mod_thickness(-1); break;
// case 219 : dotgrid.mod_thickness(-1); break; // '['
// case "]" : dotgrid.mod_thickness(1); break;
// case 221 : dotgrid.mod_thickness(1); break; // ']'
var numbers = ["0","1","2","3","4","5","6","7","8","9"]
if(numbers.indexOf(e.key) > -1 || e.code == "Digit0" || e.keyCode == 48){
keyboard.cheatcode(e.key);
return;
}
else{
this.code_history = "";
}
// case "+" : dotgrid.mod_thickness(1); break;
// case "-" : dotgrid.mod_thickness(-1); break;
// case "<" : dotgrid.mod_thickness(1); break;
// case ">" : dotgrid.mod_thickness(-1); break;
switch(e.keyCode || e.key) {
case 65 : dotgrid.draw_arc(e.shiftKey ? "1,0" : "0,0"); break; // 'a/A'
case 83 : dotgrid.draw_arc(e.shiftKey ? "1,1" : "0,1"); break; // 's/S'
case 68 : dotgrid.draw_line(); break; // 'd'
case 70 : dotgrid.draw_bezier(); break; // 'f'
case "g" : dotgrid.draw_close(); break;
case 71 : dotgrid.draw_close(); break; // 'g'
case "h" : dotgrid.toggle_fill(); break;
case 72 : dotgrid.toggle_fill(); break; // 'g'
case "[" : dotgrid.mod_thickness(-1); break;
case 219 : dotgrid.mod_thickness(-1); break; // '['
case "]" : dotgrid.mod_thickness(1); break;
case 221 : dotgrid.mod_thickness(1); break; // ']'
case "+" : dotgrid.mod_thickness(1); break;
case "-" : dotgrid.mod_thickness(-1); break;
case "<" : dotgrid.mod_thickness(1); break;
case ">" : dotgrid.mod_thickness(-1); break;
case "/" : dotgrid.mod_linecap(1); break; // '/'
case 191 : dotgrid.mod_linecap(1); break; // '/'
// case "/" : dotgrid.mod_linecap(1); break; // '/'
// case 191 : dotgrid.mod_linecap(1); break; // '/'
case "space" : dotgrid.mod_linecap(1); break; // '/'
case 32 : dotgrid.mod_mirror(); break; // 'space'
// case "space" : dotgrid.mod_linecap(1); break; // '/'
// case 32 : dotgrid.mod_mirror(); break; // 'space'
case "Escape" : dotgrid.mod_linecap(1); break; // '/'
case 27 : dotgrid.reset(); break; // 'ESC'
case 8 : dotgrid.erase(); break; // 'Backspace'
case 13 : dotgrid.export(); break; // 'Enter'
// case "Escape" : dotgrid.mod_linecap(1); break; // '/'
// case 27 : dotgrid.reset(); break; // 'ESC'
// case 8 : dotgrid.erase(); break; // 'Backspace'
// case 13 : dotgrid.export(); break; // 'Enter'
case 9 : dotgrid.interface.toggle(); e.preventDefault(); break; // 'tab'
// case 9 : dotgrid.interface.toggle(); e.preventDefault(); break; // 'tab'
case 38 : dotgrid.mod_move(new Pos(0,-15)); break; // 'up'
case 40 : dotgrid.mod_move(new Pos(0,15)); break; // 'down'
case 37 : dotgrid.mod_move(new Pos(-15,0)); break; // 'left'
case 39 : dotgrid.mod_move(new Pos(15,0)); break; // 'right'
}
dotgrid.draw();
// case 38 : dotgrid.mod_move(new Pos(0,-15)); break; // 'up'
// case 40 : dotgrid.mod_move(new Pos(0,15)); break; // 'down'
// case 37 : dotgrid.mod_move(new Pos(-15,0)); break; // 'left'
// case 39 : dotgrid.mod_move(new Pos(15,0)); break; // 'right'
// }
// dotgrid.draw();
}
this.code_history = "";