diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-12-11 16:15:06 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-12-11 16:15:06 -0500 |
| commit | 2de4442f9aeb6a4fc5d49fab8a15b41d87ff2fe4 (patch) | |
| tree | be82d6abf894943528e358bf22ab472687835808 /js/ui/controls.js | |
| parent | 66488f43e9c19e3c286ff93c051af21ce01c5b86 (diff) | |
starting to write this stuff the fishbone thing is screwing me up
Diffstat (limited to 'js/ui/controls.js')
| -rw-r--r-- | js/ui/controls.js | 67 |
1 files changed, 40 insertions, 27 deletions
diff --git a/js/ui/controls.js b/js/ui/controls.js index bd475c1..ecaa875 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -7,6 +7,7 @@ var controls = (function(){ brush.generate = controls.circle.generate brush.generate() drawing = true + selection.hide() brush.modified = false } controls.circle.generate = function(){ @@ -27,8 +28,9 @@ var controls = (function(){ controls.square.use = function(){ brush.generate = controls.square.generate brush.generate() - drawing = true brush.modified = false + drawing = true + selection.hide() } controls.square.generate = function(){ var fg = brush.fg, bg = brush.bg @@ -40,6 +42,15 @@ var controls = (function(){ brush.generate = controls.text.generate brush.generate() drawing = false + selection.hide() + } + controls.text.generate = function(){ + } + + controls.select = new Tool (select_el) + controls.select.use = function(){ + drawing = false + selection.show() } controls.text.generate = function(){ } @@ -54,40 +65,41 @@ var controls = (function(){ document.body.classList.toggle('grid') } - controls.shader = new Tool (shader_el) - controls.shader.use = function(){ - shader_textarea.style.display = "block" - // setTimeout(function(){ shader_textarea.focus() }) - shader_textarea.focus() - } - controls.shader.blur = function(){ - Tool.prototype.blur.call(this) - shader_textarea.style.display = "none" - } + ClipboardTool = Tool.extend({ + blur: function(){ + this.__blur() + clipboard.hide() + } + }) + ShaderTool = Tool.extend({ + use: function(){ + shader_textarea.style.display = "block" + shader_textarea.focus() + }, + blur: function(){ + this.__blur() + shader_textarea.style.display = "none" + } + }) + + controls.shader = new ShaderTool (shader_el) + shader_textarea.value = demo_shader.innerHTML shader_textarea.addEventListener("input", function(){ var fn = shader.build(shader_textarea.value) fn && shader.run(canvas) }) - controls.save = new Tool (save_el) + controls.save = new ClipboardTool (save_el) controls.save.use = function(){ clipboard.show() clipboard.export_mode() } - controls.save.blur = function(){ - Tool.prototype.blur.call(this) - clipboard.hide() - } - controls.load = new Tool (load_el) + controls.load = new ClipboardTool (load_el) controls.load.use = function(){ clipboard.show() clipboard.import_mode() } - controls.load.blur = function(){ - Tool.prototype.blur.call(this) - clipboard.hide() - } controls.animate = new Tool (animate_checkbox) controls.animate.use = function(){ @@ -119,6 +131,7 @@ var controls = (function(){ controls.square, controls.circle, controls.text, + controls.select, controls.clear, controls.grid, controls.shader, @@ -160,12 +173,6 @@ var controls = (function(){ controls.canvas_width.build() canvas.resize(w, canvas.h) } - controls.canvas_height.onBlur = function(){ - var h = parseInt(controls.canvas_height.char) || 1 - controls.canvas_height.char = h+"" - controls.canvas_height.build() - canvas.resize(canvas.w, h) - } controls.canvas_height.key = int_key(function(n, keyCode){ controls.canvas_height.read() @@ -176,6 +183,12 @@ var controls = (function(){ controls.canvas_height.build() canvas.resize(canvas.w, n) }) + controls.canvas_height.onBlur = function(){ + var h = parseInt(controls.canvas_height.char) || 1 + controls.canvas_height.char = h+"" + controls.canvas_height.build() + canvas.resize(canvas.w, h) + } } function int_key (f) { |
