moved enhancement parameters into the options array, allows for easy setting on init

This commit is contained in:
Bala Clark 2010-07-15 13:51:13 +00:00
parent 293810e050
commit 88b8d57db3

View file

@ -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() {