From 0005837fd767747bc6efb1acc006019b9f51646d Mon Sep 17 00:00:00 2001 From: Hidde Jansen Date: Fri, 4 Nov 2011 21:53:40 +0100 Subject: [PATCH 01/18] Fixed manga mode --- css/styles.css | 6 +++++ img/iconic/sprite.png | Bin 3255 -> 5645 bytes img/iconic/sprite.psd | Bin 65190 -> 77880 bytes lib/ComicBook.js | 55 ++++++++++++++++++++++++++++++++++----- lib/ComicBook.min.js | 58 +++++++++++++++--------------------------- 5 files changed, 76 insertions(+), 43 deletions(-) diff --git a/css/styles.css b/css/styles.css index ead1d80..3f9aac3 100644 --- a/css/styles.css +++ b/css/styles.css @@ -129,6 +129,12 @@ #cb-toolbar button.cb-fit-width:hover { background-position: -24px -48px } #cb-toolbar button.cb-fit-width[disabled=disabled] { background-position: -48px -48px } +#cb-toolbar button.cb-read-direction#toleft{ background-position: 0 -144px } +#cb-toolbar button.cb-read-direction:hover#toleft{ background-position: -24px -144px } + +#cb-toolbar button.cb-read-direction#toright{ background-position: 0 -168px } +#cb-toolbar button.cb-read-direction:hover#toright { background-position: -24px -168px } + #cb-color { width: 246px; top: 44px; diff --git a/img/iconic/sprite.png b/img/iconic/sprite.png index d90c23ea822f3709620ffc06d82b3afe8253b47b..f81dc18196f7e9a477b01b537f85f8f7058530e0 100644 GIT binary patch literal 5645 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 oG^;ca{jBdb;D%rvLx| delta 2678 zcmZWqdpuNm8$W{*QESUaVQkoXlNutoG_{mVV@V^GTSYs&%nXW=EN6Eq$!3@nv))+M zy2UJVXu^)!{j6zF?gqJxZerY~GBe(0nmO-W^#1dn&*%3$&-ME}-{*5a=Xvy8r$Vm1 z%jN69695X(JUYr(p7Qtr>i}(yDK69HYhQmI8vuZwQ#Ko@6>F92Na2HT7f?nRS38Uo z9)oeScX4yHx5YR>QCd#_Z-wt`)oVd`1 z;U;3Ob5$C9QCo6takBDyNt#Dn?{aWN^6tB+f6hY7hF8;S9%WT6?I{@b})u@Vv}ogXYg~)E-APulfl#EMbHhLqcEt2c2}2tbG#Abgitdmk#INjz>EUt5w0mo?M9ERq9b_ z|4Y=)qHJ0sUAKc1;|l=wn0Fxzxg5AA#v9*SH35<8Wvr>7!so z=6=#*t!ek4eIq2wz#FJNmlGpu`{P@i(zA1)PiDnN2)h->5FlSx7YwFE5`Df&uwUyv zUb>|W48p~~Xx-k_r+7RPEI932v^&+J{}g$Oayv>v))|RW7r2Uj(B?z4xCg$Wv33vKu3Tvs+#c z*;PrqwMF$#y6qb$@JA0QCVu?5Ub{(5FUBiZ@Tb4%{ee*9!F_SU;3 z0`EI?*-upmu|vMrY-B*mO-U^wF)+q)`a;mmdDlLlfhalnu+__1UfRD+as^|RNTNOk zXU1xlP1Z(i;{5Y>^r;6@th4y!H)g@LT~h(iR{j!E$kzvn0ey<@Q2{D_${SX8U(< z$P%T;6`aU2jt#K#e>`|{zke;+Hr(3qd`NIZooBQnCmJVsh)tDNW!tXjADzE>bb=Tg zwh-cW$PH)R@|t!68Pc?P5nJCH zIjAe&5569dU*&;);2=TapVYY%+dm3k0g0gSWUBpAM5tu%2?X#&0N>IN*6j0QtOzSA zLI7I0pWnRglXT7;I138)A%Hb)PBkE&rn)s9J(pC+@02YB5_%WorMO3R({Dpv-wxA> zY+)(_e2oC2^YireptE#&k9Y+)&;9`cO4t{hRkzZI4%jBFJORqt)z7PRe zY`H!H^xtroa)r@p!r%(wnKb^xrKHIguxF|{=AlKuO;_AJnw7u8vc81?$na`2h0dqv zonP?Bb`p&?Tq<^qmk(E5cw%<^Wnl++EAt55RgjZ+$aOcCnLnT6Pc$E44ZqzN*G#P@G5+z?eN&2FOqV)^>zbV3${3!B zA(>O(gLzG+yuO%r6MngO68D(zYf!m9cCq$V5RMmzZG0tYV3#fRqFaWPpYAgN$|Tkq zSt!@%MU(@e+R2-hClB%>IYNgv>TL!bF!uIt7*{upljWz44;7HUQZD2_NpIKc7<^15 zLG_908o?nca9u<_07PUWFQLF290(bO^_{E_b|2j7q`x|amz6$4;YFg}E_g;;&?e1!xUJaaZFJ2R;@2A3m_{HmC z-LgQ`8s)G%^`V2mg+Oq*R5ioS^{!BU=}V}fQq$D>drH+BK3wIf0Wb(v&dnIkyYIcK zOX11tFpX?jq~vN0;~6_vbpiC#A3I^&)-8^(m(Uvp#|kZ1ulZ#(3XTz@^_fB~l(|0h Q;%BIB`pji>)Fs3J0{cWH1ONa4 diff --git a/lib/ComicBook.js b/lib/ComicBook.js index de45221..21fc023 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -4,7 +4,6 @@ TODOs: Fo sho: - - fix manga mode - trigger preload if requesting valid but not loaded images (can happen if network was interupted) - loading and generally hackiness of pointer is buggy, fix. - check for html5 feature support where used: diveintohtml5.org/everything.html or www.modernizr.com @@ -245,6 +244,16 @@ function ComicBook(id, srcs, opts) { ComicBook.prototype.drawPage(); }) ) + .append( + $(document.createElement("button")) + .attr("title", ((options.manga == true) ? "change reading direction to 'left-to-right'" : "change reading direction to 'right-to-left'")) + .addClass("cb-read-direction") + .click(function(){ + options.manga = !options.manga; + ComicBook.prototype.drawPage(); + }) + .attr("id", ((options.manga == true) ? "toright" : "toleft")) + ) .append( $(document.createElement("p")) .attr("id", "cb-comic-info") @@ -307,13 +316,27 @@ function ComicBook(id, srcs, opts) { left: $(document.createElement("div")) .addClass("cb-control cb-navigate cb-always-on left") .click(function(e){ - ComicBook.prototype.drawPrevPage(); + if(options.manga == false) + { + ComicBook.prototype.drawPrevPage(); + } + else + { + ComicBook.prototype.drawNextPage(); + } }), right: $(document.createElement("div")) .addClass("cb-control cb-navigate cb-always-on right") .click(function(e) { - ComicBook.prototype.drawNextPage(); + if(options.manga == false) + { + ComicBook.prototype.drawNextPage(); + } + else + { + ComicBook.prototype.drawPrevPage(); + } }) }, @@ -666,19 +689,39 @@ function ComicBook(id, srcs, opts) { // disable the fit width button if needed $("button.cb-fit-width").attr("disabled", (options.zoomMode === "fitWidth")); + + //Change the icon on the read direction + if(options.manga == true) + { + $("button.cb-read-direction").attr("id", "toright"); + } + else + { + $("button.cb-read-direction").attr("id", "toleft"); + } // disable prev/next buttons if not needed $(".cb-navigate").show(); - if (pointer === 0) { + if ((pointer === 0) && (options.manga == false)) { $(".cb-navigate.left").hide(); $(".cb-navigate.right").show(); } - - if (pointer === srcs.length-1 || (typeof page2 === "object" && pointer === srcs.length-2)) { + else if ((pointer === 0) && (options.manga == true)) + { $(".cb-navigate.left").show(); $(".cb-navigate.right").hide(); } + if ((pointer === srcs.length-1 || (typeof page2 === "object" && pointer === srcs.length-2)) && (options.manga == false)) { + $(".cb-navigate.left").show(); + $(".cb-navigate.right").hide(); + } + else if ((pointer === srcs.length-1 || (typeof page2 === "object" && pointer === srcs.length-2)) && (options.manga == true)) + { + $(".cb-navigate.left").hide(); + $(".cb-navigate.right").show(); + } + // user callback if (typeof options.afterDrawPage === "function") { options.afterDrawPage(pointer + 1); diff --git a/lib/ComicBook.min.js b/lib/ComicBook.min.js index 8633224..f9af946 100644 --- a/lib/ComicBook.min.js +++ b/lib/ComicBook.min.js @@ -1,39 +1,23 @@ -var Pixastic=function(){function c(a,g,o){a.addEventListener?a.addEventListener(g,o,!1):a.attachEvent&&a.attachEvent("on"+g,o)}function b(a){var g=!1,o=function(){g||(g=!0,a())};document.write(' - + diff --git a/lib/ComicBook.js b/lib/ComicBook.js index 54a838d..dfd0d86 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -172,7 +172,7 @@ function ComicBook(id, srcs, opts) { // add page controls canvas.addEventListener("click", ComicBook.prototype.navigation, false); window.addEventListener("keydown", ComicBook.prototype.navigation, false); - $(window).bind('hashchange', checkHash {}); + $(window).bind('hashchange', checkHash); } /** From 586bdb25ebffe49de5334ec72b0d5005918fa420 Mon Sep 17 00:00:00 2001 From: Hidde Jansen Date: Sat, 7 Apr 2012 19:23:13 +0200 Subject: [PATCH 04/18] Changed reading direction image and other small style adjustments --- css/styles.css | 15 ++++++++++++++- examples/basic.html | 4 ++++ img/iconic/sprite.png | Bin 5645 -> 5879 bytes img/iconic/sprite.psd | Bin 77880 -> 84504 bytes 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/css/styles.css b/css/styles.css index 3f9aac3..f23cbe7 100644 --- a/css/styles.css +++ b/css/styles.css @@ -7,6 +7,19 @@ .cb-control { color: #fff; background-color: #111; + background-image: linear-gradient(bottom, rgb(17,17,17) 20%, rgb(41,41,41) 72%); + background-image: -o-linear-gradient(bottom, rgb(17,17,17) 20%, rgb(41,41,41) 72%); + background-image: -moz-linear-gradient(bottom, rgb(17,17,17) 20%, rgb(41,41,41) 72%); + background-image: -webkit-linear-gradient(bottom, rgb(17,17,17) 20%, rgb(41,41,41) 72%); + background-image: -ms-linear-gradient(bottom, rgb(17,17,17) 20%, rgb(41,41,41) 72%); + + background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.2, rgb(17,17,17)), + color-stop(0.72, rgb(41,41,41)) + ); padding: 10px; position: fixed !important; -webkit-box-shadow: 0 0 4px #000; @@ -94,7 +107,7 @@ #cb-toolbar { top: 0; - border-bottom: 2px solid #444; + border-bottom: 1px solid #888; } #cb-toolbar button { diff --git a/examples/basic.html b/examples/basic.html index a902e7c..3634598 100755 --- a/examples/basic.html +++ b/examples/basic.html @@ -7,6 +7,10 @@ + + + + diff --git a/img/iconic/sprite.png b/img/iconic/sprite.png index f81dc18196f7e9a477b01b537f85f8f7058530e0..50a74ceb12a07b883be47bd3ebb6339e09f0f816 100644 GIT binary patch delta 3160 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 AtpET3 diff --git a/img/iconic/sprite.psd b/img/iconic/sprite.psd index a6cf9d3da1f038fa660a7de1978a14a6372532e7..60d00bbe416a1549870c08188745f4e9822b3394 100644 GIT binary patch delta 17624 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 KWZAL+a_>KnIaWCU delta 10005 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 V`nzKjR Date: Fri, 17 May 2013 23:23:47 +0900 Subject: [PATCH 05/18] Add best-fit mode --- css/styles.css | 4 ++++ img/iconic/sprite.png | Bin 5879 -> 6733 bytes lib/ComicBook.js | 26 ++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/css/styles.css b/css/styles.css index f23cbe7..6febb75 100644 --- a/css/styles.css +++ b/css/styles.css @@ -142,6 +142,10 @@ #cb-toolbar button.cb-fit-width:hover { background-position: -24px -48px } #cb-toolbar button.cb-fit-width[disabled=disabled] { background-position: -48px -48px } +#cb-toolbar button.cb-fit-best { background-position: 0 -192px } +#cb-toolbar button.cb-fit-best:hover { background-position: -24px -192px } +#cb-toolbar button.cb-fit-best[disabled=disabled] { background-position: -48px -192px } + #cb-toolbar button.cb-read-direction#toleft{ background-position: 0 -144px } #cb-toolbar button.cb-read-direction:hover#toleft{ background-position: -24px -144px } diff --git a/img/iconic/sprite.png b/img/iconic/sprite.png index 50a74ceb12a07b883be47bd3ebb6339e09f0f816..b8c010a1b714fb29df1788cf2ca77eabe1f2518d 100644 GIT binary patch literal 6733 zcmY*e1yod9+dc>g($WnAb3qyT4o`##TG6Q{5HfSiPx1ONbXsD_#$IBI~`PvYxWvxE`? za3Jteff^HopAcfFSO8!qfT}4Q2jrsif~{%H7GuI+L~wn&!9{IKS}@LE;L!NUh5_2< zdw+v&$8g+KQ}Ac?$*ZiItjG_3bW2n5)u!7e<8A_+-do6_j_M~WMUkfx$^x+&)Ykkd zu{?AeT%y>RQD178P3=4OOT(jQM+cO55OPfHW8Yf7iE;y(nA170ZEkMv5&*EQo)!%} zT<2`|n_aJd(?6xvb07TqJthe&%d%#1rQ-_&BL~{wkzJD#s%%$0Dwdi@{IWQc8dcnu^}IA zc2`%|;QCmmuuVn15d1mnm-yk>m53yoi{>O++3{<(LXUhEnkHPakWvwOq9o7(K6m|n zodb^@J$>fw6pbqM#9h~umHw|IO{-cwsZJK=<{TXn=c<~TnxiW{F(!Z>MbYu`v30^% zhv_ZfSz}omYU)B}`JhHQSy?MOMn=BtfQF9Fh`jgufJ(*TO|j0=K<5Pwx-V%xzqeHt zH=j59PgsYU2bSRZ06yJaEkGR&3OUm)p8FuMT&2-;wf~Mbd_C_8sd?&D45b=VWt8 zN=mx!`UMYgd-CL@8Fn#0za@@qpL_FXe-GX$ofM83WsB4!uBfcURuvRD4nad?t%(Hm4r7Vn(zc2VT?Y5KrQtzl}ou$T-Y)0bj`0^93 zVZ}^gclCv>iY6|uT4L74kqEN%V_p#B;lu;ERM$x=sIOPK>>0_q?zMNzK~GOl6Ze1v zH7J>_Ol`PKgD%+55g7tz-}4*ZQcO*kQVe-;2({%-AFHx-DPF8l zHX;N|RhwpiXt$siBr3m?otzLTN+FDX`DCIBkR$+SiiX2d_~iwDOG}H_oax7msIr0r z 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 Q|AzqReOFq@*7H z-dbM@A1{uleOW&bD7{kKHxQN$gadX4a2mbz?tCQsmPV2zpWqp(9=m9q8>} z+vJuC#s#?mMA-G#jPAEgXuu^*OpNn+H&!Qr<~@yv4RouecfX{GxF`GpNi{|b`heE$ z0e_`}9Yh95`F@5J0aEg4L76Em+CUBlU_N4HxdCXr0L)nfx2J)i%*#|iG{7igV+Sz& z0P{g6CU4+FDnKTGq9^u?vx;bk;~`S1bz&_bVYy%<>=&+BdV1V+Y)Bm;wtv8aO3W*f_+(=;d;z!rx`{$OH8+Tjd!r$k|)eJ9YUR8@b%LmW73_&CPk`UWk#! zuwK9&w8yMl@AmB#Ozh_3Y_)S86wGT9tblR3+B5oFwUA~!9_NGQ@^-AkO%vYz4ej*v zUM0&GeGak>O%m77vS}Yrc?+LMLE_o_n5XWo*HK*8=n^OapvFN0%@6*f#Ka2yT!ocL z-=ll|0sv0hoWK6VhK(L%7rHj?b$={*tB}JC1lcOZy8?izEQniYxL$Gq8vtZ;f;noW zsegZc%GLdt<}2p%SG*f@!4D8nZx4hBf@>W_<7UoY5dvWgAFH9|FbDr5Ma$oi)OZ6*+RA^c;3o%NNiJs1Z=dJvn`f^jht%`#e_=`%KEYS<;?S49kx7!boyB$?)O z6}W&Rk5;q}gRUa&iMZP%;Rs{-R=DUOz#DQC-mbut5L~Az{?C&JnU)fvXCLJA@FuK1 zc+z4ia?&TP^NIBiu|&Dc6Ea?R7S-VFzWZEut;{t;aSg zywbY)X<92KxjMuGv4)V!+(xZx&4?0G{`YCZW1$pEDutDKiPO*QDD5unt9LzGiB}To zUMElJO^xg+>?ZG`|Mq%A)TIguringgs;T2@r{y$nzHRCh!tw$xNRph{ksPkW;j=bxl<-Lg!L zeQj!OXsKvPL>aWiSx2$}W^fzz*x;M$H+7i;&74}ZjrM*9JS(btZ!Shh{POVk!2-Q3 zwPOqZo*Zo{x3q0B;$@||!ZLiye0ud-rwO)_SQ{y>ml+lTTsM-^q^I*V(Cy z_*GkYY>XYtl9H43%N5Ht%N6!J1gj2k|0 zcrvHThNPx6Ex?fZ>4KpRf|PW|~T zk69R5RMdW`9i?fhwG^=ziK>dK4vdYC<&Djz3Z#qk%<=A|@1)PAqngYOy$!hl&KW%U5PrGS9YEwiOc>x4cHYF3*~UeyjP_IMi6$L{+mj z|9GjY(Wx=O0%}PKZR)G~c7*6a1hfWxx)sO5k60imr!}O7xqopZ6L}-@Jq?+0BpJ~6 zJ82IL)gLDspXb|XBpqSzwa?T}pH_fULR;KJPa|WZR6<6$lO?#*sry$3J2sU)&Rk8_ ze5cMb)9cfF4ojA*j|7kGk0O?{NBOhavkds$C%z5JtZHseO5$ZFzH~%Yz|>{bgP{#O zOkgW8T(5Gjrm4`Y?84%hQsP{~Eqg;^Lrmy9?{@>UQK9ap!KM-QZ_Zg}VJMkErhDsq z-}_0RIEWbyiXIg#9c=XI`qI~*vFo#>$db)@-NK>t$D9^va_QKR%8;$Em5g?S2XU2* z7dt6PIMSXVOarz%JAq}fZ4vVg_JlPoB1|t_^0P~%{>t@A+3)F4 z9(CdB7s>)05@p;DVv9np{H>Dx+_nazGy0kON^ezYgtDN4CXxI~hqR3l%%O86;F#8E==k@fns598yj{Qt)W=uIwbk;0wKT3>6<>8FT_lSl&6B~2S6rlnCo~=&=L#uf zR6{gEe?YfwJx3~R!s_n&-o-S5=@PMq9P8sMFb!VdHbRPabqv|&II!xVHhQ*QV^PDx zN#$9bV~3;l!%J~O8OPc8ha^2DYw?YR;VODBX!W-{DjbCC#9V!ra5u;?Im6#Pt`KXE zZsc&9Q7=E#ORj=-u=uJu2Ah5z4*A-E=D3fii@OyTu)jQaXritUHb6C4{0YybmLQLc zt|D8aOePPUXIu8(qK8j1x&e&WlUDsboRz;QVT_#;SnN+@Zay=YCpF+RIVj^gqYx!q} zc1m1FD|VK1Ux8qNzVj~g*y{zpAinOWjQ({d7g?Xpy$c-F1s%S~qUT4yiZ!fhdQVy? zE!Y8)c9JHauAO#mWNFl@J}NOe`{TRsjlvQ=VFtgLfsgX3&XE1$UdS{8dNTeoGchv& z#(lMHzLeMKw_}AwIS@J@w-R}*P08KI?1;9DB8^X)Jx=PDwn+7w_0pFk@3= zN5b*L_p@F}2n(-Ey4~*G6w8cTkF#V^-sRnmR8dlZVV5)ebI8e*$=u|VWJH&ff8p(q z?tQB2rT(6Ny3QeQJ|5HGZ>|r&dM$g=9_OP7)i?ba0@?2Eu4>P;CyK8TR0za9271cr zjTPUErHAiL1}jA^H30Bs27sVY0Jyq;z&!wX{}KRxm;-=F3II?#$D8%Z1HhB#O0v>A z-irsBk{^wfXa~AZ56}<4!gbl~CTy5oF&T)x7}k0S$ly|-q&XuEqUzrFyPoV?8SLkc zuDEO@QAeP44UKt6pD=66wUC}4Cjz|OeIA=Y@_+}h)u7-4$Vac3TeDw(UegcoKk(a->m zY=uJN!%9DwHh!qZx{=(N2D7i~_g&JWHOpbQ3~xVW?h>y$+M9I}ft8E3|2vSKQLW=P@v z$vie{_UNYuU#ardp{sx%tXgugH7Yc*E@^ZQ*5@4C`Nft3o-c^Mbxeo zW!Y(!XN8#{in>qpj4X3iiCc^PK@PFyS`TNaz?Jb(;YwhKTqMNGcHBt~JOAUTYZ3Xb zFO0X4L9WxCw7b^nmHN`W<@vl|MzPad9={5_oih2i>Ta4%0oa8JB3XWqav<2kiDuq? zcwM@5N>?lS!IXDM&qJLC3U?=FfJu3;Fk?1`8OT3xj_2(1<8Mw#&e1c}dLuocIQu?8 zS?fexN$W&T2|m(1qu9D`WjdiaoQM*CX6#C5`5|r~4WY_bIA>gyqf2N15T?GUu6mQ{ zlQxA=N2Gh4{1nT+l8@4&wKzLiDZPT##67D(E#CNwMXAak0Rn4|GT;cSK(gZ7$qxnM zDiy-Cn26VODH?OZ5cwK;rDhhK4-iYeV0vsa!;4V$OL3kk_#V8h0J06f+b z^xOSg?$KX$vaVOppvrq>+jDfq5}mqqw2!3xjEA-^GY|V_)h_H-{l!qBuWROqg*RvQ zBJ|&u4b4iXevSnvRaUpt)0=S_nF-U=A3J22*Yf?+FG`ttFTea_;m>7TY}v@hLI~fa zz6tBsCgD5IK$H>PI7LQOf3z7+=h&|gT7MMm8l9SBI(ui#Dq^7_2}^>@a@9Yb{@-m{ zpwvEU!1KGB>Nnjg+bTa_4D0Z>x2krVIl1ca?8NcAO6_UaB1m`l)RxC{6pj&w?vCmW zp#kUmtmO=qG=%YA+{6^8hHDcGNIV{`;X}h4V?7c(8`jD(oO;|yxOw8e7O{=Pql z&3Y@|Uw*g2@bS-@CrnXS&55e5s|O4Z3oCgArzoQ0&jJ5?epxvmWQawewfQ zj?b_-{b4U=d)G60))x!%gr()`&Qm$cJRFB&K{g@1i^|$uh{^y#e4EIBefRB{(`XGY zzLWQud{!2waS4q%g^5h?gtThJgKahU1ox4)Cg#I*%fD3mqCD1Q z@G0F>P_^w@qlJWHJ^pFxRg#5iI$OAh!F11v+5b|OVK>o94rpP4P*fATIXoC#@&D#B z!>+EAg#f*;1`!zsrnK~bAs16RmDfH!ROgtT=>rkHdY*Wd@>S)@1YXx%GRm=5vl>1T z+C%hz6)`~;^?a;l`oLAMTB$Wj}BzoGCy-h3$Nu(p-n!NHw(RwDL^3i7av-M&K>)h3Y50QgFD zsev2@YSDk#@x)EJ#+&ISqJA@70{ju7{b<5Eu)1xYyz>WQ2jr# z^1C(^%ylQl^nQMD=V2X*+ojpnK#kL=>r}{UFbMzk@uv9!hk9fE;=?kS!6Xh$q{5cfFDNGR0 zQdZz*LlD0ytXI>_geY|)hDapbbns7aL0SYJ7z(%RaTfkEAWoQM!u{V~(Z70qjnnbA zr*XUZ_JgUQh0&>Yz^r??ooxe`5*)+fw1CX9T*tqB+}9KP>`gokq$3d&p#e@L^NF`& z9+IIeNZe#3R91}E8ct>KG4kM4N^+~X$^)qg&)(>hph7FAoGB_RrhM1D-uP2gx^2|k z*^I?v1nFj3rLw9$k>ot384+U_kVLw3ofZs5GmNoTC?cdn3wn!NYn06g1abHkfBa08 z^PDv7Ou={tdcQuL*GxgGo;Map9-lz(!vrt*>yfze$FsE7l|!^5z-`KWdm0GX*YWpD z5dn?*?>;@4szYsWs-M0p(Ma*$3yS<`q^Q~&I5 z!cUC6mFqi}#9D0v?r>HWfUK6RNQx}GE9-M+*1Ma7mLz&|$$hm6YM>QZzu>tg?^YMT z)1Hl{XI~YX9}j%=6Gos8bGnqvH9BztyfId(flkcTx(&qKiTxUV^3cuupm&=++2eP9 zsd0}Kbq2Y1(Lon&fuo)N{OI>j`2Re$ZiEwNYial<8EQmYvinY4pwYORc=T&sN&@rd zG6y>ZJG?(*9-eb{bNRuTr64YC{30h1ecl335?})^xq}7(SYLmW%Jj+5L5xYn)xcmZ zZuVXgt!W+Od6Y|hHM;kbRji39Ow%>qiF?w)hi=xf5A4vo@8vJy$f$jeq~x`6z9H)S zS0+RVqt>y6v!PB`xmX>l($Lc#HreW}e%3G8%C^~yhFogb_(6eGpM6gA?{5zK-`;gC zUsjI^IujWVej;3zejvt)-~G&VH6< z?Zt21HPF(+^aeC%a(emFLjt{!&k^=Ux^*R(`t7gF7*$H5fDCXTEGe2kPye;%0l|LW zIN(p(tzI*4i$)=eyEN#HCCYpM$nN)V0+%F0Nsf@I1zHVhr<9I0D z2|nPH7>hy@`%XVJwGRHkuV3-_A+1DMqUpD9+L8E@zZqn%?}4K8(UsF?)uV?$3qVQk KwQLo{Jmf!c>NY?C diff --git a/lib/ComicBook.js b/lib/ComicBook.js index cb4d699..5c9f371 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -243,6 +243,15 @@ function ComicBook(id, srcs, opts) { ComicBook.prototype.drawPage(); }) ) + .append( + $(document.createElement("button")) + .attr("title", "fit to page width/height") + .addClass("cb-fit-best") + .click(function(){ + options.zoomMode = "fitBest" + ComicBook.prototype.drawPage(); + }) + ) .append( $(document.createElement("button")) .attr("title", ((options.manga == true) ? "change reading direction to 'left-to-right'" : "change reading direction to 'right-to-left'")) @@ -601,6 +610,7 @@ function ComicBook(id, srcs, opts) { } var width = page.width; + var height = page.height; // reset the canvas to stop duplicate pages showing canvas.width = 0; @@ -642,6 +652,21 @@ function ComicBook(id, srcs, opts) { scale = zoom_scale break; + case "fitBest": + document.body.style.overflowX = "hidden"; + + var width_scale = (windowWidth() > width) + ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page + : windowWidth() / width; // scale down if the window is narrower than the page + var windowHeight = window.innerHeight; + var height_scale = (windowHeight > height) + ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page + : windowHeight / height; // scale down if the window is narrower than the page + + zoom_scale = (width_scale > height_scale)? height_scale : width_scale; + scale = zoom_scale; + break; + default: throw ComicBookException.INVALID_ZOOM_MODE+' '+options.zoomMode; } @@ -697,6 +722,7 @@ function ComicBook(id, srcs, opts) { // disable the fit width button if needed $("button.cb-fit-width").attr("disabled", (options.zoomMode === "fitWidth")); + $("button.cb-fit-best").attr("disabled", (options.zoomMode === "fitBest")); //Change the icon on the read direction if(options.manga == true) From 88e5fa8afe1aabf307abb1dd52cc4791bc1e77fc Mon Sep 17 00:00:00 2001 From: Puzzlet Chung Date: Fri, 17 May 2013 23:39:08 +0900 Subject: [PATCH 06/18] update pixastic version --- Makefile | 12 ++++++------ lib/ComicBook.js | 5 +++-- lib/pixastic | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index a004a78..aba517b 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,11 @@ -SOURCES = lib/pixastic/pixastic.core.js \ - lib/pixastic/actions/brightness.js \ - lib/pixastic/actions/desaturate.js \ - lib/pixastic/actions/sharpen.js \ +SOURCES = lib/pixastic/pixastic.js \ + lib/pixastic/pixastic.effects.js \ + lib/pixastic/pixastic.worker.js \ + lib/pixastic/pixastic.worker.control.js \ lib/ComicBook.js -all: reset lib/ComicBook.combined.js lib/ComicBook.min.js clean +all: reset lib/ComicBook.combined.js lib/ComicBook.min.js lib/ComicBook.combined.js: ${SOURCES} cat > $@ $^ @@ -14,7 +14,7 @@ lib/ComicBook.min.js: lib/ComicBook.combined.js java -jar bin/closure-complier/compiler.jar --compilation_level SIMPLE_OPTIMIZATIONS --js $< --js_output_file $@ reset: - rm lib/ComicBook.min.js + rm -f lib/ComicBook.min.js clean: rm lib/ComicBook.combined.js diff --git a/lib/ComicBook.js b/lib/ComicBook.js index 5c9f371..d7d6095 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -863,11 +863,12 @@ function ComicBook(id, srcs, opts) { options.enhance.brightness = opts; // run the enhancement - Pixastic.process(canvas, "brightness", { + var P = new Pixastic(canvas.getContext("2d")); + P["brightness"]({ brightness: opts.brightness, contrast: opts.contrast, legacy: true - }); + }).done(); init(); }, diff --git a/lib/pixastic b/lib/pixastic index 178dd73..5de8438 160000 --- a/lib/pixastic +++ b/lib/pixastic @@ -1 +1 @@ -Subproject commit 178dd7313b4d7c7dceec6a137467e304f0a1210f +Subproject commit 5de84389685e3124137f6b45daa64811cc6a8220 From 48afb3dd96830a9adca0402000c2f8ecb0534378 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Mon, 19 Aug 2013 22:23:03 +0200 Subject: [PATCH 07/18] make page load buffer level into a config variable --- lib/ComicBook.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index e7ecf04..dd73def 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -86,7 +86,8 @@ var ComicBook = (function ($) { toolbar: 84, toggleLayout: 76 }, - libPath: '/lib/' + libPath: '/lib/', + forward_buffer: 3 }; this.isMobile = false; @@ -391,8 +392,6 @@ var ComicBook = (function ($) { // to be loaded before you can scroll backwards function preload(start, stop) { - var forward_buffer = 3; // TODO: make this into a config option? - var j = 0; var count = 1; var forward = start; @@ -400,7 +399,7 @@ var ComicBook = (function ($) { while (forward <= stop) { - if (count > forward_buffer && backward > -1) { + if (count > options.forward_buffer && backward > -1) { queue.push(backward); backward--; count = 0; From a1e8d77182c91d43977d634c2cc41942bbedf5c3 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Mon, 19 Aug 2013 22:28:43 +0200 Subject: [PATCH 08/18] only emit navigate event when loading a new page --- lib/ComicBook.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index dd73def..70a8505 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -5,8 +5,7 @@ Fo sho: - create onclose callback, show close button only if set - _ fix progress bar css - - only trigger navigate event on page change (not resize, etc.) + - fix progress bar css - fix manga mode - trigger preload if requesting valid but not loaded images (can happen if network was interupted) - loading and generally hackiness of pointer is buggy, fix. @@ -23,7 +22,7 @@ - refactor so we are not using all these loose shared variables and other nastyness - use custom event emitters instead of hacky code - properly bind 'this' so we don't have to keep using 'self' - - allow toolbar to be sticky + - allow toolbar to be hidden on mobile (maybe show a small translucent button that opens the toolbar when clicked) */ var ComicBook = (function ($) { @@ -577,7 +576,9 @@ var ComicBook = (function ($) { $('.navigate-right').hide(); } - $(this).trigger('navigate'); + if (pointer !== getHash()){ + $(this).trigger('navigate'); + } // update hash location if (getHash() !== pointer) { From e83dd1e8753facdc83991ce3c147a22be60de2b5 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Mon, 19 Aug 2013 22:49:11 +0200 Subject: [PATCH 09/18] fixed manga mode --- lib/ComicBook.js | 24 +++++++++++++++++++----- lib/templates.js | 4 ++-- templates/navigateLeft.handlebars | 2 +- templates/navigateRight.handlebars | 2 +- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index 70a8505..66b7e44 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -6,7 +6,6 @@ Fo sho: - create onclose callback, show close button only if set - fix progress bar css - - fix manga mode - trigger preload if requesting valid but not loaded images (can happen if network was interupted) - loading and generally hackiness of pointer is buggy, fix. - check for html5 feature support where used: diveintohtml5.org/everything.html or www.modernizr.com @@ -23,6 +22,7 @@ - use custom event emitters instead of hacky code - properly bind 'this' so we don't have to keep using 'self' - allow toolbar to be hidden on mobile (maybe show a small translucent button that opens the toolbar when clicked) + - enhancement progress bar */ var ComicBook = (function ($) { @@ -567,13 +567,23 @@ var ComicBook = (function ($) { // disable prev/next buttons if not needed $('.navigate').show(); if (pointer === 0) { - $('.navigate-left').hide(); - $('.navigate-right').show(); + if (options.manga) { + $('.navigate-left').show(); + $('.navigate-right').hide(); + } else { + $('.navigate-left').hide(); + $('.navigate-right').show(); + } } if (pointer === srcs.length-1 || (typeof page2 === 'object' && pointer === srcs.length-2)) { - $('.navigate-left').show(); - $('.navigate-right').hide(); + if (options.manga) { + $('.navigate-left').hide(); + $('.navigate-right').show(); + } else { + $('.navigate-left').show(); + $('.navigate-right').hide(); + } } if (pointer !== getHash()){ @@ -783,6 +793,10 @@ var ComicBook = (function ($) { switch (e.type) { + case 'click': + side = e.currentTarget.getAttribute('data-navigate-side'); + break; + case 'keydown': // navigation diff --git a/lib/templates.js b/lib/templates.js index db099c3..beec511 100644 --- a/lib/templates.js +++ b/lib/templates.js @@ -14,7 +14,7 @@ helpers = helpers || Handlebars.helpers; data = data || {}; - return "\n
\n \n
\n"; + return "\n
\n \n
\n"; }); templates['navigateRight'] = template(function (Handlebars,depth0,helpers,partials,data) { this.compilerInfo = [2,'>= 1.0.0-rc.3']; @@ -22,7 +22,7 @@ helpers = helpers || Handlebars.helpers; data = data || {}; - return "\n
\n \n
\n"; + return "\n
\n \n
\n"; }); templates['progressbar'] = template(function (Handlebars,depth0,helpers,partials,data) { this.compilerInfo = [2,'>= 1.0.0-rc.3']; diff --git a/templates/navigateLeft.handlebars b/templates/navigateLeft.handlebars index 74ff757..aeb2883 100644 --- a/templates/navigateLeft.handlebars +++ b/templates/navigateLeft.handlebars @@ -1,4 +1,4 @@ -
  • - + +
  • From ec13a20d79278bd5bd9b85c1a1520e3231839443 Mon Sep 17 00:00:00 2001 From: Puzzlet Chung Date: Tue, 15 Oct 2013 02:35:32 +0900 Subject: [PATCH 13/18] rm compile-time-generated file --- lib/templates.js | 43 ------------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 lib/templates.js diff --git a/lib/templates.js b/lib/templates.js deleted file mode 100644 index 00b1f84..0000000 --- a/lib/templates.js +++ /dev/null @@ -1,43 +0,0 @@ -(function() { - var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {}; -templates['loadingOverlay'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [2,'>= 1.0.0-rc.3']; -helpers = helpers || Handlebars.helpers; data = data || {}; - - - - return "\n
    \n"; - }); -templates['navigateLeft'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [2,'>= 1.0.0-rc.3']; -helpers = helpers || Handlebars.helpers; data = data || {}; - - - - return "\n
    \n \n
    \n"; - }); -templates['navigateRight'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [2,'>= 1.0.0-rc.3']; -helpers = helpers || Handlebars.helpers; data = data || {}; - - - - return "\n
    \n \n
    \n"; - }); -templates['progressbar'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [2,'>= 1.0.0-rc.3']; -helpers = helpers || Handlebars.helpers; data = data || {}; - - - - return "
    \n
    \n
    \n
    \n
    \n"; - }); -templates['toolbar'] = template(function (Handlebars,depth0,helpers,partials,data) { - this.compilerInfo = [2,'>= 1.0.0-rc.3']; -helpers = helpers || Handlebars.helpers; data = data || {}; - - - - return "\n
    \n\n
      \n
    • \n \n
    • \n
    • \n
    • \n \n
      \n
      \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n
      \n
    • \n
    • \n \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n
    • \n
    • \n \n \n
    • \n
    \n\n
      \n
    • /
    • \n
    \n\n
    \n"; - }); -})(); \ No newline at end of file From 6f1d5d467f553a138a1d2fd67167a101ff2a0bb4 Mon Sep 17 00:00:00 2001 From: Puzzlet Chung Date: Tue, 15 Oct 2013 02:36:40 +0900 Subject: [PATCH 14/18] add fit-window mode --- lib/ComicBook.js | 27 ++++++++++++++++++++++++--- templates/toolbar.handlebars | 3 +++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index 9fe9b9f..d2e447d 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -76,7 +76,7 @@ var ComicBook = (function ($) { var defaults = { displayMode: 'double', // single / double - zoomMode: 'fitWidth', // manual / fitWidth + zoomMode: 'fitWindow', // manual / fitWidth / fitWindow manga: false, // true / false enhance: {}, keyboard: { @@ -338,7 +338,12 @@ var ComicBook = (function ($) { ComicBook.prototype.fitWidth = function () { options.zoomMode = 'fitWidth'; - ComicBook.prototype.drawPage(); + self.drawPage(); + }; + + ComicBook.prototype.fitWindow = function () { + options.zoomMode = 'fitWindow'; + self.drawPage(); }; /** @@ -465,7 +470,7 @@ var ComicBook = (function ($) { throw ComicBookException.INVALID_PAGE_TYPE + ' ' + typeof page; } - var width = page.width; + var width = page.width, height = page.height; // reset the canvas to stop duplicate pages showing canvas.width = 0; @@ -507,6 +512,21 @@ var ComicBook = (function ($) { scale = zoom_scale; break; + case 'fitWindow': + document.body.style.overflowX = 'hidden'; + + var width_scale = (windowWidth() > width) ? + ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page + : windowWidth() / width; // scale down if the window is narrower than the page + var windowHeight = window.innerHeight; + var height_scale = (windowHeight > height) ? + ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page + : windowHeight / height; // scale down if the window is narrower than the page + + zoom_scale = (width_scale > height_scale) ? height_scale : width_scale; + scale = zoom_scale; + break; + default: throw ComicBookException.INVALID_ZOOM_MODE + ' ' + options.zoomMode; } @@ -569,6 +589,7 @@ var ComicBook = (function ($) { // disable the fit width button if needed $('button.cb-fit-width').attr('disabled', (options.zoomMode === 'fitWidth')); + $('button.cb-fit-window').attr('disabled', (options.zoomMode === 'fitWindow')); // disable prev/next buttons if not needed $('.navigate').show(); diff --git a/templates/toolbar.handlebars b/templates/toolbar.handlebars index d6704d7..5f47a2b 100644 --- a/templates/toolbar.handlebars +++ b/templates/toolbar.handlebars @@ -47,6 +47,9 @@
  • +
  • + +
  • From a730b56faf1d58657d9c1dc47d6955ea88495376 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Tue, 26 Nov 2013 21:29:41 +0100 Subject: [PATCH 15/18] ignore generated templates.js file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 773d18d..c86ccd4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ lib/tests/pid.txt comicbook node_modules +lib/templates.js From 628dadf37048fcd83bf96617bdf9a048dd26458d Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Tue, 26 Nov 2013 21:39:33 +0100 Subject: [PATCH 16/18] keep pages centred in fitWidth mode. --- lib/ComicBook.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/ComicBook.js b/lib/ComicBook.js index d2e447d..f2e4961 100755 --- a/lib/ComicBook.js +++ b/lib/ComicBook.js @@ -543,15 +543,19 @@ var ComicBook = (function ($) { canvas.width = (canvas_width < windowWidth()) ? windowWidth() : canvas_width; canvas.height = (canvas_height < window.innerHeight) ? window.innerHeight : canvas_height; - // work out a horizontal position that will keep the pages always centred - if (canvas_width < windowWidth() && options.zoomMode === 'manual') { - offsetW = (windowWidth() - page_width) / 2; - if (options.displayMode === 'double') { offsetW = offsetW - page_width / 2; } - } + // always keep pages centered + if (options.zoomMode === 'manual' || options.zoomMode === 'fitWindow') { - // work out a vertical position that will keep the pages always centred - if (canvas_height < window.innerHeight && options.zoomMode === 'manual') { - offsetH = (window.innerHeight - page_height) / 2; + // work out a horizontal position + if (canvas_width < windowWidth()) { + offsetW = (windowWidth() - page_width) / 2; + if (options.displayMode === 'double') { offsetW = offsetW - page_width / 2; } + } + + // work out a vertical position + if (canvas_height < window.innerHeight) { + offsetH = (window.innerHeight - page_height) / 2; + } } // in manga double page mode reverse the page(s) From 1a080df671d932135fb2a025dc389891193b1215 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Tue, 26 Nov 2013 21:48:43 +0100 Subject: [PATCH 17/18] fixing example pixastic worker paths. --- examples/basic.html | 2 +- examples/dev.html | 2 +- examples/file.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/basic.html b/examples/basic.html index 2d60f27..d4eda34 100755 --- a/examples/basic.html +++ b/examples/basic.html @@ -45,7 +45,7 @@ 'goldenboy/goldenboy_24.jpg', 'goldenboy/goldenboy_25.jpg' ], { - libPath: "/reader/examples/comicbook/js/" + libPath: "/HTML5-Comic-Book-Reader/examples/comicbook/js/" }); book.draw(); diff --git a/examples/dev.html b/examples/dev.html index aaa0109..8d3168a 100755 --- a/examples/dev.html +++ b/examples/dev.html @@ -54,7 +54,7 @@ 'goldenboy/goldenboy_24.jpg', 'goldenboy/goldenboy_25.jpg' ], { - libPath: "/reader/examples/comicbook/js/" + libPath: "/HTML5-Comic-Book-Reader/examples/comicbook/js/" }); book.draw(); diff --git a/examples/file.html b/examples/file.html index 71921de..ed42770 100644 --- a/examples/file.html +++ b/examples/file.html @@ -99,7 +99,7 @@ fr.onload = function () { var done = false; - var ua = new bitjs.archive[archive_class](this.result, '/cbr/lib/bitjs/'); + var ua = new bitjs.archive[archive_class](this.result, '/HTML5-Comic-Book-Reader/examples/bitjs/'); ua.addEventListener(bitjs.archive.UnarchiveEvent.Type.EXTRACT, function (e) { @@ -170,7 +170,7 @@ var name = this.file.name.replace(/\.[a-z]+$/, ''); var id = encodeURIComponent(name.toLowerCase()); - var book = new ComicBook('comic', pages, { libPath: '/reader/examples/comicbook/js/'}); + var book = new ComicBook('comic', pages, { libPath: '/HTML5-Comic-Book-Reader/examples/comicbook/js/'}); document.title = name; From 95f442ef930fe5f84cf3608d2a5ec41ddd886b3f Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Tue, 26 Nov 2013 22:13:14 +0100 Subject: [PATCH 18/18] make travisci build before running tests --- .travis.yml | 2 ++ Makefile | 1 + 2 files changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 6e5919d..d747cad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ language: node_js node_js: - "0.10" +before_script: + - make diff --git a/Makefile b/Makefile index bae259b..895e428 100755 --- a/Makefile +++ b/Makefile @@ -47,3 +47,4 @@ test: clean: @rm -r comicbook @rm -r examples/comicbook + @rm lib/templates.js