diff --git a/examples/basic.html b/examples/basic.html index 6347720..25f7450 100755 --- a/examples/basic.html +++ b/examples/basic.html @@ -10,7 +10,7 @@ - + diff --git a/lib/ComicBook.min.js b/lib/ComicBook.min.js new file mode 100644 index 0000000..5e1baf0 --- /dev/null +++ b/lib/ComicBook.min.js @@ -0,0 +1,20 @@ +function merge(j,g){var k;typeof g==="undefined"&&(g={});for(k in j)j.hasOwnProperty(k)&&!(k in g)&&(g[k]=j[k]);return g}function ComicBookException(j,g){this.type=j;this.object=g;this.INVALID_PAGE="invalid page";this.INVALID_PAGE_TYPE="invalid page type";this.UNDEFINED_CONTROL="undefined control";this.INVALID_ZOOM_MODE="invalid zoom mode";this.INVALID_NAVIGATION_EVENT="invalid navigation event"} +function ComicBook(j,g,k){function m(){var a=window.innerHeight+1;o===!1&&(o=$(document.createElement("div")).attr("id","cb-width-shiv").css({width:"100%",position:"absolute",top:0,zIndex:"-1000"}),$("body").append(o));o.height(a);return o.innerWidth()}function w(){var a=parseInt(location.hash.substring(1),10)-1||0;a!==d&&h.indexOf(a)>-1&&(d=a,ComicBook.prototype.draw())}function s(){i=document.getElementById(x);t=i.getContext("2d");v===!1&&(ComicBook.prototype.renderControls(),v=!0);i.addEventListener("click", +ComicBook.prototype.navigation,!1);window.addEventListener("keydown",ComicBook.prototype.navigation,!1);window.addEventListener("hashchange",w,!1)}var x=j;this.srcs=g;var b=merge({displayMode:"double",zoomMode:"fitWidth",manga:!1,enhance:{},keyboard:{next:78,previous:80,toolbar:84,toggleLayout:76}},k),e=g.length,p=[],i,t,u=1,h=[],n=1,q=!1,v=!1,r=!1,o=!1,d=parseInt(location.hash.substring(1),10)-1||0;ComicBook.prototype.control={status:$(document.createElement("p")).attr("id","cb-status").addClass("cb-control cb-always-on"), +toolbar:$(document.createElement("div")).hide().attr("id","cb-toolbar").addClass("cb-control").append($(document.createElement("button")).attr("title","close the toolbar").addClass("cb-close").click(function(){ComicBook.prototype.toggleToolbar()})).append($(document.createElement("button")).attr("title","switch between dual and single page modes").addClass("cb-layout "+b.displayMode).click(function(){ComicBook.prototype.toggleLayout()})).append($(document.createElement("button")).attr("title","tweak the page colors").addClass("cb-color cb-menu-button").click(function(){ComicBook.prototype.toggleControl("color")})).append($(document.createElement("button")).attr("title", +"zoom out").addClass("cb-zoom-out").click(function(){ComicBook.prototype.zoom(n-0.1)})).append($(document.createElement("button")).attr("title","zoom in").addClass("cb-zoom-in").click(function(){ComicBook.prototype.zoom(n+0.1)})).append($(document.createElement("button")).attr("title","fit to page width").addClass("cb-fit-width").click(function(){b.zoomMode="fitWidth";ComicBook.prototype.drawPage()})).append($(document.createElement("p")).attr("id","cb-comic-info").append(" / "+ +g.length)),color:$(document.createElement("div")).attr("id","cb-color").addClass("cb-control").append("").append($("
").slider({value:0,step:10,min:-1E3,max:1E3,slide:function(a,b){ComicBook.prototype.enhance.brightness({brightness:b.value})}})).append("").append($("").slider({value:0,step:0.1,min:0,max:1,slide:function(a,b){ComicBook.prototype.enhance.brightness({contrast:b.value})}})).append("").append($("").slider({value:0, +step:0.1,min:0,max:1,slide:function(a,b){ComicBook.prototype.enhance.sharpen({amount:b.value})}})).append($(document.createElement("div")).addClass("cb-option").append(" ").append("")),navigation:{left:$(document.createElement("div")).addClass("cb-control cb-navigate cb-always-on left").click(function(){ComicBook.prototype.drawPrevPage()}),right:$(document.createElement("div")).addClass("cb-control cb-navigate cb-always-on right").click(function(){ComicBook.prototype.drawNextPage()})}, +loadingOverlay:$(document.createElement("div")).attr("id","cb-loading-overlay").addClass("cb-control")};ComicBook.prototype.renderControls=function(){$(i).before(this.getControl("loadingOverlay")).before(this.getControl("status")).after(this.getControl("toolbar")).after(this.getControl("navigation").left).after(this.getControl("navigation").right).after(this.getControl("color").hide());$(".cb-menu-button").click(function(){$(this).toggleClass("active")});$("#cb-desaturate").click(function(){$(this).is(":checked")? +ComicBook.prototype.enhance.desaturate():ComicBook.prototype.enhance.resaturate()});$("#cb-reset").click(function(){$("#cb-brightness").slider("value",0);$("#cb-contrast").slider("value",0);$("#cb-saturation").slider("value",0);$("#cb-sharpen").slider("value",0);$("#cb-desaturate").attr("checked",!1);ComicBook.prototype.enhance.reset()})};ComicBook.prototype.getControl=function(a){if(typeof this.control[a]==="undefined")throw new ComicBookException(ComicBookException.UNDEFINED_CONTROL,a);return this.control[a]}; +ComicBook.prototype.showControl=function(a){this.getControl(a).show().addClass("open")};ComicBook.prototype.hideControl=function(a){this.getControl(a).removeClass("open").hide()};ComicBook.prototype.toggleControl=function(a){this.getControl(a).toggle().toggleClass("open")};ComicBook.prototype.toggleToolbar=function(){$("#cb-toolbar").is(":visible")?$(".cb-control").not(".cb-always-on").hide():$("#cb-toolbar, .cb-control.open").show()};ComicBook.prototype.toggleLayout=function(){b.displayMode==="double"? +($("#cb-toolbar .cb-layout").removeClass("double"),b.displayMode="single"):($("#cb-toolbar .cb-layout").removeClass("single"),b.displayMode="double");$("#cb-toolbar .cb-layout").addClass(b.displayMode);ComicBook.prototype.drawPage()};ComicBook.prototype.getPage=function(a){if(a<0||a>g.length)throw new ComicBookException(ComicBookException.INVALID_PAGE,a);if(typeof p[a]==="object")return p[a];else r=a,this.showControl("loadingOverlay")};ComicBook.prototype.draw=function(){s();$(".cb-control.cb-navigate").outerHeight(window.innerHeight); +$("#cb-toolbar").outerWidth(m());$("#cb-loading-overlay").outerWidth(m()).height(window.innerHeight);p.length!==e?this.preload():this.drawPage()};ComicBook.prototype.zoom=function(a){b.zoomMode="manual";n=a;typeof this.getPage(d)==="object"&&this.drawPage()};ComicBook.prototype.preload=function(){function a(c){var i=new Image,f;$("#cb-status").text("loading page "+(c+1)+" of "+e);i.src=g[c];i.onload=function(){p[c]=this;h.push(c);c===e-1&&h.length!==e&&(c=-1);h.length