Started to clean up and migrate units.

This commit is contained in:
Devine Lu Linvega 2016-11-14 10:35:38 -08:00
parent f42bd9cbaf
commit 288c26a11e
10 changed files with 210 additions and 16 deletions

View File

@ -1,8 +1,14 @@
<html> <html>
<head> <head>
<link rel="stylesheet" type="text/css" href="links/main.css"/> <link rel="stylesheet" type="text/css" href="links/main.css"/>
<script type="text/javascript" src="scripts/unit.rect.js"></script>
<script type="text/javascript" src="scripts/ronin.module.js"></script>
<script type="text/javascript" src="scripts/ronin.canvas.js"></script>
<script type="text/javascript" src="scripts/ronin.overlay.js"></script>
<script type="text/javascript" src="scripts/position.js"></script> <script type="text/javascript" src="scripts/position.js"></script>
<script type="text/javascript" src="scripts/rect.js"></script>
<script type="text/javascript" src="scripts/color.js"></script> <script type="text/javascript" src="scripts/color.js"></script>
<script type="text/javascript" src="scripts/pointer.js"></script> <script type="text/javascript" src="scripts/pointer.js"></script>
<script type="text/javascript" src="scripts/brush.js"></script> <script type="text/javascript" src="scripts/brush.js"></script>

View File

@ -15,9 +15,53 @@ function Commander(element,element_input)
this.element_input.value = ""; this.element_input.value = "";
} }
this.validate = function(command) this.active = function(command)
{ {
var parts = command; var parts = command;
var key = parts[0];
parts.shift();
var params = parts;
switch(key) {
case "@":
ronin.canvas.active(params);
break;
case "~":
ronin.history.active(params);
break;
case "$":
ronin.save.active(params);
break;
case "/":
ronin.load.active(params);
break;
case "&":
ronin.brush.active(params);
break;
case ">":
ronin.pointer.active(params);
break;
case "|":
ronin.guide.active(params);
break;
case "^":
ronin.translate.active(params);
break;
case "=":
ronin.zoom.active(params);
break;
case "#":
ronin.layers.active(params);
break;
case ":":
ronin.filter.active(params);
break;
}
this.hide();
/*
var parts = command;
// Canvas // Canvas
if(parts[0] == "@"){ if(parts[0] == "@"){
@ -63,13 +107,51 @@ function Commander(element,element_input)
parts.shift(); parts.shift();
ronin.add_guide(parts); ronin.add_guide(parts);
} }
this.hide();
*/
} }
this.passive = function() this.passive = function(command)
{ {
var parts = this.element_input.value.split(" "); var parts = command;
var key = parts[0];
parts.shift();
var params = parts;
switch(key) {
case "@":
ronin.canvas.passive(params);
break;
case "~":
ronin.history.passive(params);
break;
case "/":
ronin.load.passive(params);
break;
case "&":
ronin.brush.passive(params);
break;
case ">":
ronin.pointer.passive(params);
break;
case "|":
ronin.guide.passive(params);
break;
case "^":
ronin.translate.passive(params);
break;
case "=":
ronin.zoom.passive(params);
break;
case "#":
ronin.layers.passive(params);
break;
case ":":
ronin.filter.passive(params);
break;
}
/*
// Guides // Guides
if(parts[0] == "|"){ if(parts[0] == "|"){
parts.shift(); parts.shift();
@ -82,5 +164,6 @@ function Commander(element,element_input)
parts.shift(); parts.shift();
ronin.guide(parts); ronin.guide(parts);
} }
*/
} }
} }

View File

