diff options
Diffstat (limited to 'js/app.js')
| -rw-r--r-- | js/app.js | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -24,12 +24,12 @@ function init () { function build () { canvas = new Matrix (cols, rows, function(x,y){ var lex = new Lex (x,y) - // - shader(lex, x, y) - // - lex.build() +// lex.build() return lex }) + shader.init() + shader.run(canvas) + brush = new Matrix (5, 5, function(x,y){ var lex = new Lex (x,y) lex.build() @@ -98,11 +98,17 @@ function build () { controls.shader = new Tool (shader_el) controls.shader.use = function(){ shader_textarea.style.display = "block" + setTimeout(function(){ shader_textarea.focus() }) } controls.shader.blur = function(){ Tool.prototype.blur.call(this) shader_textarea.style.display = "none" } + shader_textarea.value = demo_shader.innerHTML + shader_textarea.addEventListener("input", function(){ + var fn = shader.build(shader_textarea.value) + fn && shader.run(canvas) + }) controls.width = new Lex (width_el) controls.height = new Lex (height_el) @@ -194,6 +200,7 @@ function bind () { controls.canvas_width.build() canvas.w = n canvas.rebuild() + canvas.build() }) controls.canvas_height.key = int_key(function(n, keyCode){ controls.canvas_height.read() @@ -204,12 +211,17 @@ function bind () { controls.canvas_height.build() canvas.h = n canvas.rebuild() + canvas.build() }) window.addEventListener('keydown', function(e){ + if (current_tool.name == "shader") { + return + } if (! e.metaKey && ! e.ctrlKey && ! e.altKey) { e.preventDefault() } + // console.log(e.keyCode) switch (e.keyCode) { case 27: // esc |
