diff --git a/index.html b/index.html index 7dbe6e2..fe93ed0 100644 --- a/index.html +++ b/index.html @@ -32,12 +32,14 @@ - + + diff --git a/scripts/core/commander.js b/scripts/core/commander.js index bfb4b05..c517738 100644 --- a/scripts/core/commander.js +++ b/scripts/core/commander.js @@ -23,6 +23,7 @@ function Commander(element,element_input) function run() { + console.log("~ "+queue[0].trim()); active(queue[0].trim()); queue.shift(); @@ -34,7 +35,7 @@ function Commander(element,element_input) function active(content) { var key = content[0]; - var cmd = new Command(content.substring(1).split(" ")); + var cmd = new Command(content.substring(1).trim().split(" ")); if(ronin.modules[key]){ ronin.modules[key].active(cmd); diff --git a/scripts/filters/balance.js b/scripts/filters/_balance.js similarity index 100% rename from scripts/filters/balance.js rename to scripts/filters/_balance.js diff --git a/scripts/filters/chromatic.js b/scripts/filters/_chromatic.js similarity index 100% rename from scripts/filters/chromatic.js rename to scripts/filters/_chromatic.js diff --git a/scripts/filters/eval.js b/scripts/filters/_eval.js similarity index 100% rename from scripts/filters/eval.js rename to scripts/filters/_eval.js diff --git a/scripts/filters/offset.js b/scripts/filters/_offset.js similarity index 100% rename from scripts/filters/offset.js rename to scripts/filters/_offset.js diff --git a/scripts/filters/saturation.js b/scripts/filters/_saturation.js similarity index 100% rename from scripts/filters/saturation.js rename to scripts/filters/_saturation.js diff --git a/scripts/filters/filter.js b/scripts/filters/filter.js index 15a4781..df5ab5a 100644 --- a/scripts/filters/filter.js +++ b/scripts/filters/filter.js @@ -55,6 +55,6 @@ function Filter() this.pixels = function() { - return this.context().getImageData(0,0,ronin.surface.size.width,ronin.surface.size.height); + return ronin.surface.active_layer.context().getImageData(0,0,ronin.surface.size.width * 2,ronin.surface.size.height * 2); } } \ No newline at end of file diff --git a/scripts/filters/invert.js b/scripts/filters/invert.js new file mode 100644 index 0000000..2286ab8 --- /dev/null +++ b/scripts/filters/invert.js @@ -0,0 +1,26 @@ +function Filter_Invert() +{ + Filter.call(this); + this.parameters = [Angle]; + + this.render = function(cmd) + { + var imageObj = new Image(); + imageObj.src = ronin.surface.active_layer.element.toDataURL('image/png'); + + var context = ronin.surface.active_layer.context(); + + var imageData = context.getImageData(0, 0, imageObj.width * 2, imageObj.height* 2); + var data = imageData.data; + + for(var i = 0; i < data.length; i += 4) { + data[i] = 255 - data[i]; + data[i + 1] = 255 - data[i + 1]; + data[i + 2] = 255 - data[i + 2]; + } + + ronin.surface.active_layer.clear(); + context.putImageData(imageData, 0, 0); + } + +} \ No newline at end of file diff --git a/scripts/modules/render.js b/scripts/modules/render.js index b0b1af9..2826da7 100644 --- a/scripts/modules/render.js +++ b/scripts/modules/render.js @@ -7,6 +7,7 @@ function Render(rune) this.collection["stencil"] = new Filter_Stencil(); this.collection["rotate"] = new Filter_Rotate(); + this.collection["invert"] = new Filter_Invert(); this.active = function(cmd) { diff --git a/scripts/modules/surface.js b/scripts/modules/surface.js index bcd80ab..953074b 100644 --- a/scripts/modules/surface.js +++ b/scripts/modules/surface.js @@ -18,12 +18,14 @@ function Surface(rune) this.resize(cmd.rect(),cmd.position()); ronin.overlay.resize(cmd.rect()); } + 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(); } + if(cmd.bang() && Object.keys(ronin.surface.layers).length > 1){ delete this.layers[this.active_layer.name]; this.select_any_layer();