ronin/sources/scripts/cursor.js
2017-09-27 09:30:05 +13:00

56 lines
1.2 KiB
JavaScript

function Cursor(rune)
{
this.line = {from:null,to:null};
this.is_down = false;
this.mouse_down = function(e)
{
e.preventDefault();
ronin.cursor.line.origin = {x:e.clientX,y:e.clientY};
ronin.cursor.line.from = {x:e.clientX,y:e.clientY};
}
this.mouse_move = function(e)
{
e.preventDefault();
if(!ronin.cursor.line.from){ return; }
ronin.cursor.line.to = {x:e.clientX,y:e.clientY};
if(ronin.commander.active_module()){
}
else if(e.altKey){
ronin.eraser.stroke(ronin.cursor.line);
}
else{
ronin.brush.stroke(ronin.cursor.line);
}
ronin.cursor.line.from = {x:e.clientX,y:e.clientY};
}
this.mouse_up = function(e)
{
e.preventDefault();
ronin.cursor.line.destination = {x:e.clientX,y:e.clientY};
if(distance_between(ronin.cursor.line.origin,ronin.cursor.line.destination) > 10){
ronin.commander.inject(e.clientX+"x"+e.clientY);
}
else{
ronin.commander.inject(e.clientX+","+e.clientY);
}
ronin.cursor.is_down = false;
ronin.cursor.line = {};
}
function distance_between(a,b)
{
return Math.sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
}
}