Removed modes, merged with modules.
This commit is contained in:
		| @@ -31,11 +31,6 @@ | ||||
|     <script type="text/javascript" src="scripts/modules/filter.eval.js"></script> | ||||
|     <script type="text/javascript" src="scripts/modules/filter.balance.js"></script> | ||||
|      | ||||
|     <script type="text/javascript" src="scripts/modes/mode.js"></script> | ||||
|     <script type="text/javascript" src="scripts/modes/mode.paint.js"></script> | ||||
|     <script type="text/javascript" src="scripts/modes/mode.drag.js"></script> | ||||
|     <script type="text/javascript" src="scripts/modes/mode.guide.js"></script> | ||||
|      | ||||
|     <script type="text/javascript" src="scripts/core/keyboard.js"></script> | ||||
|     <script type="text/javascript" src="scripts/core/cursor.js"></script> | ||||
|     <script type="text/javascript" src="scripts/core/command.js"></script> | ||||
| @@ -52,7 +47,7 @@ | ||||
|       <div id='surface' style='left:0px;top:0px'> | ||||
|         <canvas id='overlay' width="1480" height="800"></canvas> | ||||
|         <canvas id="workspace" width="1480" height="800"></canvas> | ||||
|         <div id='widget'>This is a test</div> | ||||
|         <div id='widget'>Loading..</div> | ||||
|       </div> | ||||
|       <div id ='commander'> | ||||
|         <div id='commander_hint'></div> | ||||
|   | ||||
| @@ -2,6 +2,7 @@ function Commander(element,element_input) | ||||
| { | ||||
|   this.element = element; | ||||
|   this.element_input = element_input; | ||||
|   this.hint = new Hint(); | ||||
|   this.storage = []; | ||||
|   this.storage_index = 0; | ||||
|   this.always_show = false; | ||||
| @@ -44,6 +45,7 @@ function Commander(element,element_input) | ||||
|       ronin.modules[key].passive(cmd); | ||||
|       ronin.module = ronin.modules[key]; | ||||
|     } | ||||
|     this.hint.update(ronin.module,cmd); | ||||
|   } | ||||
|    | ||||
|   // | ||||
|   | ||||
| @@ -1,22 +1,22 @@ | ||||
| function Cursor() | ||||
| { | ||||
|   this.mode = new Mode_Paint(); | ||||
|   this.mode = null; | ||||
|   this.position = new Position(); | ||||
|    | ||||
|   this.update = function(event) | ||||
|   { | ||||
|     if(event.ctrlKey === true){ this.set_mode(new Mode_Guide()); } | ||||
|     else if(event.altKey === true){ this.set_mode(new Mode_Drag()); } | ||||
|     else if(event.shiftKey === true){ this.set_mode(new Mode_Paint()); } | ||||
|     else{ this.set_mode(new Mode_Paint()); } | ||||
|     if(event.ctrlKey === true){ this.set_mode(ronin.overlay); } | ||||
|     else if(event.altKey === true){ this.set_mode(ronin.canvas); } | ||||
|     else if(event.shiftKey === true){ this.set_mode(ronin.brush);  } | ||||
|     else{ this.set_mode(ronin.brush); } | ||||
|   } | ||||
|    | ||||
|   this.set_mode = function(mode) | ||||
|   { | ||||
|     if(this.mode.name == mode.name){ return; } | ||||
|     // if(this.mode.constructor.name == mode.constructor.name){ return; } | ||||
|     this.mode = mode; | ||||
|     document.body.setAttribute("class",this.mode.name); | ||||
|     ronin.widget.update(); | ||||
|     document.body.setAttribute("class",this.mode.constructor.name); | ||||
|     // ronin.widget.update(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_down = function(position) | ||||
|   | ||||
| @@ -4,12 +4,10 @@ function Hint(element) | ||||
|    | ||||
|   this.element = element; | ||||
|    | ||||
|   this.update = function() | ||||
|   this.update = function(module,cmd) | ||||
|   { | ||||
|     return; // TODO | ||||
|      | ||||
|     if(ronin.module){ | ||||
|       this.element.innerHTML = this.message(ronin.module,commander.cmd); | ||||
|     if(module){ | ||||
|       this.element.innerHTML = this.message(module,cmd); | ||||
|       this.element.style.display = "block"; | ||||
|     } | ||||
|     else{ | ||||
|   | ||||
| @@ -1,11 +1,12 @@ | ||||
| var ronin = new Ronin(); | ||||
| ronin.canvas.element = document.getElementById('workspace'); | ||||
| ronin.overlay.element = document.getElementById('overlay'); | ||||
| ronin.hint.element = document.getElementById('commander_hint'); | ||||
| ronin.surface = document.getElementById('surface'); | ||||
| ronin.widget.element = document.getElementById('widget'); | ||||
| ronin.cursor.mode = ronin.brush; | ||||
|  | ||||
| var commander = new Commander(document.getElementById("commander"),document.getElementById("commander_input")); | ||||
| commander.hint.element = document.getElementById('commander_hint'); | ||||
|  | ||||
| // Cursor | ||||
| document.addEventListener('mousedown', function(e){ ronin.cursor.mouse_down(ronin.position_in_canvas(e));}, false); | ||||
|   | ||||
| @@ -34,9 +34,8 @@ function Keyboard() | ||||
|  | ||||
|     // Passive | ||||
|     commander.passive(commander.element_input.value); | ||||
|     ronin.hint.update(); | ||||
|      | ||||
|     ronin.cursor.set_mode(new Mode_Paint()); | ||||
|     ronin.cursor.set_mode(ronin.brush); | ||||
|     ronin.widget.update(); | ||||
|   }; | ||||
|    | ||||
|   | ||||
| @@ -2,7 +2,6 @@ function Ronin() | ||||
| { | ||||
|   this.modules  = {}; | ||||
|    | ||||
|   this.hint     = new Hint(); | ||||
|   this.widget   = new Widget(); | ||||
|   this.surface  = null; | ||||
|    | ||||
| @@ -34,7 +33,9 @@ function Ronin() | ||||
|    | ||||
|   this.position_in_canvas = function(e) | ||||
|   { | ||||
|     return new Position(e.clientX - parseFloat(ronin.surface.style.left) - parseFloat(ronin.canvas.element.style.left),e.clientY- parseFloat(ronin.surface.style.top) - parseFloat(ronin.canvas.element.style.top)); | ||||
|     var x = e.clientX - parseFloat(ronin.surface.style.left) - parseFloat(ronin.canvas.element.style.left); | ||||
|     var y = e.clientY- parseFloat(ronin.surface.style.top) - parseFloat(ronin.canvas.element.style.top); | ||||
|     return new Position(x+","+y); | ||||
|   } | ||||
|    | ||||
|   this.position_in_window = function(p) | ||||
|   | ||||
| @@ -10,7 +10,7 @@ function Widget() | ||||
|       s += ronin.modules[key].widget(); | ||||
|     } | ||||
|    | ||||
|     s += "<span class='cursor'>"+ronin.cursor.mode.widget()+"</span>"; | ||||
|     // s += "<span class='cursor'>"+ronin.cursor.mode.widget()+"</span>"; | ||||
|      | ||||
|     this.element.innerHTML = s; | ||||
|   } | ||||
|   | ||||
| @@ -1,33 +0,0 @@ | ||||
| function Mode_Drag() | ||||
| { | ||||
|   Mode.call(this); | ||||
|    | ||||
|   this.name = "Drag"; | ||||
|    | ||||
|   this.drag_from = null; | ||||
|  | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     this.drag_from = ronin.position_in_window(position); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.drag_from === null){ return; } | ||||
|      | ||||
|     position = ronin.position_in_window(position); | ||||
|      | ||||
|     var offset_x = this.drag_from.x - position.x; | ||||
|     var offset_y = this.drag_from.y - position.y; | ||||
|      | ||||
|     ronin.surface.style.left = ronin.surface.style.left ? parseInt(ronin.surface.style.left) - offset_x : offset_x; | ||||
|     ronin.surface.style.top = ronin.surface.style.top ? parseInt(ronin.surface.style.top) - offset_y : offset_y; | ||||
|      | ||||
|     this.drag_from = new Position(position.x,position.y); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(event) | ||||
|   { | ||||
|     this.drag_from = null; | ||||
|   } | ||||
| } | ||||
| @@ -1,38 +0,0 @@ | ||||
| function Mode_Guide() | ||||
| { | ||||
|   Mode.call(this); | ||||
|    | ||||
|   this.name = "Guide"; | ||||
|    | ||||
|   this.live_draw_from = null; | ||||
|  | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     ronin.overlay.clear(); | ||||
|     ronin.overlay.draw_pointer(position); | ||||
|     this.live_draw_from = position; | ||||
|     commander.show(); | ||||
|     commander.element_input.focus(); | ||||
|     commander.element_input.value = "| "+this.live_draw_from.render(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.live_draw_from === null){ return; } | ||||
|      | ||||
|     ronin.overlay.clear(); | ||||
|      | ||||
|     var rect = new Rect(); | ||||
|     rect.width = position.x - this.live_draw_from.x; | ||||
|     rect.height = position.y - this.live_draw_from.y; | ||||
|    | ||||
|     ronin.overlay.draw_rect(this.live_draw_from,rect); | ||||
|     commander.element_input.value = "| "+this.live_draw_from.render()+" "+rect.render(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(position) | ||||
|   { | ||||
|     this.live_draw_from = null; | ||||
|     commander.element_input.focus(); | ||||
|   } | ||||
| } | ||||
| @@ -1,24 +0,0 @@ | ||||
| function Mode() | ||||
| { | ||||
|   this.name = "Unknown"; | ||||
|    | ||||
|   this.widget = function() | ||||
|   { | ||||
|     return this.name; | ||||
|   } | ||||
|    | ||||
|   this.mouse_down = function(event) | ||||
|   { | ||||
|     console.log("??"); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(event) | ||||
|   { | ||||
|      | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(event) | ||||
|   { | ||||
|      | ||||
|   } | ||||
| } | ||||
| @@ -1,40 +0,0 @@ | ||||
| function Mode_Paint() | ||||
| { | ||||
|   Mode.call(this); | ||||
|    | ||||
|   this.name = "Paint"; | ||||
|   this.is_drawing = false; | ||||
|    | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     this.is_drawing = true; | ||||
|      | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].start(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.new_stroke(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.is_drawing === false){ return; } | ||||
|    | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].draw(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.append_stroke(position); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(position) | ||||
|   { | ||||
|     this.is_drawing = false; | ||||
|      | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].stop(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.save_stroke(); | ||||
|   } | ||||
| } | ||||
| @@ -5,7 +5,6 @@ function Brush(rune) | ||||
|   this.parameters = [Position,Rect,Angle,Color,Value,Bang]; | ||||
|   this.pointers = [new Pointer(new Position())]; | ||||
|    | ||||
|   this.position = new Position(); | ||||
|   this.size = 1; | ||||
|   this.opacity = 1; | ||||
|   this.color = new Color(); | ||||
| @@ -63,6 +62,43 @@ function Brush(rune) | ||||
|  | ||||
|   this.widget = function() | ||||
|   { | ||||
|     return "> "+this.size+" <span style='color:"+this.color.render()+"'>"+this.color.render()+"</span> "; | ||||
|     return "> "+this.size+" <span>"+this.color.render()+"</span> "; | ||||
|   } | ||||
|    | ||||
|   // Cursor | ||||
|  | ||||
|   this.is_drawing = false; | ||||
|    | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     this.is_drawing = true; | ||||
|      | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].start(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.new_stroke(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.is_drawing === false){ return; } | ||||
|    | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].draw(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.append_stroke(position); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(position) | ||||
|   { | ||||
|     this.is_drawing = false; | ||||
|      | ||||
|     for (i = 0; i < ronin.brush.pointers.length; i++) { | ||||
|       ronin.brush.pointers[i].stop(); | ||||
|     } | ||||
|      | ||||
|     ronin.stroke.save_stroke(); | ||||
|   } | ||||
| } | ||||
| @@ -67,4 +67,33 @@ function Canvas(rune) | ||||
|   { | ||||
|     return "@ "+this.element.width+"x"+this.element.height+" "; | ||||
|   } | ||||
|    | ||||
|   // Cursor | ||||
|    | ||||
|   this.drag_from = null; | ||||
|  | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     this.drag_from = ronin.position_in_window(position); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.drag_from === null){ return; } | ||||
|      | ||||
|     position = ronin.position_in_window(position); | ||||
|      | ||||
|     var offset_x = this.drag_from.x - position.x; | ||||
|     var offset_y = this.drag_from.y - position.y; | ||||
|      | ||||
|     ronin.surface.style.left = ronin.surface.style.left ? parseInt(ronin.surface.style.left) - offset_x : offset_x; | ||||
|     ronin.surface.style.top = ronin.surface.style.top ? parseInt(ronin.surface.style.top) - offset_y : offset_y; | ||||
|      | ||||
|     this.drag_from = new Position(position.x,position.y); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(event) | ||||
|   { | ||||
|     this.drag_from = null; | ||||
|   } | ||||
| } | ||||
| @@ -24,4 +24,17 @@ function Module(rune) | ||||
|   { | ||||
|     return ""; | ||||
|   } | ||||
|    | ||||
|    | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(position) | ||||
|   { | ||||
|   } | ||||
| } | ||||
| @@ -118,4 +118,38 @@ function Overlay(rune) | ||||
|   { | ||||
|     this.context().clearRect(0, 0, ronin.canvas.element.width, ronin.canvas.element.height); | ||||
|   } | ||||
|    | ||||
|   // Cursor | ||||
|    | ||||
|   this.live_draw_from = null; | ||||
|  | ||||
|   this.mouse_down = function(position) | ||||
|   { | ||||
|     ronin.overlay.clear(); | ||||
|     ronin.overlay.draw_pointer(position); | ||||
|     this.live_draw_from = position; | ||||
|     commander.show(); | ||||
|     commander.element_input.focus(); | ||||
|     commander.element_input.value = "| "+this.live_draw_from.render(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_move = function(position) | ||||
|   { | ||||
|     if(this.live_draw_from === null){ return; } | ||||
|      | ||||
|     ronin.overlay.clear(); | ||||
|      | ||||
|     var rect = new Rect(); | ||||
|     rect.width = position.x - this.live_draw_from.x; | ||||
|     rect.height = position.y - this.live_draw_from.y; | ||||
|    | ||||
|     ronin.overlay.draw_rect(this.live_draw_from,rect); | ||||
|     commander.element_input.value = "| "+this.live_draw_from.render()+" "+rect.render(); | ||||
|   } | ||||
|    | ||||
|   this.mouse_up = function(position) | ||||
|   { | ||||
|     this.live_draw_from = null; | ||||
|     commander.element_input.focus(); | ||||
|   } | ||||
| } | ||||
| @@ -24,8 +24,8 @@ function Stroke(rune) | ||||
|     for (i = 0; i < this.positions.length; i++) { | ||||
|       s += this.positions[i].render()+" "; | ||||
|     } | ||||
|     if(this.positions.length > 0){ ronin.history.add(s); } | ||||
|     this.positions = null; | ||||
|     ronin.history.add(s); | ||||
|   } | ||||
|    | ||||
|   // Module | ||||
|   | ||||
		Reference in New Issue
	
	Block a user