Merging params with variables

This commit is contained in:
Devine Lu Linvega 2017-03-18 14:41:16 -07:00
parent e7307f7bdd
commit 15e019d455
26 changed files with 192 additions and 173 deletions

View File

@ -9,7 +9,7 @@
<script type="text/javascript" src="scripts/units/value.js"></script>
<script type="text/javascript" src="scripts/units/filepath.js"></script>
<script type="text/javascript" src="scripts/units/any.js"></script>
<script type="text/javascript" src="scripts/units/variable.js"></script>
<script type="text/javascript" src="scripts/units/setting.js"></script>
<script type="text/javascript" src="scripts/units/range.js"></script>
<script type="text/javascript" src="scripts/modules/default.js"></script>

View File

@ -81,13 +81,13 @@ function Command(content)
return null;
}
this.variable = function(name)
this.setting = function(name)
{
for (i = 0; i < this.content.length; i++) {
if(this.content[i].indexOf("=") >= 0){
var parts = this.content[i].split("=");
if(this.content[i].indexOf(":") >= 0){
var parts = this.content[i].split(":");
if(parts[0] == name){
return new Variable(parts[0],parts[1]);
return new Setting(parts[0],parts[1]);
}
}
}

View File

@ -32,13 +32,14 @@ starting_canvas.width = parseInt(starting_canvas.width/40) * 40;
starting_canvas.height = parseInt(starting_canvas.height/40) * 40;
ronin.terminal.query("~ "+ronin.timestamp());
ronin.terminal.query("@ "+starting_canvas.render());
ronin.terminal.query("@ layer=Main");
ronin.terminal.query("@ #ff0000");
ronin.terminal.query("- 0,0");
ronin.terminal.query("- 1,1");
ronin.terminal.query("- 2,2");
ronin.terminal.query("- #000000");
ronin.terminal.query("@ size:"+starting_canvas.render());
ronin.terminal.query("@ layer:Main");
ronin.terminal.query("- color:#ff0000");
// ronin.terminal.query("# fill=#ff0000");
// ronin.terminal.query("- 0,0");
// ronin.terminal.query("- 1,1");
// ronin.terminal.query("- 2,2");
ronin.terminal.query("~ Ready.");
ronin.terminal.input_element.focus();

View File

@ -43,11 +43,11 @@ function Ronin()
this.position_in_canvas = function(e)
{
var x = e.clientX;
x -= (window.innerWidth - this.surface.size.width)/2;
x -= parseInt(this.surface.element.style.marginLeft) + (this.surface.size.width/2);
x -= (window.innerWidth - this.surface.settings["size"].width)/2;
x -= parseInt(this.surface.element.style.marginLeft) + (this.surface.settings["size"].width/2);
var y = e.clientY;
y -= (window.innerHeight - this.surface.size.height)/2;
y -= parseInt(this.surface.element.style.marginTop) + parseInt(this.surface.size.height/2);
y -= (window.innerHeight - this.surface.settings["size"].height)/2;
y -= parseInt(this.surface.element.style.marginTop) + parseInt(this.surface.settings["size"].height/2);
return new Position(x,y);
}

View File

@ -19,9 +19,9 @@ function Widget()
this.on_resize = function()
{
this.element.style.left = (window.innerWidth/2)-(ronin.surface.size.width/2);
this.element.style.top = (window.innerHeight/2)+(ronin.surface.size.height/2)+20;
this.element.style.width = ronin.surface.size.width+"px";
this.element.style.left = (window.innerWidth/2)-(ronin.surface.settings["size"].width/2);
this.element.style.top = (window.innerHeight/2)+(ronin.surface.settings["size"].height/2)+20;
this.element.style.width = ronin.surface.settings["size"].width+"px";
this.update();
}

View File

@ -25,8 +25,8 @@ function Filter_Balance()
var imageObj = new Image();
imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png');
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
var originalData = ronin.surface.active_layer.context().getImageData(0, 0, w*2, h*2);
var data = originalData.data;

View File

@ -8,7 +8,7 @@ function Filter_Chromatic()
this.render = function(cmd)
{
var position = cmd.position() ? cmd.position() : new Position(ronin.surface.size.width,ronin.surface.size.height);
var position = cmd.position() ? cmd.position() : new Position(ronin.surface.settings["size"].width,ronin.surface.settings["size"].height);
var value = cmd.value() ? cmd.value().float : 5;
ronin.overlay.clear();
@ -26,8 +26,8 @@ function Filter_Chromatic()
this.draw = function(context = this.context(), value, position)
{
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
//no longer letting you set how far each chanel is shifted, not sure how to receive extra data any more
var s = {r:value,g:value*.5,b:0};

View File

@ -78,6 +78,6 @@ function Filter()
this.pixels = function()
{
return ronin.surface.active_layer.context().getImageData(0,0,ronin.surface.size.width * 2,ronin.surface.size.height * 2);
return ronin.surface.active_layer.context().getImageData(0,0,ronin.surface.settings["size"].width * 2,ronin.surface.settings["size"].height * 2);
}
}

View File

@ -29,8 +29,8 @@ function Filter_Grey()
var imageObj = new Image();
imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png');
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
var originalData = ronin.surface.active_layer.context().getImageData(0, 0, w*2, h*2);
var data = originalData.data;

View File

@ -8,8 +8,8 @@ function Filter_Invert()
var imageObj = new Image();
imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png');
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
var context = ronin.surface.active_layer.context();
var originalData = context.getImageData(0, 0, w*2, h*2);

View File

@ -5,7 +5,7 @@ function Filter_Rotate()
this.render = function(cmd)
{
var position = cmd.position() ? cmd.position() : new Position(ronin.surface.size.width/2,ronin.surface.size.height/2);
var position = cmd.position() ? cmd.position() : new Position(ronin.surface.settings["size"].width/2,ronin.surface.settings["size"].height/2);
var angle = cmd.angle() ? cmd.angle().degrees : 90;
ronin.overlay.clear();
@ -23,8 +23,8 @@ function Filter_Rotate()
this.draw = function(context = this.context(), angle, position)
{
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
ronin.overlay.context().drawImage(context.canvas,0,0,w,h);

View File

@ -9,8 +9,8 @@ function Filter_Sharpen()
var imageObj = new Image();
imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png');
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
var context = ronin.surface.active_layer.context();
var originalData = context.getImageData(0, 0, w*2, h*2);

View File

@ -23,8 +23,8 @@ function Filter_Stencil()
this.draw = function(context = this.context(), angle, color)
{
var w = ronin.surface.size.width;
var h = ronin.surface.size.height;
var w = ronin.surface.settings["size"].width;
var h = ronin.surface.settings["size"].height;
context.translate(w/2,h/2);

View File

@ -2,32 +2,21 @@ function Brush(rune)
{
Module.call(this,rune);
this.parameters = [Position,Rect,Angle,Color,Value,Bang];
this.variables = {"natural" : false,"banking" : false};
// this.parameters = {"offset":Position,"mirror":Rect,"angle":Angle,"reset":Bang};
this.parameters = [];
this.settings = {"color":new Color("#ff0000"),"size":new Value(1)};
this.pointers = [];
this.size = 1;
this.opacity = 1;
this.color = new Color();
// Module
this.install = function()
{
this.add_pointer(new Position("0,0"));
}
this.active = function(cmd)
{
if(cmd.bang()){ this.pointers = []; }
// Pointer
if(cmd.rect() || cmd.position() || cmd.angle()){
this.add_pointer(cmd);
}
// Global
if(cmd.color()){
this.color = cmd.color();
}
if(cmd.value()){
this.size = cmd.value().float;
}
}
this.passive = function(cmd)
@ -45,32 +34,23 @@ function Brush(rune)
this.size_up = function()
{
this.size -= this.size > 1 ? 1 : 0;
this.settings["size"].float -= this.settings["size"].float > 1 ? 1 : 0;
ronin.surface.update_widget();
ronin.terminal.log(new Log(this,"Increased pointer size to: "+this.size));
}
this.size_down = function()
{
this.size += 1;
this.settings["size"].float += 1;
ronin.surface.update_widget();
ronin.terminal.log(new Log(this,"Decreased pointer size to: "+this.size));
}
this.add_pointer = function(cmd)
this.add_pointer = function(position)
{
ronin.terminal.log(new Log(this,"Added pointer at: "+position.render()));
var pointer = new Pointer();
if(cmd.position()){
pointer.offset = cmd.position();
}
if(cmd.rect()){
pointer.mirror = cmd.rect();
}
if(cmd.angle()){
pointer.angle = cmd.angle();
}
pointer.offset = position;
this.pointers.push(pointer);
}
@ -87,7 +67,7 @@ function Brush(rune)
ronin.surface.context().moveTo(this.position_prev.x,this.position_prev.y);
ronin.surface.context().lineTo(position.x,position.y);
ronin.surface.context().lineCap="round";
ronin.surface.context().lineWidth = this.size * 5;
ronin.surface.context().lineWidth = this.settings["size"].float * 5;
ronin.surface.context().strokeStyle = new Color("#ff0000").rgba();
ronin.surface.context().stroke();
ronin.surface.context().closePath();
@ -96,14 +76,19 @@ function Brush(rune)
}
// Mouse
this.mouse_pointer = function(position)
{
return ronin.cursor.draw_pointer_circle(position,this.settings["size"]);
}
this.mouse_mode = function()
{
if(keyboard.shift_held == true){
return "Eraser "+this.size;
return "Eraser "+this.settings["size"].float;
}
else{
return "<i style='color:"+this.color.hex+"'>&#9679;</i> Brush "+ronin.brush.pointers.length+"x "+this.size;
return "<i style='color:"+this.settings["color"].hex+"'>&#9679;</i> Brush "+ronin.brush.pointers.length+"x "+this.settings["size"].render();
}
}

View File

@ -12,7 +12,7 @@ function Pointer(offset = new Position(), color = new Color('000000'))
{
var ratio = 10/this.position().distance_to(this.position_prev[0]);
ratio = ratio > 1 ? 1 : ratio;
return ronin.brush.size * ratio;
return ronin.brush.settings["size"].float * ratio;
}
//
@ -57,7 +57,7 @@ function Pointer(offset = new Position(), color = new Color('000000'))
ronin.surface.context().lineCap="round";
ronin.surface.context().lineWidth = this.thickness();
ronin.surface.context().strokeStyle = ronin.brush.color.rgba();
ronin.surface.context().strokeStyle = ronin.brush.settings["color"].rgba();
ronin.surface.context().stroke();
ronin.surface.context().closePath();

View File

@ -2,8 +2,7 @@ function Cursor(rune)
{
Module.call(this,rune);
this.parameters = [Rect,Position,Bang];
this.variables = {};
this.settings = {"grid" : new Rect("10x10"), "markers": new Position("4,4"), "reset" : new Bang()};
this.mode = null;
this.position = new Position();
@ -46,8 +45,8 @@ function Cursor(rune)
{
if(rect.width < 5 || rect.height < 5){ return; }
var horizontal = ronin.surface.size.width/rect.width;
var vertical = ronin.surface.size.height/rect.height;
var horizontal = ronin.surface.settings["size"].width/rect.width;
var vertical = ronin.surface.settings["size"].height/rect.height;
for (var x = 1; x < horizontal; x++) {
for (var y = 1; y < vertical; y++) {
@ -68,6 +67,44 @@ function Cursor(rune)
context.fill();
}
this.draw_pointer_arrow = function(position,size = 1)
{
if(!this.layer){ this.create_layer(); }
this.pointer_last = this.pointer_last ? this.pointer_last : position;
this.layer.context().beginPath();
this.layer.context().moveTo(position.x,position.y);
this.layer.context().lineTo(position.x + 5,position.y);
this.layer.context().moveTo(position.x,position.y);
this.layer.context().lineTo(position.x,position.y + 5);
this.layer.context().lineCap="round";
this.layer.context().lineWidth = 1;
this.layer.context().strokeStyle = "white";
this.layer.context().stroke();
this.layer.context().closePath();
this.pointer_last = position;
}
this.draw_pointer_circle = function(position,size = 1)
{
if(!this.layer){ this.create_layer(); }
this.pointer_last = this.pointer_last ? this.pointer_last : position;
this.layer.context().beginPath();
this.layer.context().arc(position.x, position.y, 3.5, 0, 2 * Math.PI, false);
this.layer.context().lineWidth = 1;
this.layer.context().strokeStyle = "white";
this.layer.context().stroke();
this.layer.context().closePath();
this.pointer_last = position;
}
this.draw_pointer = function(position,size = 1)
{
if(!this.layer){ this.create_layer(); }
@ -166,7 +203,10 @@ function Cursor(rune)
if(!this.layer){ this.create_layer(); }
this.layer.clear();
this.draw_pointer(position);
if(this.mode){this.mode.mouse_pointer(position);}
else{ this.mouse_pointer(position);}
if(this.magnetism){ this.draw(this.magnetism,this.grid); }
if(this.mode.mouse_from == null){ return; }

View File

@ -29,8 +29,8 @@ function Default(rune)
this.drag_offset_x -= offset_x;
this.drag_offset_y -= offset_y;
ronin.surface.element.style.marginLeft = -(ronin.surface.size.width/2) + this.drag_offset_x;
ronin.surface.element.style.marginTop = -(ronin.surface.size.height/2) + this.drag_offset_y;
ronin.surface.element.style.marginLeft = -(ronin.surface.settings["size"].width/2) + this.drag_offset_x;
ronin.surface.element.style.marginTop = -(ronin.surface.settings["size"].height/2) + this.drag_offset_y;
ronin.element.style.backgroundPosition = ((this.drag_offset_x/8))-(window.innerWidth % 20)+"px "+((this.drag_offset_y/8)-(window.innerWidth % 20))+"px";

View File

@ -15,20 +15,20 @@ function FileSave(rune)
var w = window.open('about:blank','image from canvas');
if(cmd.variable("format") && cmd.variable("format").value == "svg"){
if(cmd.setting("format") && cmd.setting("format").value == "svg"){
w.document.write("<title>Untitled</title><body>"+ronin.vector.create_svg()+"</body>");
}
else if(cmd.variable("format") && cmd.variable("format").value == "jpg"){
w.document.write("<title>Untitled</title><body><img src='"+this.merge().element.toDataURL('image/jpeg')+"' width='"+ronin.surface.size.width+"px' height='"+ronin.surface.size.height+"px'/></body>");
else if(cmd.setting("format") && cmd.setting("format").value == "jpg"){
w.document.write("<title>Untitled</title><body><img src='"+this.merge().element.toDataURL('image/jpeg')+"' width='"+ronin.surface.settings["size"].width+"px' height='"+ronin.surface.settings["size"].height+"px'/></body>");
}
else if(cmd.variable("format") && cmd.variable("format").value == "rin"){
else if(cmd.setting("format") && cmd.setting("format").value == "rin"){
var w = window.open('about:blank','source');
var html = "";
for (i = 0; i < ronin.terminal.history.length; i++) { html += ronin.terminal.history[i]+";<br />"; }
w.document.write("<title>Source</title><pre>"+html+"</pre>");
}
else{
w.document.write("<title>Untitled</title><body><img src='"+this.merge().element.toDataURL('image/png')+"' width='"+ronin.surface.size.width+"px' height='"+ronin.surface.size.height+"px'/></body>");
w.document.write("<title>Untitled</title><body><img src='"+this.merge().element.toDataURL('image/png')+"' width='"+ronin.surface.settings["size"].width+"px' height='"+ronin.surface.settings["size"].height+"px'/></body>");
}
this.layer.remove(this);
@ -43,7 +43,7 @@ function FileSave(rune)
}
});
for (i = 0; i < a.length; i++) {
this.layer.context().drawImage(a[i].context().canvas,0,0,ronin.surface.size.width,ronin.surface.size.height);
this.layer.context().drawImage(a[i].context().canvas,0,0,ronin.surface.settings["size"].width,ronin.surface.settings["size"].height);
}
return this.layer;
}

View File

@ -2,8 +2,7 @@ function Module(rune)
{
this.rune = rune;
this.element = null;
this.parameters = [];
this.variables = {};
this.settings = {};
this.layer = null;
this.docs = "Missing documentation.";
@ -34,24 +33,24 @@ function Module(rune)
{
}
this.set_variables = function(cmd)
this.update_settings = function(cmd)
{
for (var key in this.variables){
if(!cmd.variable(key)){ continue; }
this.variables[key] = cmd.variable(key).value;
ronin.terminal.log(new Log(this,"Updated "+key+" with "+cmd.variable(key).value));
for (var key in this.settings){
if(!cmd.setting(key)){ continue; }
var value = new this.settings[key].constructor(cmd.setting(key).value);
this.settings[key] = value;
ronin.terminal.log(new Log(this,"Updated "+key+" with "+cmd.setting(key).value));
return;
}
ronin.terminal.log(new Log(this,"Unknown setting: "+key));
}
this.hint = function(content)
{
var h = "<span class='name'>"+ronin.module.constructor.name+"</span> ";
for(param in ronin.module.parameters){
var name = new ronin.module.parameters[param]().constructor.name;
h += name+" ";
}
for(variable in ronin.module.variables){
h += variable+"="+ronin.module.variables[variable]+" ";
var h = "<b>"+ronin.module.constructor.name+"</b> ";
for(setting in ronin.module.settings){
h += setting+":"+ronin.module.settings[setting].render()+" ";
}
h += ronin.module.mouse_mode() ? "<i>"+ronin.module.mouse_mode()+"</i>" : "";
@ -80,6 +79,11 @@ function Module(rune)
return null;
}
this.mouse_pointer = function(position)
{
return ronin.cursor.draw_pointer_arrow(position);
}
this.mouse_from = null;
this.mouse_held = null;
this.mouse_prev = null;

View File

@ -135,7 +135,7 @@ function Overlay(rune)
this.clear = function()
{
this.context().clearRect(0, 0, ronin.surface.size.width, ronin.surface.size.height);
this.context().clearRect(0, 0, ronin.surface.settings["size"].width, ronin.surface.settings["size"].height);
}
// Cursor

View File

@ -3,15 +3,12 @@ function Surface(rune)
Module.call(this,rune);
this.element = null;
this.parameters = [Rect,Color,Bang];
this.variables = {"layer" : "main"};
this.settings = {"size":new Rect("200x200")};
this.layers = {};
this.active_layer = null;
this.render_layer = null;
this.size = new Rect("200x200");
this.widget_element = document.createElement("widget");
this.install = function()
@ -30,29 +27,12 @@ function Surface(rune)
this.active = function(cmd)
{
if(cmd.rect()){
this.resize(cmd.rect(),cmd.position());
}
if(cmd.color()){
this.context().beginPath();
this.context().rect(0, 0, this.active_layer.element.width, this.active_layer.element.height);
this.context().fillStyle = cmd.color().hex;
this.context().fill();
ronin.terminal.log(new Log(this,"Filled layer: "+cmd.color().hex));
this.element.style.border = "1px solid "+cmd.color().hex;
this.element.setAttribute("class",cmd.color().style());
if(cmd.setting("size")){
this.resize(this.settings["size"],cmd.position());
}
if(cmd.bang() && Object.keys(ronin.surface.layers).length > 1){
this.layers[this.active_layer.name].element.outerHTML = "";
delete this.layers[this.active_layer.name];
this.select_any_layer();
ronin.surface.update_widget();
}
if(cmd.variable("layer")){
var name = cmd.variable("layer").value;
if(cmd.setting("layer")){
var name = cmd.setting("layer").value;
if(!this.layers[name]){
this.add_layer(new Layer(name));
}
@ -60,6 +40,23 @@ function Surface(rune)
}
}
this.resize = function(rect, position = null)
{
Object.keys(ronin.surface.layers).forEach(function (key) {
ronin.surface.layers[key].resize(rect);
});
ronin.surface.element.width = rect.width * 2;
ronin.surface.element.height = rect.height * 2;
ronin.surface.element.style.width = rect.width+"px";
ronin.surface.element.style.height = rect.height+"px";
ronin.surface.element.style.marginLeft = -(rect.width/2);
ronin.surface.element.style.marginTop = -(rect.height/2);
ronin.on_resize();
ronin.terminal.log(new Log(this,"Resized Surface to "+this.settings["size"].render()));
}
this.select_layer = function(layer)
{
console.log("Selecting layer:"+layer.name);
@ -76,7 +73,7 @@ function Surface(rune)
{
ronin.terminal.log(new Log(this,"Creating layer:"+layer.name+(layer.manager ? "["+layer.manager.constructor.name+"]" : "")));
layer.resize(this.size);
layer.resize(this.settings["size"]);
this.layers[layer.name] = layer;
this.element.appendChild(layer.element);
}
@ -88,30 +85,11 @@ function Surface(rune)
}
}
this.resize = function(rect, position = null)
{
this.size = rect;
Object.keys(ronin.surface.layers).forEach(function (key) {
ronin.surface.layers[key].resize(rect);
});
ronin.surface.element.width = rect.width * 2;
ronin.surface.element.height = rect.height * 2;
ronin.surface.element.style.width = rect.width+"px";
ronin.surface.element.style.height = rect.height+"px";
ronin.surface.element.style.marginLeft = -(rect.width/2);
ronin.surface.element.style.marginTop = -(rect.height/2);
ronin.on_resize();
ronin.terminal.log(new Log(this,"Resized Surface to "+this.size.render()));
}
this.widget = function()
{
if(!this.active_layer){ return ""; }
return this.rune+" "+this.size.render();
return this.rune+" "+this.settings["size"].render();
}
// Widget
@ -129,14 +107,14 @@ function Surface(rune)
s += "<span class='cursor'>"+ronin.cursor.mode.mouse_mode()+"</span>";
var keys = Object.keys(ronin.surface.layers);
var loc = keys.indexOf(this.active_layer.name);
// var loc = keys.indexOf(this.active_layer.name);
if(keys.length > 1){
s += "<span class='layer'>"+ronin.surface.active_layer.widget()+"("+(loc+1)+"/"+keys.length+")</span>";
}
else{
s += "<span class='layer'>"+ronin.surface.active_layer.widget()+"</span>";
}
// if(keys.length > 1){
// s += "<span class='layer'>"+ronin.surface.active_layer.widget()+"("+(loc+1)+"/"+keys.length+")</span>";
// }
// else{
// s += "<span class='layer'>"+ronin.surface.active_layer.widget()+"</span>";
// }
this.widget_element.innerHTML = s;
}

View File

@ -21,6 +21,17 @@ function Layer(name,manager = null)
this.context().scale(2,2);
}
this.fill = function(color)
{
this.context().beginPath();
this.context().rect(0, 0, this.active_layer.element.width, this.active_layer.element.height);
this.context().fillStyle = cmd.color().hex;
this.context().fill();
ronin.terminal.log(new Log(this,"Filled layer: "+cmd.color().hex));
this.element.style.border = "1px solid "+cmd.color().hex;
this.element.setAttribute("class",cmd.color().style());
}
this.clear = function()
{
this.context().clearRect(0, 0, this.element.width, this.element.height);
@ -78,7 +89,7 @@ function Layer(name,manager = null)
var offset_x = this.move_from.x - position.x;
var offset_y = this.move_from.y - position.y;
var imageData = this.context().getImageData(0, 0, ronin.surface.size.width * 2, ronin.surface.size.height * 2);
var imageData = this.context().getImageData(0, 0, ronin.surface.settings["size"].width * 2, ronin.surface.settings["size"].height * 2);
this.clear();
this.context().putImageData(imageData, -offset_x * 2, -offset_y * 2);

View File

@ -88,7 +88,7 @@ function Terminal(rune)
var cmd = new Command(content.substring(1).trim().split(" "));
if(ronin.modules[key]){
ronin.modules[key].set_variables(cmd);
ronin.modules[key].update_settings(cmd);
ronin.modules[key].active(cmd);
ronin.terminal.history.push(content);
ronin.terminal.history_index = ronin.terminal.history.length-1;

View File

@ -9,7 +9,7 @@ function Typographe(rune)
{
if(this.layer){ this.layer.remove(this); }
if(cmd.variable("text")){
if(cmd.setting("text")){
this.add_text(ronin.surface.active_layer.context(),cmd);
}
}
@ -18,7 +18,7 @@ function Typographe(rune)
{
if(!this.layer){ this.create_layer(); this.layer.is_blinking = true; }
if(cmd.variable("text")){
if(cmd.setting("text")){
this.layer.clear();
this.add_text(this.layer.context(),cmd);
}
@ -28,11 +28,11 @@ function Typographe(rune)
{
var ctx = context;
var text = cmd.variable("text").value.replace("_"," ");
var text = cmd.setting("text").value.replace("_"," ");
var position = cmd.position() ? cmd.position() : new Position(20,40);
var color = cmd.color() ? cmd.color() : new Color("#000000");
var size = cmd.value() ? cmd.value().int : 40;
var font = cmd.variable("font") ? cmd.variable("font").value : "Georgia";
var font = cmd.setting("font") ? cmd.setting("font").value : "Georgia";
ctx.font = size+"px "+font;
ctx.fillStyle = color.hex;

View File

@ -16,12 +16,12 @@ function Vector(rune)
if(!ronin.vector.layer){ ronin.vector.create_layer(); }
this.layer.clear();
this.layer.context().lineCap = cmd.variable("line_cap") ? cmd.variable("line_cap").value : "square";
this.layer.context().lineWidth = cmd.variable("stroke_width") ? cmd.variable("stroke_width").value : 10;
this.layer.context().strokeStyle = cmd.variable("stroke_color") ? cmd.variable("stroke_color").value : "#ffffff";
this.layer.context().fillStyle = cmd.variable("fill_color") ? cmd.variable("fill_color").value : "#ffffff";
this.layer.context().lineCap = cmd.setting("line_cap") ? cmd.setting("line_cap").value : "square";
this.layer.context().lineWidth = cmd.setting("stroke_width") ? cmd.setting("stroke_width").value : 10;
this.layer.context().strokeStyle = cmd.setting("stroke_color") ? cmd.setting("stroke_color").value : "#ffffff";
this.layer.context().fillStyle = cmd.setting("fill_color") ? cmd.setting("fill_color").value : "#ffffff";
if(cmd.variable("fill_color")){ronin.vector.layer.context().fill(new Path2D(cmd.content.join(" ")));}
if(cmd.setting("fill_color")){ronin.vector.layer.context().fill(new Path2D(cmd.content.join(" ")));}
ronin.vector.layer.context().stroke(new Path2D(cmd.content.join(" ")));
}
@ -32,12 +32,12 @@ function Vector(rune)
if(this.layer){ this.layer.remove(this); }
ronin.surface.active_layer.context().lineCap = cmd.variable("line_cap") ? cmd.variable("line_cap").value : "square";
ronin.surface.active_layer.context().lineWidth = cmd.variable("stroke_width") ? cmd.variable("stroke_width").value : 10;
ronin.surface.active_layer.context().strokeStyle = cmd.variable("stroke_color") ? cmd.variable("stroke_color").value : "#ffffff";
ronin.surface.active_layer.context().fillStyle = cmd.variable("fill_color") ? cmd.variable("fill_color").value : "#ffffff";
ronin.surface.active_layer.context().lineCap = cmd.setting("line_cap") ? cmd.setting("line_cap").value : "square";
ronin.surface.active_layer.context().lineWidth = cmd.setting("stroke_width") ? cmd.setting("stroke_width").value : 10;
ronin.surface.active_layer.context().strokeStyle = cmd.setting("stroke_color") ? cmd.setting("stroke_color").value : "#ffffff";
ronin.surface.active_layer.context().fillStyle = cmd.setting("fill_color") ? cmd.setting("fill_color").value : "#ffffff";
if(cmd.variable("fill_color")){ronin.surface.active_layer.context().fill(new Path2D(cmd.content.join(" ")));}
if(cmd.setting("fill_color")){ronin.surface.active_layer.context().fill(new Path2D(cmd.content.join(" ")));}
ronin.surface.active_layer.context().stroke(new Path2D(cmd.content.join(" ")));
}
@ -57,7 +57,7 @@ function Vector(rune)
{
var s = "";
s += "<svg width='"+ronin.surface.size.width+"' height='"+ronin.surface.size.height+"' xmlns='http://www.w3.org/2000/svg' baseProfile='full' version='1.1' style='fill:none;stroke:red;stroke-width:2px;stroke-linecap:square;'>";
s += "<svg width='"+ronin.surface.settings["size"].width+"' height='"+ronin.surface.settings["size"].height+"' xmlns='http://www.w3.org/2000/svg' baseProfile='full' version='1.1' style='fill:none;stroke:red;stroke-width:2px;stroke-linecap:square;'>";
for (var i = 0; i < this.paths.length; i++) {
s += "<path d='"+this.paths[i]+"' />";

View File

@ -1,4 +1,4 @@
function Variable(key,value)
function Setting(key,value)
{
Unit.call(this);