diff --git a/assets/css/ak.css b/assets/css/ak.css index 8a2a8fd..83e55d3 100644 --- a/assets/css/ak.css +++ b/assets/css/ak.css @@ -86,7 +86,7 @@ .c64 .fn{color:rgb(207,138,101)} .c64 .fo{color:rgb(69,69,69)} .c64 .fp{color:rgb(170,170,170)} - + .c64 .ba{background-color:rgb(255,255,255)} .c64 .bb{background-color:rgb(0,0,0)} .c64 .bc{background-color:rgb(69,32,170)} diff --git a/assets/css/nitelite.css b/assets/css/nitelite.css index dce015e..af9c604 100644 --- a/assets/css/nitelite.css +++ b/assets/css/nitelite.css @@ -6,7 +6,7 @@ .h6 { font-size: 10.72px } [class^=h] { -font-weight: bold; +font-weight: bold; display:block; margin-top:8px; margin-bottom:8px; @@ -39,10 +39,10 @@ color:#fff; -.code { +.code { white-space:pre-wrap; -background: rgba(128,0,128,.3); -color: rgb(255,0,255); +background: rgba(128,0,128,.3); +color: rgb(255,0,255); font-size: 16pt; font-family: Consolas, Menlo, Courier, monospace; } diff --git a/assets/css/sally.css b/assets/css/sally.css index 59ac265..c69811d 100644 --- a/assets/css/sally.css +++ b/assets/css/sally.css @@ -70,7 +70,7 @@ a:hover { text-decoration: underline } background-size: 8px 8px; } -@media (-webkit-min-device-pixel-ratio: 2) { +@media (-webkit-min-device-pixel-ratio: 2) { .transparent { background-size: 4px 4px; } @@ -99,7 +99,7 @@ body.grid .tool { border: 1px solid #444; } .tool.focused, .ed.focused { color: white; text-decoration: underline; } .focused { box-shadow: inset 1px 0 2px white, inset -1px 0 2px white, inset 0 1px 2px white, inset 0 -1px 2px white; } .faba.focused, .fbba.focused, .fcba.focused, .fdba.focused, .feba.focused, .ffba.focused, .fgba.focused, .fhba.focused, -.fiba.focused, .fjba.focused, .fkba.focused, .flba.focused, .fmba.focused, .fnba.focused, .foba.focused, .fpba.focused +.fiba.focused, .fjba.focused, .fkba.focused, .flba.focused, .fmba.focused, .fnba.focused, .foba.focused, .fpba.focused { box-shadow: inset 1px 0 2px #888, inset -1px 0 2px #888, inset 0 1px 2px #888, inset 0 -1px 2px #888; } body.loading { opacity: 0; } body { transition: 0.1s linear; } diff --git a/assets/doc/irssi.txt b/assets/doc/irssi.txt index baded1c..3222618 100644 --- a/assets/doc/irssi.txt +++ b/assets/doc/irssi.txt @@ -1,13 +1,13 @@ __________________________________________________________________________ ____ ____ _____ ____ ___ ___ ____ - /_____ _____/ / ___ \ / ____/ / ____/ /_____ _____/ - / / / / \ \ / / / / / / - / / / /____/ / \ \__ \ \__ / / - / / / ___ __/ \__ \ \__ \ / / - / / / / \ \ \ \ \ \ / / - _____/ /_____ / / \ \ ____/ / ____/ /____/ /_____ - ___/ /__/ /_______\ \__/ /___/ // /____ - __________________________________________________________________________ + /_____ _____/ / ___ \ / ____/ / ____/ /_____ _____/ + / / / / \ \ / / / / / / + / / / /____/ / \ \__ \ \__ / / + / / / ___ __/ \__ \ \__ \ / / + / / / / \ \ \ \ \ \ / / + _____/ /_____ / / \ \ ____/ / ____/ /____/ /_____ + ___/ /__/ /_______\ \__/ /___/ // /____ + __________________________________________________________________________ OPTIMIZE YOUR TERMINAL FOR COLOR CODES ON OSX diff --git a/assets/fonts/fsex300-webfont.svg b/assets/fonts/fsex300-webfont.svg index a99c895..787f710 100644 --- a/assets/fonts/fsex300-webfont.svg +++ b/assets/fonts/fsex300-webfont.svg @@ -6003,4 +6003,4 @@ - \ No newline at end of file + diff --git a/assets/fonts/fsex300-webfont.ttf b/assets/fonts/fsex300-webfont.ttf index d53e501..50a6699 100644 Binary files a/assets/fonts/fsex300-webfont.ttf and b/assets/fonts/fsex300-webfont.ttf differ diff --git a/assets/js/app.js b/assets/js/app.js index fec3592..38e49ec 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -10,7 +10,7 @@ var mirror_x = false var mirror_y = false var focused -var canvas, tools, palette, controls, brush, mode +var canvas, tools, palette, controls, brush, mode var current_tool, current_filetool, current_canvas var mouse = { x: 0, y: 0 } @@ -24,7 +24,7 @@ function build () { palette.append(palette_rapper) letters.append(letters_rapper) letters.repaint("Basic Latin") - + controls.circle.focus() brush.bg = colors.red @@ -42,10 +42,10 @@ function bind () { controls.bind() keys.bind() clipboard.bind() - + window.addEventListener('mouseup', function(e){ dragging = erasing = false - + var ae = document.activeElement if (ae !== import_textarea) { @@ -65,16 +65,16 @@ function bind () { } dragging = false }) - + window.addEventListener('mousedown', function(e){ // cursor_input.focus() }) - + document.addEventListener('DOMContentLoaded', function(){ cursor_input.focus() document.body.classList.remove('loading') }) - + window.onbeforeunload = function() { // if (changed && !in_iframe()) return "You have edited this drawing." } diff --git a/assets/js/clipboard.js b/assets/js/clipboard.js index 98a2f34..270214c 100644 --- a/assets/js/clipboard.js +++ b/assets/js/clipboard.js @@ -64,7 +64,7 @@ var clipboard = (function () { } }) }, - + import_colorcode: function (data, no_undo) { if (data && data.preventDefault) { data = import_textarea.value @@ -72,7 +72,7 @@ var clipboard = (function () { else { data = data || import_textarea.value } - + var irssi_style_regex = /^\s*\/exec -out printf ("%b" )?"/; // turn irssi style into mirc style @@ -173,9 +173,9 @@ var clipboard = (function () { } } - current_filetool && current_filetool.blur() + current_filetool && current_filetool.blur() }, - + export_data: function () { var output // switch (clipboard.format) { @@ -204,9 +204,9 @@ var clipboard = (function () { }, } - + return exports - + })() diff --git a/assets/js/gfx.js b/assets/js/gfx.js index 5e0c59a..ccfd28c 100644 --- a/assets/js/gfx.js +++ b/assets/js/gfx.js @@ -66,7 +66,7 @@ var blit = (function(){ blit.circle = function(A, lex){ var hw = brush.w/2, hh = brush.h/2 var ratio, distance - + if (brush.w === brush.h){ distance = distance_square ratio = hw / hh * (brush.w === 3 || brush.w === 5 ? 1.2 : 1.05) @@ -108,7 +108,7 @@ var blit = (function(){ var draw = (function(){ var last_point = [0,0] - + function down (e, lex, point) { var w = canvas.w, h = canvas.h erasing = (e.which == "3" || e.ctrlKey) @@ -140,12 +140,12 @@ var draw = (function(){ last_point[0] = point[0] last_point[1] = point[1] } - + function set_last_point (e, point) { last_point[0] = point[0] last_point[1] = point[1] } - + function move (e, lex, point) { var w = canvas.w, h = canvas.h line(lex, last_point, point, erasing) @@ -162,7 +162,7 @@ var draw = (function(){ last_point[0] = point[0] last_point[1] = point[1] } - + function move_toroidal (e, lex, point) { var w = canvas.w, h = canvas.h var src_x_quantile = quantile( last_point[0], w ) @@ -234,7 +234,7 @@ var draw = (function(){ last_point[1] = point[1] // y = point.y } - + function point (lex, x, y, erasing) { stamp (canvas, brush, x, y, erasing) } @@ -268,7 +268,7 @@ var draw = (function(){ } }) } - + function fill (lex, x, y) { var q = [ [x,y] ] var aa = canvas.aa diff --git a/assets/js/matrix.js b/assets/js/matrix.js index 0ec4ec5..5fc404a 100644 --- a/assets/js/matrix.js +++ b/assets/js/matrix.js @@ -87,7 +87,7 @@ Matrix.prototype.focus = function(x, y){ y = mod(y, this.h) this.focus_x = x this.focus_y = y - + //focused_input = this this.aa[y][x].focus() } @@ -188,7 +188,7 @@ Matrix.prototype.resize = function(w,h){ } } } - + if (w < old_w) { this.aa.forEach(function(row, y){ while (row.length > w) { @@ -206,7 +206,7 @@ Matrix.prototype.resize = function(w,h){ } }) } - + this.w = w this.h = h this.bind && this.bind() @@ -233,7 +233,7 @@ Matrix.prototype.resize_rapper = function(){ else { this.rapper.parentNode.classList.remove("rotated") this.rapper.parentNode.style.height = "" - this.rapper.style.width = + this.rapper.style.width = this.rapper.parentNode.style.width = (width) + "px" this.rapper.style.top = "" // canvas_rapper.style.left = "auto" @@ -256,7 +256,7 @@ Matrix.prototype.ansi = function (opts) { row.forEach(function(lex, x) { if (lex.eqColor(last)) { line += lex.sanitize() - } + } else { line += lex.ansi() last = lex @@ -275,7 +275,7 @@ Matrix.prototype.mirc = function (opts) { var bg_ = -1, fg_ = 15 if (lex.eqColor(last)) { line += lex.sanitize() - } + } else { [bg_, fg_, line_] = lex.mirc(bg_, fg_) line += line_; last = lex; @@ -286,9 +286,9 @@ Matrix.prototype.mirc = function (opts) { } return line }) - + var txt = lines.filter(function(line){ return line.length > 0 }).join('\n') - + if (cutoff) { txt = new String(txt) txt.cutoff = true @@ -297,7 +297,7 @@ Matrix.prototype.mirc = function (opts) { } Matrix.prototype.irssi = function(opts){ var mirc = this.mirc(opts) - var txt = mirc + var txt = mirc // .replace(/\%/g, '%%') .replace(/\\/g, '\\x5C') .replace(/\"/g, '\\\"') @@ -310,7 +310,7 @@ Matrix.prototype.irssi = function(opts){ .replace(/\n/g, '\\n') .replace(/\x02/g, '\\x02') .replace(/\x03/g, '\\x03') - + txt = unicode.escapeToEscapedBytes(txt) txt = '/exec -out printf "%b" "' + txt + '"\n' if (mirc.cutoff){ @@ -388,8 +388,8 @@ var save_size = function(w, h, state){ } // the reason for stringifying the x y coords is so that each // coordinate is saved only once in an undo state. -// otherwise there would be problems with, eg, a brush stroke -// that passed over the same grid cell twice. +// otherwise there would be problems with, eg, a brush stroke +// that passed over the same grid cell twice. var save_lex = function(x, y, lex, state){ // var start = Date.now() state = state || current_undo @@ -509,7 +509,7 @@ var undo = function(){ if (!state) return; restore_state(state) - + // now take the applied undo state and store it on the redo state // and push the redo state to the redo stack state.redo.undo = state @@ -522,7 +522,7 @@ var undo = function(){ var redo = function(){ var state = stack.redo.pop(); if (!state) return; - + restore_state(state) state.undo.redo = state diff --git a/assets/js/ui/brush.js b/assets/js/ui/brush.js index 6ea07ed..7389f3f 100644 --- a/assets/js/ui/brush.js +++ b/assets/js/ui/brush.js @@ -1,5 +1,5 @@ var brush = (function(){ - + var brush = new Matrix (5, 5, function(x,y){ var lex = new Lex (x,y) lex.build() @@ -7,9 +7,9 @@ var brush = (function(){ }) brush.modified = false - + brush.mask = blit.circle - + brush.generate = function(){ brush.fill(brush) brush.mask(brush) @@ -25,7 +25,7 @@ var brush = (function(){ if (lex.bound) return lex.bound = true - + var point = [x,y] lex.span.addEventListener('contextmenu', function(e){ e.preventDefault() @@ -83,7 +83,7 @@ var brush = (function(){ brush.contract = function(i){ brush.size_add(-i, -i) } - + brush.load = function(lex){ brush.char = lex.char brush.fg = lex.fg @@ -98,11 +98,11 @@ var brush = (function(){ brush.fg = 0 brush.bg = 1 brush.opacity = 1 - + brush.draw_fg = true brush.draw_bg = true brush.draw_char = true - + return brush })() @@ -110,7 +110,7 @@ var brush = (function(){ var custom = (function(){ var exports = {} - + exports.clone = function (){ var new_brush = brush.clone() var rapper = document.createElement("div") @@ -128,11 +128,11 @@ var custom = (function(){ } }) } - + exports.load = function(new_brush){ brush.assign( new_brush ) } - + return exports })() diff --git a/assets/js/ui/canvas.js b/assets/js/ui/canvas.js index 3d0e4a0..739a083 100644 --- a/assets/js/ui/canvas.js +++ b/assets/js/ui/canvas.js @@ -85,7 +85,7 @@ var canvas = current_canvas = (function(){ if (!no_undo){ undo.new() undo.save_resize(w, h, old_w, old_h) - } + } canvas.__proto__.resize.call(canvas, w, h) controls.canvas_w.char = "" + w diff --git a/assets/js/ui/controls.js b/assets/js/ui/controls.js index 0310df0..e749851 100644 --- a/assets/js/ui/controls.js +++ b/assets/js/ui/controls.js @@ -31,7 +31,7 @@ var controls = (function(){ controls.circle.done = function(){ drawing = false } - + controls.square = new Tool (square_el) controls.square.use = function(){ brush.mask = blit.square @@ -42,7 +42,7 @@ var controls = (function(){ controls.square.done = function(){ drawing = false } - + controls.text = new Tool (text_el) controls.text.use = function(){ current_filetool && current_filetool.blur() @@ -97,7 +97,7 @@ var controls = (function(){ filling = false document.body.classList.remove("bucket") } - + controls.undo = new BlurredTool (undo_el) controls.undo.use = function(){ undo.undo() @@ -145,7 +145,7 @@ 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 @@ -175,7 +175,7 @@ var controls = (function(){ } // - + controls.fg = new BlurredCheckbox (fg_checkbox) controls.fg.use = function(state){ brush.draw_fg = state || ! brush.draw_fg @@ -193,7 +193,7 @@ var controls = (function(){ brush.draw_char = state || ! brush.draw_char this.update(brush.draw_char) } - + // // controls.turn = new BlurredCheckbox (turn_checkbox) @@ -211,7 +211,7 @@ var controls = (function(){ // document.body.classList.toggle("pixels", canvas.pixels) // this.update(canvas.pixels) // } - + controls.mirror_x = new BlurredCheckbox (mirror_x_checkbox) controls.mirror_x.use = function(state){ window.mirror_x = typeof state == "boolean" ? state : ! window.mirror_x @@ -224,7 +224,7 @@ var controls = (function(){ } // - + controls.vertical = new BlurredCheckbox (vertical_checkbox) controls.vertical.memorable = true controls.vertical.use = function(state){ @@ -244,14 +244,14 @@ var controls = (function(){ } // - + controls.brush_w = new Lex (brush_w_el) controls.brush_h = new Lex (brush_h_el) controls.canvas_w = new Lex (canvas_w_el) controls.canvas_h = new Lex (canvas_h_el) - // bind - + // bind + controls.bind = function(){ for (var n in controls){ @@ -277,7 +277,7 @@ var controls = (function(){ controls.brush_h.key = keys.single_numeral_key(controls.brush_h, function(h){ brush.resize(brush.w, h) }) controls.brush_h.raw_key = keys.arrow_key(function(h){ brush.size_add(0, h) }) - + controls.canvas_w.key = keys.multi_numeral_key(controls.canvas_w, 3) controls.canvas_w.onBlur = keys.multi_numeral_blur(controls.canvas_w, function(w){ canvas.resize(w, canvas.h) }) controls.canvas_w.raw_key = keys.arrow_key(function(w){ canvas.size_add(w, 0) }) @@ -285,7 +285,7 @@ var controls = (function(){ controls.canvas_h.key = keys.multi_numeral_key(controls.canvas_h, 3) controls.canvas_h.onBlur = keys.multi_numeral_blur(controls.canvas_h, function(h){ canvas.resize(canvas.w, h) }) controls.canvas_h.raw_key = keys.arrow_key(function(h){ canvas.size_add(0, h) }) - + add_custom_el.addEventListener("click", function(){ custom.clone() }) diff --git a/assets/js/ui/keys.js b/assets/js/ui/keys.js index 621c7a7..fc7ea3c 100644 --- a/assets/js/ui/keys.js +++ b/assets/js/ui/keys.js @@ -85,7 +85,7 @@ var keys = (function(){ if (e.shiftKey) undo.redo(); else - undo.undo(); + undo.undo(); break // default: // if (focused) { focused.key(undefined, e.keyCode) } @@ -102,7 +102,7 @@ var keys = (function(){ cursor_input.value = "" // console.log("input:", char) - + if (current_tool.name != "text" && ! brush.modified) { brush.char = char if (char == " ") { @@ -126,14 +126,14 @@ var keys = (function(){ current_canvas.focus_add(1, 0) } }) - + cursor_input.addEventListener("keyup", function(e){ if (! e.altKey) { document.body.classList.remove("dropper") } }) } - + keys.int_key = function (f) { return function (key, keyCode) { var n = parseInt(key) diff --git a/assets/js/ui/paletters.js b/assets/js/ui/paletters.js index 09a733f..3eda70e 100644 --- a/assets/js/ui/paletters.js +++ b/assets/js/ui/paletters.js @@ -8,12 +8,12 @@ var letters = (function(){ 'Box Drawing', 'Block Elements', ] - + var letters = new Matrix (1, 1, function(x,y){ var lex = new Lex (x,y) return lex }) - + letters.charset = "" letters.repaint = function(charset){ @@ -46,7 +46,7 @@ var letters = (function(){ lex.build() }) } - + letters.bind = function(){ letters.forEach(function(lex,x,y){ if (lex.bound) return @@ -84,7 +84,7 @@ var letters = (function(){ }) }) } - + return letters })() diff --git a/assets/js/ui/selection.js b/assets/js/ui/selection.js index a2720cb..09e2194 100644 --- a/assets/js/ui/selection.js +++ b/assets/js/ui/selection.js @@ -1,13 +1,13 @@ var selection = (function(){ var creating = false, moving = false, copying = false - + var selection_canvas = new Matrix (1, 1, function(x,y){ var lex = new Lex (x,y) lex.build() return lex }) - + var selector_el = document.createElement("div") selector_el.className = "selector_el" selection_canvas.append(selector_el) @@ -21,12 +21,12 @@ var selection = (function(){ // - on mouseup, the selection is locked. then.. // - drag the selection to move it -- this "cuts" it and leaves a blank space on the canvas. // - shift-drag the selection to copy it - + var a = [0, 0] var b = [0, 0] var c = [0, 0] var d = [0, 0] - + function reset () { a[0] = a[1] = b[0] = b[1] = 0 } @@ -42,7 +42,7 @@ var selection = (function(){ var l = left(a,b), m = top(a,b), n = right(a,b), o = bottom(a,b) a[0] = l ; a[1] = m ; b[0] = n ; b[1] = o } - + function contains (a,b,point) { var contains_x = a[0] <= point[0] && point[0] <= b[0] var contains_y = a[1] <= point[1] && point[1] <= b[1] @@ -130,7 +130,7 @@ var selection = (function(){ creating = moving = copying = false selector_el.classList.remove("dragging") } - + function show () { selecting = true } @@ -144,7 +144,7 @@ var selection = (function(){ selection.hidden = true selecting = false } - + var selection = {} selection.reposition = reposition selection.down = down diff --git a/assets/js/ui/tool.js b/assets/js/ui/tool.js index 15a83bd..e941127 100644 --- a/assets/js/ui/tool.js +++ b/assets/js/ui/tool.js @@ -104,7 +104,7 @@ var RadioGroup = Tool.extend({ control.use() if (this.memorable){ localStorage.setItem("ascii.tools." + this.name, this.value) - } + } }, bind: function(){ var tool = this diff --git a/assets/js/ui/transform.js b/assets/js/ui/transform.js index d6253bc..dd4fe62 100644 --- a/assets/js/ui/transform.js +++ b/assets/js/ui/transform.js @@ -33,7 +33,7 @@ var transform = (function(){ } function up (e){ } - + var modes = { rotate: { @@ -59,7 +59,7 @@ var transform = (function(){ return true }, }, - + scale: { init: function(e){ mode.independent = e.shiftKey || e.altKey || e.metaKey @@ -86,7 +86,7 @@ var transform = (function(){ return true }, }, - + translate: { init: function(e){ mode.dx = mode.dy = 0 @@ -113,7 +113,7 @@ var transform = (function(){ before: function(dx, dy, pdx, pdy, point){ var new_position = mode.is_y ? point[1] : point[0] var dd = mode.is_y ? pdx : pdy - + if (mode.position !== new_position) { mode.position = new_position mode.direction = 0 @@ -151,19 +151,19 @@ var transform = (function(){ }, */ } - + function set_mode(m){ if (m in modes) { mode = modes[m] transforming = true } } - + function done(){ transforming = false copy && copy.demolish() } - + return { down: down, move: move, diff --git a/assets/js/util.js b/assets/js/util.js index 181068e..5c13ed2 100644 --- a/assets/js/util.js +++ b/assets/js/util.js @@ -77,7 +77,7 @@ function rgbpixel(d,x,y){ function fit(d,x,y){ rgbpixel(d,x*actual_w/w,y*actual_h/h) } function step(a, b){ - return (b >= a) + 0 + return (b >= a) + 0 // ^^ bool -> int } diff --git a/assets/text/LICENCE b/assets/text/LICENCE index b451736..9057f84 100644 --- a/assets/text/LICENCE +++ b/assets/text/LICENCE @@ -1,29 +1,28 @@ Jollo LNT license Version 1 - February 2015 - - Copyright, 2015. JOLLO NET NA. + + Copyright, 2015. JOLLO NET NA. The Jollo IRC Network. - + Vu, fare wanderer, confronted with raw, programmatic instruction dans la forme la plus pure. A hesitation, troubled to the terms - qui ce license affirme. Par un voyage du explorer le mechanisme + qui ce license affirme. Par un voyage du explorer le mechanisme et ponder la fabrication. Voila! La remide: egress sans risque. - + Sans trace (Leave No Trace) via sept principales: - + 0. Modifique language en advance. L'Apposer Jollo LNT license - with copies en distribuer. - - 1. Non responsible pour neglige programme du problematique. - + with copies en distribuer. + + 1. Non responsible pour neglige programme du problematique. + 2. Non sympathie pour neglige programme du problematique. - + 3. Non permission l'modifique under any circumstance. - + 4. Non permission distribution under any circumstance. - + 5. Respect les programmatic instructions. - + 6. Non interfere avec l'harmonie d'une amitie. - - \ No newline at end of file + diff --git a/index.html b/index.html index ebdebf8..a43115e 100644 --- a/index.html +++ b/index.html @@ -56,7 +56,7 @@ x vertical - +
new @@ -71,7 +71,7 @@ brush: 5 x 5
canvas: 100 x 30
- +
ascii *irssi mirc ansi @@ -108,3 +108,6 @@ +