From 523aa9c1524df393645bb03ef233e0a4adc007b7 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Mon, 11 Mar 2013 10:23:47 -0700 Subject: [PATCH] Add support for blend modes. --- src/canvas.js | 16 ++++++++++++++++ src/evaluator.js | 6 +----- test/pdfs/blendmode.pdf | Bin 0 -> 50567 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 test/pdfs/blendmode.pdf diff --git a/src/canvas.js b/src/canvas.js index aef6f638e..c79e3e6ae 100644 --- a/src/canvas.js +++ b/src/canvas.js @@ -561,6 +561,22 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { this.current.fillAlpha = state[1]; this.ctx.globalAlpha = state[1]; break; + case 'BM': + if (value && value.name && (value.name !== 'Normal')) { + var mode = value.name.replace(/([A-Z])/g, + function(c) { + return '-' + c.toLowerCase(); + } + ).substring(1); + this.ctx.globalCompositeOperation = mode; + if (this.ctx.globalCompositeOperation !== mode) { + warn('globalCompositeOperation "' + mode + + '" is not supported'); + } + } else { + this.ctx.globalCompositeOperation = 'source-over'; + } + break; } } }, diff --git a/src/evaluator.js b/src/evaluator.js index ec076a273..5c52ba848 100644 --- a/src/evaluator.js +++ b/src/evaluator.js @@ -497,6 +497,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { case 'FL': case 'CA': case 'ca': + case 'BM': gsStateObj.push([key, value]); break; case 'Font': @@ -506,11 +507,6 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { value[1] ]); break; - case 'BM': - // We support the default so don't trigger the TODO. - if (!isName(value) || value.name != 'Normal') - TODO('graphic state operator ' + key); - break; case 'SMask': // We support the default so don't trigger the TODO. if (!isName(value) || value.name != 'None') diff --git a/test/pdfs/blendmode.pdf b/test/pdfs/blendmode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9cba305b55925fb1190b43de6dbb70dadb28a950 GIT binary patch literal 50567 zcmb@t1yo$kwl&&VBZ1IJpz+2bSVPbRcXxMpcMER8gS$&`f(4hL!QCyvJ-EXo-?{%g z_q}tzd*2!3jUHq7?ylOaR?S*#u33BRO(`!d%D~LXfkOFfV{8hA4FZMO8Cs%nb3>Sv zJ?u>&O!5Y1e;pl7Y@H#@FU^V&CTRmFXBj(V3sVadV+f7#dlo1&3-sl~%*MjS!pZ>U zq=rJNX(3FCCQf!Pjz%U<5SD*jC}U!5VIXMd4$*=#LZOhq4s2X(j4YfGPF7|{PA(k? zlaQmG{r}QM(Avbr_}X;0zjP6BbpBs@2-(>>zs%bS!u}8c744i2oK0TNnZz9J zTQ6wDBa*uHN`N zsA%a=4n_iv&tuwk=6x9=!J#P7<+M|xEZt#R=8eV3nFaUP`E;;BWRV8#L3@+-_P zC$y16?2!oH2{Y5rLhpnP^43qSoq5Qs7t!K^e5Ib4p)lMDNQg4}*@?RSx4cP=kzt0y zc|wkhVzyG=pT!jX3akfChFS+2ZkHrnaiGGxq+a9wFHK+HF~%CB-CO5QIXlI18=I27 z{?X0rsP!v?JAvw;fb{u{ZpOp={hq*u&wGBekGl;$1n+Uge*-^a9+1Gr$)^8+@tFQ= z1VmQ;Jch{@>&ptTpR94%rb6Nwud~*#SD8TA(*{WtDT(nUo+m{|B#D-kLT1D(PpW)UsS6|Fm z3T>jTHaxdDX4*_M(v?4dxM%1?bOm=!7}ojpz)xIp@qHOg5r)-U)AzZBHU;dQmzK(Z zou`s2xY)lnME}icjc9x%I=qt~xAsN==HgE*{#R)IS5*E<{eNW!CkT_2h4G(g{=*!K zkU#lr=kga*{4=0A{^e2;cV{uBzfy_G$lxXTnS=!X90g?{OtN;4HU`!&X(FKnF*UGu zGWl|Ea5VmFrhntvKWX>>l)nGLn3A2T^Z#V*KMHwa3sX~* zKlS48K>Ls4Uc}wV+QrGj?(abRk0M{(BptU!W-28~h2Pe+UjS$3H|PXyNQ6Z{jFqXJcK>Vmtjs(*MTbORI~G?Mw5ESAR6le@PVf zKeFckNECDbqY)Tn000#(=aQ+do|CZ7Z_i(x0`rqF+2_CiI^)A*oIR*{u_es8T5@3n>lA4HK?Z~QfgiT#x2U*2g)1hK zJoi9@;b20VVZ?}OEw!tQ+lY(ZipSmdN#@#fiinj1j@f;;6EXLWfSu3fhaQAtQ!kYm zu0Aq&7+?XEnO(h)f6xi8ua-NXO;BGtX=l${Q&z4}^_OIoqlbaP^{Ffi_?>WLEFozi zh6q5P6&BVQ$K+eP=h5WsUFZpq``wh-k<>>BycI=BR|3c&h#mo$3>l96P9gSQ!BExs z)8~-bCd~6VEqr(Ju6{pjd3^Zd?tm?TARWmmJ`90>r?Dm`WV!per!jRK5+%hf3g%xD z+af?WrA?`PQ)X{~Y@LDow9!VNe zaWXg{DIie((-$=plIMl)pS_1xYmF@*E%wBokK1xqYG@!m(1ut_RJLi*D^df3U=ZdY zr8puAs!TNvRDFJ1F+f!wMI6B%nNZp`VVnY?k2xZdEN*@n$wm^ZK;3FYfFM)?H<{Sa z2tW=>bHon#fIBILrKj0cggiGd!tWBTg1y-^&{!c-$&Xx3*s(QNmRNK$CObND@))?r z#YuR=lV!J@7m?gN!EeuD~_4A7ZQlm|A;ts)K)v%TYjZRKZUM73z zUg&&Y*Hf#%1VFBsX$2N>sEO z3@QuEH~N6ghlzU40oG3sdwUmQI|^AlTOKBYSOsWu zEG-f}6e-Kh`8$%Ry13|9vRHN+R%CfN#qZKWxi%1!6=463Hs(kaG)&Og!mn;$H7TI7 zF!cx+xW`#^wjIG_>Om;??(9;p<>O=h_QKO<=<{{k4*F|Rv-}0)ZGC#S_wyeff8mbl zd3tz3N3OF-yrNAE4)yu*t#YI{+cY77qa%_+jSz-ma39W3Fj;C;yhTER=-ZI4zA!`7 zMNUn%<@JfNlMlI%Gj=PU?+Im?9Or5!wO-S0H6;?Q(=$3Mm1@(Hx{#VEhnr{ZD8Mwp zl=6dfP)miKknwW@NQK8;I+^7K#ydgyU!XSR!7z9b#SKhUQGD81AOHro`b!M}AN#E` zyf_!QS98m;WY%0Iy)5(cL$Y42wcD3TjJHK#n=0#+@`v4Zp|izrx;I@UkB6&rZtr1i zuJ+ZE@3dYKN#;uGTje4sc6by&_bHxSj?_m)M5t9+uePYx-=6)jPV4qd@2)R%)0#U8ZiQSi zQ30dhVmT&^Z^qab1vy$Ek+3^9U(u2TU_}FCjf&l+%s&z`^7bOYvj05zhZI~A8Y)1d z8cDyfo|y}5;hyLp;SbIM*1?!`Qu)E0VQQCuh(`S+{AEqkoV^)^d7JBgr$0N&^&NfW zWMJ*jy;YbouDzS5gSMGDU3Ix%4|I0zcUm1!nN_W4isZjFxOFP#lytneF0J%F{+t=2 zvm#mZQZ{q`Si;Bj$|AGPN-BwPERsDECyp>CXMl7kp%#L9#hV!jDgY>$1BE8*gOHFv!6OP~ z2E5{ju&`6_N-+C)KiqKR1M0h6x&$amoOJkQe?$?qwIo+vevldyi_ck5Z>iI+QYo1Z z{U9f->&)?fzHmn<&hotX*#AeoX+6&AbmQHup>OxA6P^#t3?9J-{)w~V$m1yFGO>My zA>aKa(|n^A&0Im60ZC20YC0a7 zdbp5LQ>;od>F<(lmR{|#z1ybG#>9^#&-*cJ-bP*~9=Dr&`5RqfU_#CM(m89-Xt}6Z z6aqv}bCVY-%sFYvc>A8?IkjBZZZ^q!jVYxIA5bkk000fg*LXFhJ@H-Vs`#FEc)HlT zjX#MV1A1AiLK}B`Ndde+aRSfCJV^TDfU|2%tPe|q! zbrksA@Wj9he|ddiBmf~6a7e>0k3%Yv{)s9CloJi%kF^S;5Qh)*3nhiu$96=i8y4K$h7-@|t|PPO(}?;Rx@=WTk_tjb21eZ{ialGdd(79` z9-F%kr2=^RsEWvhZ`e(z!$J^bfa;wYa4-;H8aM$>0y#ARb_27Q)c<|pTR@*a?Knz8 zh&mkbHv<&#IvD7W?`H->4#kZPPr>+d14?mX4yHs$N<}jxnoLg3DSNfD=i#eZ%GRNn zz`eneJjhmZ(0pWDC4NSci9+NCcVd_{9JT8%uyV~X=R)iHP%85=MK%b{qR&eE`K_|9 z+tNo*Kh036AWuW3*hMG3QP(VS%j3NQ&(t(NaG)4fm3dUI#CM^`+xQe+gM3mt`= z-C$*8(IH^MKx2XMeu23m@FqE^o3M@uNigaBv;Ytog$p(~M^X~S4-Few0RIXAQ-DGS z3l9Ucj$(>0i0BR54yP_KY%u6gVE&;#XV!V3qPHx*YnMqZJBCwPE_#VA6gGL7ze52% z{Rj~eH*Y+yEQLBzwEM=OQbkO`Vl;Ham|MXJQIu|UBY$c-jih{5RgA0Vp?X%A7}eA)ek1<2RquW6UJwm!!Nk0I z0D-|H-P{M;!Xk!QZlauSP9s>_e19Yq0Fnj&>!kidE@DyyVH#z7M>8TZ1aoU??iN4M=3Xy2t;!M5S8y1WBgXj67GL zZjUon!}GWDNtT<`%x*$Ms)M@9;WdcCNGI|{wm2ST+!Fj3geF*0(*D`leArmANChCk z5Umbg3yuwh^cw?=GS6@9m%p5}PFf8E$g%V<^nV35^JAWeCxpX>&;hz5*GV33#Be{{ ztH)Q=Uy6CPpv$_EJp7=&J?gmS5b5g9X|As3ltnp&kKW$b70GP}1 z7iGz5I9QOBKOCNND6vI4&{ha#aig0*4Ufp8EEc~~6at4=Wx9`?(ooEPT z+3`?!1s$%KKFX$PdDG+v+?WMD$B@|l6^(=}3l)H{sJa0_0LTFXFwpSfAl29a*a~Kl zanb%E-*H@f84NQjJk0*hga@9^m)W(c+7lgmIo#>N zie!zV?v<$D%IAmdCj>i&E2Br|j-=?cu3ni|)MbUD^&8F1J0LsaDnrF$ua>;^o@y$eL{J z#m+T4&#Lq15fH0RnG#xA=BRfTWPCAJ(2}}t?QVAFI*WMu*&KBM)JaHd4FcvzO#ne) zlSn~*(03$|Ab;#EzIG(*$d%-gl4T%w$laXAgPVlw-o?keUCt1_1qPq{D=o@b&zEDq z@T+9v609mXeo+7dek6LJ5!VWd_jzK=%OF~I&xe5>?mKOoRkp$sC>4pc!7u8nQUFK( zo4&tbyuTpGiGN#ab{!uAqyQvCkO9GpLVaEO@^@4DSYIYjY*uTu(|1y_ASgLJW5^%J zYKg`!69m8qvh{cxKBFX3l{QNb^oRGayTKqVpj9A`99OF zJ@(etwxJUXmgSjZu)=(&0ssVJg@1dT-FIAPKUGxujx=5%o;(r)pkz6pRq^RIGhS8O z|0Gkl&*}A}Nx_EBK~Pzdobl`tMEwNy4fs)h!BfCV_|YLTK!ADJjt99e59T`#@Isxw89SwrLs1 zuUc#fN}z&ZD4AXwHW=zB5Z}SVAOoNaWMctigUJ)wkpKmXDG)N&CphD$9H(>N*Lt2B z)kr5i^@ip)G z^-9?!!Yk%?A?Znx1R}~a^S>zoo?$8?zyJvXgZbf*0QsHb_RI;dQPC3M=>c*uD*Q;1 zH>#QDjY(I%X`VqK%fm#)TOSBXz-( zLIwK;gQsn1t$2U6TEVe^L4ru}9b|=3FhQN(O#u^qU?>tERFeQ63_yhq0-)+!x3bw7 z=Z|Zd{i^jWKmERFCN|bUm-u|;_Iwo@bLIU_5&se`l=$Q*gE-s!dCupucj+5#W9QIH zx6*GGk1{1}u6g)a1mMR7e}Fj+#W08hQxe_}0+BZtcZ49lg^vUV=kP;6+rJM+%~^v1 z`EkOttK(zePRa4ze9fu-lB1D&69(2`#aVJ4EBnaWnt;=~Hw;qnJ7dLCbgW>b()U8x zkwnR_S0q$gqGANE^K08g0;6EknSKHw7ixsDw=DhS@Z!EDEad`pus{G^J}WGWsA9KA zkrJ;1^#|*llPr#Vfw6R6vZsQ76D2^((Bje&5gA@rnioP1DyQgx%+ukpWp~?EZrOM*bE2X;ySqbPC)H z&)5wuen{eI`hJrvTe!9GNcj$uOK4?Nww^PV>>F7dR5jyqbh3%FVCaq_?Pha3P%}wU zoHBv7{&!nA6%I=p?DsyJabPS=!KI!AGK@JCNY1Y>iHu4o961T}XTBREPXsJ?i*zR` zDlj^3V*Fm7_qZ??`&IVsSo^2tQ}0wLVt=t*cBXcRBV}gBLQ)CY(4~&8Up8+#*@Z(L zT!c*uE_4c%2%@p4*9X7{uFtV|Sg6!``97KbG{g!E5sxEGF~L=Wuf-%oi@<-+?5@VM zyV6)Yf585HcK*#E7Z?rH;G}d!FqoW$oe)jFvSU<*jZ1!A$X?lSrn#G!wpp7u3=>Q9 zMleW`07gO55v>G-gt6TW#8OBCnu>BHV)Mr`BU$kSGzp9VP!_+>EJep92GNC^Xu~%7 zNJxf_fvkO>s;=?3uoIFK-_xqKQZY~K?sB3%w_W>&Q{fs^s37wIN=&*;NK=TS%=m7; z*;Q59_?om~48g`JHLAnIy=;rX0D*FTg#lovZl%a7U6r1l#_ucNn|Floama(k-iXG& ztp-71d%-nUQZr>O@j546hlBNH{wM9{n>#916BV;5P*n@03i74=s)u^Iez7rvSC3sx z#Q7TqKRs>h8ajGa5fATPF_`aW@T z2w2L9!p}5FpL^_P;_7ae1HX5PPbB(-MeHit&ap W92~PN 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 Z;~bdH@q{guBZP$@Le%W+m(=8_{~x3ETBHB~ literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index acc4b4157..a9d876e09 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -838,6 +838,13 @@ "rounds": 1, "type": "eq" }, + { "id": "blendmode", + "file": "pdfs/blendmode.pdf", + "md5": "374800cf78ce4b4abd02cd10a856b57f", + "rounds": 1, + "type": "eq", + "about": "Every blend mode that PDF supports." + }, { "id": "issue2462", "file": "pdfs/issue2462.pdf", "md5": "d4e3dddfdd35464c71cf0310bff29b42",