summaryrefslogtreecommitdiff
path: root/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/app.js')
-rw-r--r--js/app.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/js/app.js b/js/app.js
index 84333e9..9cd9cf8 100644
--- a/js/app.js
+++ b/js/app.js
@@ -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