diff options
Diffstat (limited to 'js/ui/nopaint.js')
| -rw-r--r-- | js/ui/nopaint.js | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/js/ui/nopaint.js b/js/ui/nopaint.js index d3741a9..da30e37 100644 --- a/js/ui/nopaint.js +++ b/js/ui/nopaint.js @@ -89,6 +89,16 @@ var nopaint = (function(){ nopaint.add_tool = function(fn){ nopaint.tools[fn.type] = fn } + nopaint.disable_all_tools = function(){ + Object.keys(nopaint.tools).forEach(function(key){ + nopaint.tools[key].disabled = true + }) + } + nopaint.enable_tools = function(keys){ + keys.forEach(function(key){ + if (nopaint.tools[key]) nopaint.tools[key].disabled = false + }) + } nopaint.get_random_tool = function( last_tool ){ var n = rand( nopaint.sum ) for (var i = 0, _len = nopaint.weights.length; i < _len; i++) { @@ -101,7 +111,11 @@ var nopaint = (function(){ nopaint.regenerate_weights = function(){ nopaint.sum = 0 nopaint.weights = [] - nopaint.keys = Object.keys( nopaint.tools ).sort(function(a,b){ return nopaint.tools[b].opt.weight-nopaint.tools[a].opt.weight }) + nopaint.keys = Object.keys( nopaint.tools ).sort(function(a,b){ + return nopaint.tools[b].opt.weight-nopaint.tools[a].opt.weight + }).filter(function(key){ + return ! nopaint.tools[key].disabled + }) nopaint.keys.forEach(function(key){ nopaint.sum += nopaint.tools[key].opt.weight nopaint.weights.push( nopaint.sum ) @@ -456,7 +470,7 @@ var nopaint = (function(){ }) var GrayBrush = SolidBrush.extend({ - type: "hue", + type: "gray", recolor: function(){ this.fg = this.bg = rand_gray() this.char = " " @@ -743,6 +757,7 @@ var nopaint = (function(){ start: function(){ this.__start() this.n = randsign() + if (random() < 0.2) this.n *= randint(15) }, shade: function(src, dest, lex, x, y){ lex.bg += this.n |
