summaryrefslogtreecommitdiff
path: root/js/ui/controls.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/ui/controls.js')
-rw-r--r--js/ui/controls.js34
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()
})