diff options
| -rw-r--r-- | js/clipboard.js | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/js/clipboard.js b/js/clipboard.js index 79d323e..52f153c 100644 --- a/js/clipboard.js +++ b/js/clipboard.js @@ -5,6 +5,7 @@ var clipboard = (function () { importing: false, visible: false, canvas: document.createElement("canvas"), + canvas_r: document.createElement("canvas"), bind: function () { import_ascii.addEventListener("change", exports.setFormat("ascii")) @@ -210,7 +211,21 @@ var clipboard = (function () { return output }, - export_png: function (done_fn) { + rotate_canvas: function(){ + var cr = clipboard.canvas_r, c = clipboard.canvas + // cr.width = c.width + // cr.height = c.height + cr.width = c.height + cr.height = c.width + var ctx = cr.getContext('2d') + ctx.resetTransform() + ctx.translate(0, cr.height) + ctx.rotate(-Math.PI / 2) + ctx.drawImage(c, 0, 0) + return cr + }, + + export_canvas: function (done_fn) { var opts = { palette: 'mirc', font: 'fixedsys_8x15', @@ -218,8 +233,9 @@ var clipboard = (function () { bg: 1, canvas: clipboard.canvas } - if (done_fn){ - opts.done = done_fn + opts.done = function(){ + var c = canvas.rotated ? clipboard.rotate_canvas() : clipboard.canvas + if (done_fn) done_fn(c) } var start = Date.now(); @@ -233,22 +249,22 @@ var clipboard = (function () { }, save_png: function () { - var save_fn = function(){ + var save_fn = function(canvas){ var filename = clipboard.filename() + ".png" - var blob = dataUriToBlob(clipboard.canvas.toDataURL()) + var blob = dataUriToBlob(canvas.toDataURL()) saveAs(blob, filename); } - clipboard.export_png(save_fn) + clipboard.export_canvas(save_fn) }, upload_png: function () { - var upload_fn = function(){ - var uri = clipboard.canvas.toDataURL() + var upload_fn = function(canvas){ + var uri = canvas.toDataURL() var filename = clipboard.filename() var tag = 'ascii' upload(uri, filename, tag) } - clipboard.export_png(upload_fn) + clipboard.export_canvas(upload_fn) }, } |
