diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-03-01 02:57:02 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-03-01 02:57:02 -0500 |
| commit | 48c6ecda32f329b2874d3f79310268819054ea3c (patch) | |
| tree | c4e2efd21cf3089e79f11c224abf1e70d582b496 /js | |
| parent | fb46410c5cb6aab64ed61def053076ab0ef35635 (diff) | |
| parent | 5b7549932c55ebe7388258fb19b65a907dd5d3d1 (diff) | |
Merge branch 'master' of lmno:ascii
Diffstat (limited to 'js')
| -rw-r--r-- | js/clipboard.js | 2 | ||||
| -rw-r--r-- | js/color_code.js | 40 | ||||
| -rw-r--r-- | js/ui/controls.js | 8 | ||||
| -rw-r--r-- | js/util.js | 4 |
4 files changed, 49 insertions, 5 deletions
diff --git a/js/clipboard.js b/js/clipboard.js index 0acc3c7..66df875 100644 --- a/js/clipboard.js +++ b/js/clipboard.js @@ -116,7 +116,7 @@ var clipboard = (function () { import_text: function () { var data = import_textarea.value lines = data.split("\n") - var width = lines.reduce(function(a,b){ return Math.max(a, b.length) }) + var width = lines.reduce(function(a,b){ console.log(a,b); return Math.max(a, b.length) }, 0) var height = lines.length if (width > 200) { return alert("input too wide") diff --git a/js/color_code.js b/js/color_code.js index 55a284f..c8e8b84 100644 --- a/js/color_code.js +++ b/js/color_code.js @@ -18,7 +18,42 @@ var MircColor = (function(){ [127,127,127], [210,210,210] ] - + var HUES = [ + [255,255,255], + [0,0,0], + [0,0,127], + [0,147,0], + [255,0,0], + [127,0,0], + [156,0,156], + [252,127,0], + [255,255,0], + [0,252,0], + [0,147,147], + [0,255,255], + [0,0,252], + [255,0,255], + null, + null, + ] + var GRAYS = [ + [255,255,255], + [0,0,0], + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + [127,127,127], + [210,210,210] + ] function closest_to(pixel){ return COLORS.reduce(function(prev, curr, index) { var d = distance(pixel, curr) @@ -31,6 +66,7 @@ var MircColor = (function(){ } function distance(u, v){ + if (! v) return Math.Infinity var r = u[0] - v[0] var g = u[1] - v[1] var b = u[2] - v[2] @@ -137,6 +173,8 @@ var MircColor = (function(){ return { colors: COLORS, + hues: HUES, + grays: GRAYS, closest_to: closest_to, distance: distance, fromUrl: fromUrl, diff --git a/js/ui/controls.js b/js/ui/controls.js index 6f0fb91..485f690 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -203,14 +203,15 @@ var controls = (function(){ controls.canvas_width.key = int_key(function(n, keyCode){ controls.canvas_width.read() - if (controls.canvas_width.char.length == 1) { + if (controls.canvas_width.char.length < 3) { n = parseInt(controls.canvas_width.char) * 10 + n } controls.canvas_width.char = ""+n controls.canvas_width.build() }) controls.canvas_width.onBlur = function(){ - var w = parseInt(controls.canvas_width.char) || 1 + var w = parseInt(controls.canvas_width.char) + if (! w) return; controls.canvas_width.char = w+"" controls.canvas_width.build() canvas.resize(w, canvas.h) @@ -225,7 +226,8 @@ var controls = (function(){ controls.canvas_height.build() }) controls.canvas_height.onBlur = function(){ - var h = parseInt(controls.canvas_height.char) || 1 + var h = parseInt(controls.canvas_height.char) + if (! h) return; controls.canvas_height.char = h+"" controls.canvas_height.build() canvas.resize(canvas.w, h) @@ -115,6 +115,10 @@ function weave(a){ reverse(aa[1]).forEach(function(el){ b.push(el) }) return b } +function cssRule (selector, declaration) { + var x = document.styleSheets, y = x.length-1; + x[y].insertRule(selector+"{"+declaration+"}", x[y].cssRules.length); +} // easing functions function circular (t) { return Math.sqrt( 1 - ( --t * t ) ) } |