@ -1,7 +1,25 @@
function Keyboard() function Keyboard()
{ {
this.is_locked = false; this.is_locked = false;
this.cmd = function()
{
var val = commander.element_input.value;
if(val.indexOf(";") > 0){
var cmds = val.split(";");
var vals = [];
for (i = 0; i < cmds.length; i++) {
val = cmds[i].replace(/^\s+|\s+$/g, '');
vals.push(val.split(" "));
}
return vals;
}
else{
return [val.split(" ")];
}
}
this.lock = function() this.lock = function()
{ {
this.is_locked = true; this.is_locked = true;
@ -31,7 +49,19 @@ function Keyboard()
case 27: this.key_escape(); break; case 27: this.key_escape(); break;
} }
commander.passive(); // Passive
var cmd = commander.element_input.value;
if(cmd.indexOf(";") > 0){
var cmds = cmd.split(";");
for (i = 0; i < cmds.length; i++) {
cmd = cmds[i].replace(/^\s+|\s+$/g, '');
commander.passive(cmd.split(" "));
}
}
else{
commander.passive(cmd.split(" "));
}
}; };
this.key_tab = function() this.key_tab = function()
@ -47,11 +77,11 @@ function Keyboard()
var cmds = cmd.split(";"); var cmds = cmd.split(";");
for (i = 0; i < cmds.length; i++) { for (i = 0; i < cmds.length; i++) {
cmd = cmds[i].replace(/^\s+|\s+$/g, ''); cmd = cmds[i].replace(/^\s+|\s+$/g, '');
commander.validate(cmd.split(" ")); commander.active(cmd.split(" "));
} }
} }
else{ else{
commander.validate(cmd.split(" ")); commander.active(cmd.split(" "));
} }
} }

View File

@ -1,12 +1,26 @@
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var ronin = new Ronin(); var ronin = new Ronin();
ronin.canvas.element = canvas;
ronin.overlay.element = canvas;
ronin.element = document.getElementById('ronin'); ronin.element = document.getElementById('ronin');
ronin.guides_element = document.getElementById('guides'); ronin.guides_element = document.getElementById('guides');
ronin.guides_context = ronin.guides_element.getContext('2d'); ronin.guides_context = ronin.guides_element.getContext('2d');
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var brush = new Brush(); var brush = new Brush();
var commander = new Commander(document.getElementById("commander"),document.getElementById("commander_input")); var commander = new Commander(document.getElementById("commander"),document.getElementById("commander_input"));
document.addEventListener('mousemove', function(e) { document.addEventListener('mousemove', function(e) {

View File

@ -1,5 +0,0 @@
function Rect(w = 0,h = 0)
{
this.w = parseFloat(w);
this.h = parseFloat(h);
}

33
scripts/ronin.canvas.js Normal file
View File

@ -0,0 +1,33 @@
function Canvas(element)
{
Module.call(this);
this.element = element;
this.active = function(p)
{
if(p[0].indexOf("x") >= 0){
var rect = new Rect(p[0]);
this.resize(rect);
ronin.overlay.resize(rect);
}
if(p.length > 1 && p[1].indexOf("#") >= 0){
var color = new Color(p[1]);
console.log("TODO: Fill with color");
}
}
this.passive = function(p)
{
console.log("TODO: Show guide");
}
//
this.resize = function(rect)
{
this.element.setAttribute('width',rect.width+"px");
this.element.setAttribute('height',rect.height+"px");
}
}

View File

@ -1,6 +1,8 @@
function Ronin() function Ronin()
{ {
this.element = null; this.element = null;
this.canvas = new Canvas();
this.overlay = new Overlay();
this.load_image = function(p) this.load_image = function(p)
{ {

12
scripts/ronin.module.js Normal file
View File

@ -0,0 +1,12 @@
function Module()
{
this.active = function()
{
console.log("Nothing to do.");
}
this.passive = function()
{
console.log("Nothing to do.");
}
}

12
scripts/ronin.overlay.js Normal file
View File

@ -0,0 +1,12 @@
function Overlay(element)
{
Module.call(this);
this.element = element;
this.resize = function(rect)
{
this.element.setAttribute('width',rect.width+"px");
this.element.setAttribute('height',rect.height+"px");
}
}

7
scripts/unit.rect.js Normal file
View File

@ -0,0 +1,7 @@
function Rect(rect_str)
{
this.rect_str = rect_str;
this.width = parseFloat(this.rect_str.split("x")[0]);
this.height = parseFloat(this.rect_str.split("x")[1]);
}