summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-05-06 02:18:03 -0400
committerJules Laplace <jules@okfoc.us>2015-05-06 02:18:03 -0400
commit8145d3c66de349cb3aa4ef50d43af371ffc206fb (patch)
treed86fe855313b93fd7847d1c6831b778ffcf5db68 /js
parentf650127c109fb65a589388cefb51eb990b151612 (diff)
hide experimental palette under a toggle
Diffstat (limited to 'js')
-rw-r--r--js/tool.js11
-rw-r--r--js/ui/controls.js9
-rw-r--r--js/ui/palette.js9
3 files changed, 27 insertions, 2 deletions
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){