diff options
| author | timb <opuscule@gmail.com> | 2015-07-22 00:25:07 -0700 |
|---|---|---|
| committer | timb <opuscule@gmail.com> | 2015-07-22 00:25:07 -0700 |
| commit | a76225dc7f8ec707fc2dc563a796c65620b1c5a4 (patch) | |
| tree | 313932c110e782565224b9ae6be53f39a6325677 /js/ui/controls.js | |
| parent | 1a009fd877364f5c6616a381d39e33902201a298 (diff) | |
finally hook up undo
Diffstat (limited to 'js/ui/controls.js')
| -rw-r--r-- | js/ui/controls.js | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/js/ui/controls.js b/js/ui/controls.js index a0a7268..84a9d9b 100644 --- a/js/ui/controls.js +++ b/js/ui/controls.js @@ -4,7 +4,7 @@ var controls = (function(){ controls.cross = new Tool (cross_el) controls.cross.use = function(){ - brush.mask = blit.cross + brush.mask = blit.cross brush.generate() drawing = true brush.modified = false @@ -15,7 +15,7 @@ var controls = (function(){ controls.circle = new Tool (circle_el) controls.circle.use = function(){ - brush.mask = blit.circle + brush.mask = blit.circle brush.generate() drawing = true brush.modified = false @@ -26,7 +26,7 @@ var controls = (function(){ controls.square = new Tool (square_el) controls.square.use = function(){ - brush.mask = blit.square + brush.mask = blit.square brush.generate() brush.modified = false drawing = true @@ -56,7 +56,17 @@ var controls = (function(){ filling = false document.body.classList.remove("bucket") } - + + controls.undo = new BlurredTool (undo_el) + controls.undo.use = function(){ + undo.undo() + } + + controls.redo = new BlurredTool (redo_el) + controls.redo.use = function(){ + undo.redo() + } + controls.clear = new BlurredTool (clear_el) controls.clear.use = function(){ if (confirm("really delete this colorcode?")) { @@ -208,19 +218,19 @@ var controls = (function(){ // - controls.width = new Lex (width_el) - controls.height = new Lex (height_el) - controls.canvas_width = new Lex (canvas_width_el) - controls.canvas_height = new Lex (canvas_height_el) + 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 controls.bind = function(){ [ - controls.width, - controls.height, - controls.canvas_width, - controls.canvas_height + controls.brush_w, + controls.brush_h, + controls.canvas_w, + controls.canvas_h ].forEach(function(lex){ lex.span.addEventListener('mousedown', function(e){ lex.focus() @@ -234,6 +244,8 @@ var controls = (function(){ controls.text, controls.fill, controls.select, + controls.undo, + controls.redo, controls.clear, controls.grid, controls.webcam, @@ -256,21 +268,21 @@ var controls = (function(){ tool.use( localStorage.getItem("ascii.tools." + tool.name) == "true" ) } }) - - controls.width.key = keys.single_numeral_key(controls.width, brush, "w", 1, 10) - controls.width.raw_key = keys.arrow_key(controls.width, brush, "w", "rebuild", 1, 100) - controls.height.key = keys.single_numeral_key(controls.height, brush, "h", 1, 10) - controls.height.raw_key = keys.arrow_key(controls.height, brush, "h", "rebuild", 1, 100) + controls.brush_w.key = keys.single_numeral_key(controls.brush_w, function(w){ brush.resize(w, brush.h) }) + controls.brush_w.raw_key = keys.arrow_key(function(w){ brush.size_add(w, 0) }) - controls.canvas_width.raw_key = keys.arrow_key(controls.canvas_width, canvas, "w", "resize", 1, 999) - controls.canvas_width.key = keys.multi_numeral_key(controls.canvas_width, 3) - controls.canvas_width.onBlur = keys.multi_numeral_blur(controls.canvas_width, canvas, "w", 1, 999) + 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) }) - controls.canvas_height.raw_key = keys.arrow_key(controls.canvas_height, canvas, "h", "resize", 1, 999) - controls.canvas_height.key = keys.multi_numeral_key(controls.canvas_height, 3) - controls.canvas_height.onBlur = keys.multi_numeral_blur(controls.canvas_height, canvas, "h", 1, 999) - + 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() }) |
