From 74f6c10642889c52f001eb8f0495d14fb41db2ec Mon Sep 17 00:00:00 2001 From: timb Date: Wed, 5 Aug 2015 09:07:59 -0700 Subject: add radio controls, add shader target, export format uses radio controls and is saved to local storage, move tool binding from control.js to tool.js --- js/ui/controls.js | 57 ++++++++++++++++++++++--------------------------------- 1 file changed, 23 insertions(+), 34 deletions(-) (limited to 'js/ui/controls.js') diff --git a/js/ui/controls.js b/js/ui/controls.js index ca6770f..a21e293 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -129,7 +129,14 @@ var controls = (function(){ clipboard.show() clipboard.import_mode() } - + + controls.save_format = new RadioGroup(format_el) + controls.save_format.name = 'save_format' + controls.save_format.memorable = true + var cs = controls.save_format.controls + cs.mirc.use = cs.irssi.use = cs.ascii.use = function(){ + clipboard.export_data() + } // var ShaderTool = FileTool.extend({ @@ -160,7 +167,13 @@ var controls = (function(){ // controls.shader.focus() controls.shader.use(true) } - + + controls.shader_target = new RadioGroup(shader_target_el) + var cs = controls.shader_target.controls + cs.canvas.use = function(){ shader.canvas = canvas } + cs.brush.use = function(){ shader.canvas = brush } + cs.selection.use = function(){ shader.canvas = selection.canvas } + controls.experimental_palette = new HiddenCheckbox (experimental_palette_toggle) controls.experimental_palette.use = function(state){ var state = palette.experimental() @@ -227,6 +240,14 @@ var controls = (function(){ // bind controls.bind = function(){ + + for (var n in controls){ + var control = controls[n] + if (typeof control === 'object' && 'bind' in control){ + control.bind() + } + } + [ controls.brush_w, controls.brush_h, @@ -237,38 +258,6 @@ var controls = (function(){ lex.focus() }) }); - - [ - controls.square, - controls.circle, - controls.cross, - controls.text, - controls.fill, - controls.select, - controls.undo, - controls.redo, - controls.clear, - controls.grid, - controls.webcam, - controls.fg, - controls.bg, - controls.char, - controls.rotate, - controls.vertical, - controls.shader, - controls.animate, - controls.save, - controls.load, - controls.experimental_palette - ].forEach(function(tool){ - tool.span.addEventListener('mousedown', function(e){ - tool.focus() - }) - if (tool.memorable) { - console.log(tool.name, localStorage.getItem("ascii.tools." + tool.name) ) - tool.use( localStorage.getItem("ascii.tools." + tool.name) == "true" ) - } - }) controls.brush_w.key = keys.single_numeral_key(controls.brush_w, function(w){ brush.resize(w, brush.h) }) controls.brush_w.raw_key = keys.arrow_key(function(w){ brush.size_add(w, 0) }) -- cgit v1.2.3-70-g09d2