From 8145d3c66de349cb3aa4ef50d43af371ffc206fb Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 6 May 2015 02:18:03 -0400 Subject: hide experimental palette under a toggle --- js/tool.js | 11 +++++++++++ js/ui/controls.js | 9 ++++++++- js/ui/palette.js | 9 ++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) (limited to 'js') diff --git a/js/tool.js b/js/tool.js index d31472b..719e044 100644 --- a/js/tool.js +++ b/js/tool.js @@ -34,3 +34,14 @@ var Checkbox = Tool.extend({ else this.el.innerHTML = "_ " + this.name } }) + +var HiddenCheckbox = Tool.extend({ + init: function (span){ + this.__init(span) + var state = this.name[0] == "o" + this.update(state) + }, + update: function(state){ + this.el.innerHTML = state ? "o" : "." + } +}) diff --git a/js/ui/controls.js b/js/ui/controls.js index 1a8011c..e666464 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -155,6 +155,12 @@ var controls = (function(){ var state = shader.toggle() this.update(state) } + + controls.experimental_palette = new HiddenCheckbox (experimental_palette_toggle) + controls.experimental_palette.use = function(state){ + var state = palette.experimental() + this.update(state) + } // @@ -213,7 +219,8 @@ var controls = (function(){ controls.shader, controls.animate, controls.save, - controls.load + controls.load, + controls.experimental_palette ].forEach(function(tool){ tool.span.addEventListener('mousedown', function(e){ tool.focus() diff --git a/js/ui/palette.js b/js/ui/palette.js index f42ad6b..f5dee8c 100644 --- a/js/ui/palette.js +++ b/js/ui/palette.js @@ -6,7 +6,7 @@ var palette = (function(){ var palette_list = [all_hue, all_inv_hue, mirc_color, mirc_color_reverse] var palette_fn = palette_list[palette_index] var palette_chars = " ▓▒░" - var palette = new Matrix (32, 5, function(x,y){ + var palette = new Matrix (32, 2, function(x,y){ var lex = new Lex (x,y) return lex }) @@ -27,6 +27,13 @@ var palette = (function(){ }) } palette.repaint() + var use_experimental_palette = false + palette.experimental = function(){ + use_experimental_palette = ! use_experimental_palette + use_experimental_palette ? palette.resize(32, 5) : palette.resize(32, 2) + palette.repaint() + return use_experimental_palette + } palette.bind = function(){ palette.forEach(function(lex, x, y){ -- cgit v1.2.3-70-g09d2