From 88b8d57db3f9a959e47959665086f1fee2d6dcef Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Thu, 15 Jul 2010 13:51:13 +0000 Subject: [PATCH] moved enhancement parameters into the options array, allows for easy setting on init --- lib/ComicBook.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index c46dd15..fe51760 100644 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -6,6 +6,7 @@ Fo sho: - page controls - chrome frame / ExplorerCanvas + - show loading graphic & then fade in new page if user is ahead of the last loaded page Nice 2 have: - remember position (use localStorage) @@ -46,7 +47,8 @@ function ComicBook(id, srcs, opts) { var defaults = { displayMode: "double", // single / double zoomMode: "fitWidth", // manual / fitWidth - manga: false // true / false + manga: false, // true / false + enhance: {} }; var options = merge(defaults, opts); // options array for internal use @@ -61,7 +63,6 @@ function ComicBook(id, srcs, opts) { var loaded = 0; // the amount of images that have been loaded so far var scale = 1; // page zoom scale, 1 = 100% - var enhancements = {}; /** * Figure out the cursor position relative to the canvas. @@ -182,8 +183,6 @@ function ComicBook(id, srcs, opts) { * * TODO: break this down into drawSinglePage() & drawDoublePage()? * TODO: if the current browser doesn't have canvas support, use img tags - * - * @param applyEnhancements {boolean} */ ComicBook.prototype.drawPage = function() { @@ -267,7 +266,7 @@ function ComicBook(id, srcs, opts) { if (options.displayMode === "double" && typeof page2 === "object") { context.drawImage(page2, page_width + offsetW, offsetH, page_width, page_height); } // apply any image enhancements previously defined - $.each(enhancements, function(action, options){ + $.each(options.enhance, function(action, options){ ComicBook.prototype.enhance[action](options); }); }; @@ -316,9 +315,9 @@ function ComicBook(id, srcs, opts) { */ reset: function (method) { if (!method) { - enhancements = {}; + options.enhance = {}; } else { - delete enhancements[method]; + delete options.enhance[method]; } ComicBook.prototype.drawPage(); }, @@ -332,15 +331,15 @@ function ComicBook(id, srcs, opts) { * * @param {Object} options */ - brightness: function (options, reset) { + brightness: function (params, reset) { if (reset !== false) { this.reset("brightness"); } // merge user options with defaults - var opts = merge({ brightness: 0, contrast: 0 }, options); - + var opts = merge({ brightness: 0, contrast: 0 }, params); + // remember options for later - enhancements.brightness = options; + options.enhance.brightness = options; // run the enhancement Pixastic.process(canvas, "brightness", { @@ -356,7 +355,7 @@ function ComicBook(id, srcs, opts) { * Force black and white */ desaturate: function () { - enhancements.desaturate = {}; + options.enhance.desaturate = {}; Pixastic.process(canvas, "desaturate", { average : false }); init(); }, @@ -369,9 +368,9 @@ function ComicBook(id, srcs, opts) { * * @param {Object} options */ - sharpen: function (options) { + sharpen: function (params) { - var opts = merge({ amount: 0 }, options); + var opts = merge({ amount: 0 }, params); Pixastic.process(canvas, "sharpen", { amount: opts.amount @@ -444,7 +443,6 @@ $(document).ready(function() { book = new ComicBook("comic", pages, options); book.draw(); - //book.enhance.brightness({ brightness: 100 }) }); $(window).resize(function() {