Started to migrate methods to the new systems
This commit is contained in:
parent
1c261cf166
commit
021f2fc048
2
main.js
2
main.js
@ -56,7 +56,7 @@ app.on('ready', () =>
|
|||||||
is_shown = true;
|
is_shown = true;
|
||||||
})
|
})
|
||||||
// Open the DevTools.
|
// Open the DevTools.
|
||||||
// win.webContents.openDevTools()
|
win.webContents.openDevTools()
|
||||||
})
|
})
|
||||||
|
|
||||||
app.on('window-all-closed', () =>
|
app.on('window-all-closed', () =>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script type="text/javascript" src="scripts/core/module.js"></script>
|
<script type="text/javascript" src="scripts/core/module.js"></script>
|
||||||
|
<script type="text/javascript" src="scripts/core/method.js"></script>
|
||||||
<script type="text/javascript" src="scripts/modules/frame.js"></script>
|
<script type="text/javascript" src="scripts/modules/frame.js"></script>
|
||||||
<script type="text/javascript" src="scripts/modules/brush.js"></script>
|
<script type="text/javascript" src="scripts/modules/brush.js"></script>
|
||||||
<script type="text/javascript" src="scripts/modules/line.js"></script>
|
<script type="text/javascript" src="scripts/modules/line.js"></script>
|
||||||
|
@ -16,4 +16,5 @@ yu { display:block; }
|
|||||||
#commander { z-index: 9000 }
|
#commander { z-index: 9000 }
|
||||||
#commander input { background: transparent;width: calc(100vw - 30px);display: block;line-height: 40px;font-size: 11px;color: white; margin-left:20px; }
|
#commander input { background: transparent;width: calc(100vw - 30px);display: block;line-height: 40px;font-size: 11px;color: white; margin-left:20px; }
|
||||||
#hint { background:black; color:#666; padding-left:20px;}
|
#hint { background:black; color:#666; padding-left:20px;}
|
||||||
#hint b { font-family: 'input_mono_regular' }
|
#hint b { font-family: 'input_mono_regular'; color:#999;}
|
||||||
|
#hint i { font-style: italic; }
|
@ -30,7 +30,7 @@ function Commander()
|
|||||||
for(method_id in q.methods){
|
for(method_id in q.methods){
|
||||||
var method_param = q.methods[method_id];
|
var method_param = q.methods[method_id];
|
||||||
if(!ronin.modules[q.module].methods[method_id]){ console.log("Missing method",method_id); return; }
|
if(!ronin.modules[q.module].methods[method_id]){ console.log("Missing method",method_id); return; }
|
||||||
ronin.modules[q.module].methods[method_id](method_param);
|
ronin.modules[q.module].methods[method_id].run(method_param);
|
||||||
}
|
}
|
||||||
|
|
||||||
ronin.commander.input_el.value = "";
|
ronin.commander.input_el.value = "";
|
||||||
|
@ -19,10 +19,14 @@ function Hint()
|
|||||||
}
|
}
|
||||||
|
|
||||||
var target_module = ronin.commander.query().module;
|
var target_module = ronin.commander.query().module;
|
||||||
|
var target_method = Object.keys(ronin.commander.query().methods).length > 0 ? Object.keys(ronin.commander.query().methods)[0] : null
|
||||||
|
|
||||||
if(ronin.commander.input_el.value == ""){
|
if(ronin.commander.input_el.value == ""){
|
||||||
this.el.innerHTML = html;
|
this.el.innerHTML = html;
|
||||||
}
|
}
|
||||||
|
else if(ronin.modules[target_module] && ronin.modules[target_module].methods[target_method]){
|
||||||
|
this.el.innerHTML = this.pad(ronin.commander.input_el.value)+ronin.modules[target_module].methods[target_method].docs();
|
||||||
|
}
|
||||||
else if(ronin.modules[target_module]){
|
else if(ronin.modules[target_module]){
|
||||||
this.el.innerHTML = this.pad(ronin.commander.input_el.value)+ronin.modules[target_module].hint();
|
this.el.innerHTML = this.pad(ronin.commander.input_el.value)+ronin.modules[target_module].hint();
|
||||||
}
|
}
|
||||||
|
18
sources/scripts/core/method.js
Normal file
18
sources/scripts/core/method.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
function Method(name,params,info = "Missing documentation")
|
||||||
|
{
|
||||||
|
this.name = name;
|
||||||
|
this.params = params;
|
||||||
|
this.info = info;
|
||||||
|
|
||||||
|
this.run = null;
|
||||||
|
|
||||||
|
this.hint = function()
|
||||||
|
{
|
||||||
|
return "<b>"+this.name+"</b>:"+this.params+" ";
|
||||||
|
}
|
||||||
|
|
||||||
|
this.docs = function()
|
||||||
|
{
|
||||||
|
return "["+this.params+"] <i>"+this.info+"</i>";
|
||||||
|
}
|
||||||
|
}
|
@ -13,7 +13,7 @@ function Module(name,docs = "Missing documentation.")
|
|||||||
|
|
||||||
for(id in this.methods){
|
for(id in this.methods){
|
||||||
var v = this.methods[id];
|
var v = this.methods[id];
|
||||||
html += id+": ";
|
html += v.hint();
|
||||||
}
|
}
|
||||||
|
|
||||||
for(setting_id in this.settings){
|
for(setting_id in this.settings){
|
||||||
@ -26,6 +26,6 @@ function Module(name,docs = "Missing documentation.")
|
|||||||
html += route_id+"->"+route_val+" ";
|
html += route_id+"->"+route_val+" ";
|
||||||
}
|
}
|
||||||
|
|
||||||
return html.trim() != "" ? "<b>"+this.name+"</b> "+html.trim() : "";
|
return html.trim() != "" ? " "+html.trim() : "";
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,9 @@ function Frame()
|
|||||||
|
|
||||||
this.methods = {};
|
this.methods = {};
|
||||||
|
|
||||||
this.methods.resize = function(q)
|
this.methods.resize = new Method("resize","WxH");
|
||||||
|
|
||||||
|
this.methods.resize.run = function(q)
|
||||||
{
|
{
|
||||||
var data = ronin.render.select(0,0,ronin.frame.settings.width,ronin.frame.settings.height);
|
var data = ronin.render.select(0,0,ronin.frame.settings.width,ronin.frame.settings.height);
|
||||||
|
|
||||||
@ -15,7 +17,9 @@ function Frame()
|
|||||||
ronin.render.context().putImageData(data, 0, 0);
|
ronin.render.context().putImageData(data, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.rescale = function(p)
|
this.methods.rescale = new Method("rescale","X,Y|WxH");
|
||||||
|
|
||||||
|
this.methods.rescale.run = function(p)
|
||||||
{
|
{
|
||||||
// Create a canvas copy
|
// Create a canvas copy
|
||||||
var copy_canvas = document.createElement("canvas");
|
var copy_canvas = document.createElement("canvas");
|
||||||
@ -32,7 +36,8 @@ function Frame()
|
|||||||
ronin.render.context().drawImage(copy_ctx.canvas,0,0,new_size.width * 2,new_size.height * 2);
|
ronin.render.context().drawImage(copy_ctx.canvas,0,0,new_size.width * 2,new_size.height * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.crop = function(p)
|
this.methods.crop = new Method("crop","X,Y|WxH");
|
||||||
|
this.methods.crop.run = function(p)
|
||||||
{
|
{
|
||||||
var data = ronin.render.select(p.x,p.y,p.width,p.height);
|
var data = ronin.render.select(p.x,p.y,p.width,p.height);
|
||||||
|
|
||||||
@ -41,12 +46,14 @@ function Frame()
|
|||||||
ronin.render.context().putImageData(data, 0, 0);
|
ronin.render.context().putImageData(data, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.clear = function(q)
|
this.methods.clear = new Method("clear","X,Y|WxH");
|
||||||
|
this.methods.clear.run = function(q)
|
||||||
{
|
{
|
||||||
ronin.render.fill("blue");
|
ronin.render.fill("blue");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.fill = function(q)
|
this.methods.fill = new Method("fill","X,Y|WxH");
|
||||||
|
this.methods.fill.run = function(q)
|
||||||
{
|
{
|
||||||
ronin.render.fill(q);
|
ronin.render.fill(q);
|
||||||
}
|
}
|
||||||
|
@ -6,27 +6,11 @@ function IO()
|
|||||||
|
|
||||||
this.methods = {};
|
this.methods = {};
|
||||||
|
|
||||||
this.methods.import = function(q)
|
|
||||||
{
|
|
||||||
var filepath = dialog.showOpenDialog({properties: ['openFile']});
|
|
||||||
|
|
||||||
if(!filepath){ console.log("Nothing to load"); return; }
|
|
||||||
|
|
||||||
fs.readFile(filepath[0], 'utf-8', (err, data) => {
|
|
||||||
if(err){ alert("An error ocurred reading the file :" + err.message); return; }
|
|
||||||
|
|
||||||
var img = new Image();
|
|
||||||
img.src = filepath[0];
|
|
||||||
|
|
||||||
img.onload = function() {
|
|
||||||
ronin.io.draw_image(ronin.render.context(),img,ronin.commander.query());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
this.image = null;
|
this.image = null;
|
||||||
|
|
||||||
this.methods.load = function(q)
|
this.methods.load = new Method("load","browser","Press enter to open the file browser.");
|
||||||
|
|
||||||
|
this.methods.load.run = function(q)
|
||||||
{
|
{
|
||||||
var filepath = dialog.showOpenDialog({properties: ['openFile']});
|
var filepath = dialog.showOpenDialog({properties: ['openFile']});
|
||||||
|
|
||||||
@ -34,10 +18,8 @@ function IO()
|
|||||||
|
|
||||||
fs.readFile(filepath[0], 'utf-8', (err, data) => {
|
fs.readFile(filepath[0], 'utf-8', (err, data) => {
|
||||||
if(err){ alert("An error ocurred reading the file :" + err.message); return; }
|
if(err){ alert("An error ocurred reading the file :" + err.message); return; }
|
||||||
|
|
||||||
var img = new Image();
|
var img = new Image();
|
||||||
img.src = filepath[0];
|
img.src = filepath[0];
|
||||||
|
|
||||||
img.onload = function() {
|
img.onload = function() {
|
||||||
ronin.io.image = img;
|
ronin.io.image = img;
|
||||||
ronin.commander.inject("io draw:20,20|100x100");
|
ronin.commander.inject("io draw:20,20|100x100");
|
||||||
@ -45,14 +27,20 @@ function IO()
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.draw = function(q)
|
this.methods.draw = new Method("draw","X,Y|WxH","Draw the loaded image pixels.");
|
||||||
|
|
||||||
|
this.methods.draw.run = function(q)
|
||||||
{
|
{
|
||||||
|
if(!ronin.io.image){ return; }
|
||||||
|
|
||||||
ronin.io.draw_image(ronin.render.context(),ronin.io.image,ronin.commander.query().methods.draw);
|
ronin.io.draw_image(ronin.render.context(),ronin.io.image,ronin.commander.query().methods.draw);
|
||||||
ronin.io.image = null;
|
ronin.io.image = null;
|
||||||
ronin.preview.clear();
|
ronin.preview.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.save = function(q)
|
this.methods.save = new Method("save","name");
|
||||||
|
|
||||||
|
this.methods.save.run = function(q)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
ronin.io.render();
|
ronin.io.render();
|
||||||
@ -130,13 +118,10 @@ function IO()
|
|||||||
|
|
||||||
this.draw_image = function(ctx = ronin.preview.context(),img,params)
|
this.draw_image = function(ctx = ronin.preview.context(),img,params)
|
||||||
{
|
{
|
||||||
var anchor = params ? params : ronin.io.settings.anchor;
|
|
||||||
|
|
||||||
console.log("draw",ctx)
|
|
||||||
var width = parseInt(img.naturalWidth * 0.5);
|
var width = parseInt(img.naturalWidth * 0.5);
|
||||||
var height = parseInt(img.naturalHeight * 0.5);
|
var height = parseInt(img.naturalHeight * 0.5);
|
||||||
var scale = (anchor.width/width) * 2;
|
var scale = (params.width/width) * 2;
|
||||||
|
|
||||||
ctx.drawImage(img, anchor.x * 2,anchor.y * 2,width * scale,height * scale);
|
ctx.drawImage(img, params.x * 2,params.y * 2,width * scale,height * scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,7 +4,8 @@ function Path()
|
|||||||
|
|
||||||
this.settings = {thickness:30,color:"black",cap:"square"};
|
this.settings = {thickness:30,color:"black",cap:"square"};
|
||||||
|
|
||||||
this.methods.stroke = function(q)
|
this.methods.stroke = new Method("stroke","x,y&");
|
||||||
|
this.methods.stroke.run = function(q)
|
||||||
{
|
{
|
||||||
ronin.preview.clear();
|
ronin.preview.clear();
|
||||||
|
|
||||||
@ -20,7 +21,8 @@ function Path()
|
|||||||
ctx.closePath();
|
ctx.closePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.methods.fill = function(q)
|
this.methods.fill = new Method("fill","x,y&");
|
||||||
|
this.methods.fill.run = function(q)
|
||||||
{
|
{
|
||||||
ronin.preview.clear();
|
ronin.preview.clear();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user