var brush = (function(){ var brush = new Matrix (5, 5, function(x,y){ var lex = new Lex (x,y) lex.build() return lex }) brush.modified = false brush.bind = function(){ brush.forEach(function(lex, x, y){ if (lex.bound) return lex.bound = true lex.span.addEventListener('mousedown', function(e){ e.preventDefault() dragging = true // lex.fill(lex.fg, lex.bg) }) }) } brush.bind = function(){ var last_point = [0,0] var dragging = false brush.forEach(function(lex, x, y){ if (lex.bound) return lex.bound = true var point = [x,y] lex.span.addEventListener('contextmenu', function(e){ e.preventDefault() }) lex.span.addEventListener('mousedown', function(e){ e.preventDefault() current_canvas = brush brush.modified = true dragging = true erasing = (e.which == "3" || e.ctrlKey) if (erasing) { lex.clear() } else { lex.fill(brush.fg, brush.bg) } lex.focus() }) lex.span.addEventListener('mousemove', function(e){ e.preventDefault() if (! dragging) { return } erasing = (e.which == "3" || e.ctrlKey) if (erasing) { lex.clear() } else { lex.fill(brush.fg, brush.bg) } lex.focus() }) }) window.addEventListener("mouseup", function(){ dragging = false }) } brush.fg = 0 brush.bg = 1 return brush })()