diff --git a/sources/ronin.html b/sources/ronin.html index cf629a2..b359f1d 100644 --- a/sources/ronin.html +++ b/sources/ronin.html @@ -50,9 +50,7 @@
-
- -
+
Loading..
diff --git a/sources/scripts/core/commander.hint.js b/sources/scripts/core/commander.hint.js index edb5974..61df582 100644 --- a/sources/scripts/core/commander.hint.js +++ b/sources/scripts/core/commander.hint.js @@ -30,7 +30,7 @@ function Hint(element) var s = "Modules"; for (var key in ronin.modules){ - s += " "+key+" "+ronin.modules[key].constructor.name.substr(0,2)+" "; + s += " "+key+" "+ronin.modules[key].constructor.name+" "; } return s; diff --git a/sources/scripts/core/init.js b/sources/scripts/core/init.js index 40bbde1..aad7075 100644 --- a/sources/scripts/core/init.js +++ b/sources/scripts/core/init.js @@ -1,6 +1,5 @@ var ronin = new Ronin(); ronin.element = document.getElementById('ronin'); -ronin.overlay.element = document.getElementById('overlay'); ronin.surface.element = document.getElementById('surface'); ronin.widget.element = document.getElementById('widget'); ronin.cursor.mode = ronin.brush; @@ -22,6 +21,8 @@ var keyboard = new Keyboard(); document.onkeyup = function myFunction(){ keyboard.listen_onkeyup(event); }; document.onkeydown = function myFunction(){ keyboard.listen_onkeydown(event); }; +ronin.install(); + // Canvas var starting_canvas = new Rect(); starting_canvas.width = window.innerWidth - 200; diff --git a/sources/scripts/core/ronin.js b/sources/scripts/core/ronin.js index 57152eb..44fae53 100644 --- a/sources/scripts/core/ronin.js +++ b/sources/scripts/core/ronin.js @@ -34,13 +34,14 @@ function Ronin() this.modules[this.vector.rune] = this.vector; this.modules[this.help.rune] = this.help; - // Install - - for(var key in this.modules){ - this.modules[key].install(); - } - // + + this.install = function() + { + for(var key in this.modules){ + this.modules[key].install(); + } + } this.cursors = []; diff --git a/sources/scripts/modules/file.load.js b/sources/scripts/modules/file.load.js index 089dcd8..97e0cf2 100644 --- a/sources/scripts/modules/file.load.js +++ b/sources/scripts/modules/file.load.js @@ -14,7 +14,7 @@ function FileLoad(rune) base_image = new Image(); base_image.src = cmd.filepath().path; - base_image.src += '?' + new Date().getTime(); + base_image.src += '?'+new Date().getTime(); base_image.crossOrigin = "Anonymous"; base_image.onload = function(){ diff --git a/sources/scripts/modules/overlay.js b/sources/scripts/modules/overlay.js index d86634f..426f644 100644 --- a/sources/scripts/modules/overlay.js +++ b/sources/scripts/modules/overlay.js @@ -2,10 +2,17 @@ function Overlay(rune) { Module.call(this,rune); - this.parameters = [Position,Rect]; - - // Module + this.parameters = [Position,Rect,Color]; + this.color = new Color("#ff00ff"); + this.layer = null; + + this.install = function() + { + this.layer = new Layer("Test",this); + ronin.surface.add_layer(this.layer); + } + this.passive = function(cmd) { this.draw(cmd.position(),cmd.rect()); @@ -14,6 +21,7 @@ function Overlay(rune) this.active = function(cmd) { if(cmd.bang()){ this.guides = []; } + if(cmd.color()){ this.color = cmd.color(); } } // draw @@ -52,7 +60,7 @@ function Overlay(rune) this.context().lineCap="round"; this.context().lineWidth = 1; - this.context().strokeStyle = "#ff0000"; + this.context().strokeStyle = this.color.hex; this.context().stroke(); this.context().closePath(); } @@ -68,7 +76,7 @@ function Overlay(rune) this.context().lineCap="round"; this.context().lineWidth = 1; - this.context().strokeStyle = "#ff0000"; + this.context().strokeStyle = this.color.hex; this.context().stroke(); this.context().closePath(); } @@ -82,7 +90,7 @@ function Overlay(rune) this.context().lineCap="round"; this.context().lineWidth = 1; - this.context().strokeStyle = "#ff0000"; + this.context().strokeStyle = this.color.hex; this.context().stroke(); this.context().closePath(); } @@ -96,23 +104,14 @@ function Overlay(rune) this.context().lineCap="round"; this.context().lineWidth = 1; - this.context().strokeStyle = "#ff0000"; + this.context().strokeStyle = this.color.hex; this.context().stroke(); this.context().closePath(); } - this.resize = function(rect) - { - this.element.width = rect.width * 2; - this.element.height = rect.height * 2; - this.element.style.width = rect.width+"px"; - this.element.style.height = rect.height+"px"; - this.context().scale(2,2); - } - this.context = function() { - return this.element.getContext('2d'); + return this.layer.context(); } this.clear = function() diff --git a/sources/scripts/modules/surface.js b/sources/scripts/modules/surface.js index 27389cd..a4b3865 100644 --- a/sources/scripts/modules/surface.js +++ b/sources/scripts/modules/surface.js @@ -10,13 +10,12 @@ function Surface(rune) this.active_layer = null; this.render_layer = null; - this.size = null; + this.size = new Rect("200x200"); this.active = function(cmd) { if(cmd.rect()){ this.resize(cmd.rect(),cmd.position()); - ronin.overlay.resize(cmd.rect()); } if(cmd.color()){ @@ -27,7 +26,7 @@ function Surface(rune) } if(cmd.bang() && Object.keys(ronin.surface.layers).length > 1){ - // Remove element from DOM + this.layers[this.active_layer.name].element.outerHTML = ""; delete this.layers[this.active_layer.name]; this.select_any_layer(); ronin.widget.update(); @@ -36,7 +35,7 @@ function Surface(rune) if(cmd.variable("layer")){ var name = cmd.variable("layer").value; if(!this.layers[name]){ - this.add_layer(new Layer(name,this.size)); + this.add_layer(new Layer(name)); } this.select_layer(this.layers[name]); } diff --git a/sources/scripts/modules/surface.layer.js b/sources/scripts/modules/surface.layer.js index 69e57a7..ac74433 100644 --- a/sources/scripts/modules/surface.layer.js +++ b/sources/scripts/modules/surface.layer.js @@ -1,7 +1,7 @@ -function Layer(name,host = "user") +function Layer(name,manager = null) { this.name = name; - this.host = host; + this.manager = manager; this.element = document.createElement("canvas"); this.element.setAttribute("id","_"+name); this.element.setAttribute("class","layer"); @@ -44,7 +44,7 @@ function Layer(name,host = "user") this.widget = function() { - return (ronin.surface.active_layer.name == this.name) ? "- "+this.name+"
" : "- "+this.name+"
"; + return (ronin.surface.active_layer.name == this.name) ? "- "+(this.manager != null ? this.manager.constructor.name+"." : '')+this.name+"
" : "- "+(this.manager != null ? this.manager.constructor.name+"." : '')+this.name+"
"; } this.move_from = null;