diff options
Diffstat (limited to 'js/ui/controls.js')
| -rw-r--r-- | js/ui/controls.js | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/js/ui/controls.js b/js/ui/controls.js index c780c50..d575725 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -64,12 +64,10 @@ var controls = (function(){ shader_textarea.style.display = "block" // setTimeout(function(){ shader_textarea.focus() }) shader_textarea.focus() - clipboard.disable() } controls.shader.blur = function(){ Tool.prototype.blur.call(this) shader_textarea.style.display = "none" - clipboard.enable() } shader_textarea.value = demo_shader.innerHTML shader_textarea.addEventListener("input", function(){ @@ -77,7 +75,25 @@ var controls = (function(){ fn && shader.run(canvas) }) - + controls.save = new Tool (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.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(){ var state = shader.toggle() @@ -100,7 +116,17 @@ var controls = (function(){ }) }); - [controls.square, controls.circle, controls.text, controls.clear, controls.grid, controls.shader, controls.animate].forEach(function(tool){ + [ + controls.square, + controls.circle, + controls.text, + controls.clear, + controls.grid, + controls.shader, + controls.animate, + controls.save, + controls.load + ].forEach(function(tool){ tool.span.addEventListener('mousedown', function(e){ tool.focus() }) |
