From b1cfe548b09f41d9554f57b2d1deeea452f56ae3 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Thu, 27 Feb 2014 13:20:58 -0800 Subject: [PATCH] avoid double application of scale_factor - refs #1926 --- include/mapnik/transform_processor.hpp | 2 +- ...rm-translate-200-200-2.0-agg-reference.png | Bin 1137 -> 1108 bytes ...-translate-200-200-2.0-cairo-reference.png | Bin 1249 -> 1183 bytes ...ate-patterns-200-200-2.0-agg-reference.png | Bin 8930 -> 8798 bytes ...e-patterns-200-200-2.0-cairo-reference.png | Bin 7430 -> 7419 bytes 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mapnik/transform_processor.hpp b/include/mapnik/transform_processor.hpp index 89f3f7949..972e22348 100644 --- a/include/mapnik/transform_processor.hpp +++ b/include/mapnik/transform_processor.hpp @@ -176,7 +176,7 @@ struct transform_processor double eval(expr_node const& x) const { mapnik::evaluate e(feature_); - return boost::apply_visitor(e, x).to_double() * scale_factor_; + return boost::apply_visitor(e, x).to_double(); } double eval(expr_node const& x, double def) const diff --git a/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png index a2777dd9705f3ceb49c14b393f852fe1d51d1aa3..1f0468fc89363ab2ad35ddbd5654a56560af32c2 100644 GIT binary patch delta 1042 zcmV+t1nv9r2-FCWBoRDNOjJbx002ZYcSSUKN;!3rFBN~xtwPhZKg_UEnv%2b%roxQ zXztf??%k5^?(R&Ocg6q!1Jg-FK~#90?cM8+;xG&aU{aU?W@cL`@Bgk_R=`4Yv0LKH z8Rh&0smg~^aH$QO&6EpxHuqRB9UL8is$Q1PwAd(h@MpKSxr61-UtfKYjER6y)L9hDd@0d2)nE0t9(+L=qgx%n=T+ zPs2b62MmOApg>3m6LLOHIoDntKeU4dIo}R5SWy@b24ozblCC_3!*S4%7l(<2<)9(M zEOC`19G-)OoaT@pWeL+kLgtQP_^7?qVz>?pGRA+9efC%aVLK?uIffiV<;51lcTkYn zG5o~W0#aGvSOwW99+eEov1)7W96HvV?8*?HW6j&I?$%;DR(v3C!%@-k&2%g;QFbAG zJ9I2A8b5>PDZ+OwE#vngY=1mDI2Ts^Oj=cXSK~>k6^o9lxer8A0((e>kc^ zE|-5pcRS`@e_wSStGMHSi*opwqR4o5RE4CfE)B=$buR!z9*!YEL;gFkAx{oy$g=|( z^5Ou7ygG0pGY2eW?m&e^4p2z!z=R|mkdTxE5t4KOLedUANX7vN$vMygqSOWfl%{NC=hba3j{*Xt6@MGb9V@kEoXiZ0P^^rx;W?MAHs9^hcF%fAxwvV z2-ATAq31adf)nN#!>#&1Vc9=nGJFFnp9Y&D)4jYJo!vrGX zuz-j-3?MQNeTa}l9U|q>hKM52#kY( z;5f<0 z%J?42!N0BGJq_Y54dN{g;w=s0Ex!kHjrAhl&E_8Kg}j>v@s_LMFU>F=kkvl(hX4Qo M07*qoM6N<$f_AmaO8@`> delta 1116 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 Q%m4rY07*qoM6N<$g8dX1Gynhq diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png index 8367a5b81299ed3e938523215601f81965ef51a2..a6f0f6129b0dd2d81eb8b7a327dd41fab4149da5 100644 GIT binary patch delta 8733 zcmV+&BI4cRMczb^Bs-ZEZahZ{%B#AA%g)@&7`IhvSDJ$9DV>cJx^`fTBFJ16`2x6&M&3);T z??aHQR4>2ie7_e#&O&*UzkJDeAjmefWo_w+tG)w4R-xUNC$IVr1i2ZZT2Eee?1F69 zZD}V^*4~+87sQQiGhycYxa-&j*{s^_1XSFA$6ZG)h`VZ=`-$^Yxa+6|DJ!bh{^=>) z^(;aD`2F8Fe*fd!Z|!T2(!#P0oBcmb;;v^1^2hHVcgO!!l=!yV4-@AP;I5|y`On8s zj{nSYi_bgi4Oe9UIDosJ6y%SOAO8+X0-t-H%A*e8uBQa~OpcEqr@YAgM?KBybmF;x zAI4oz3G(mH1^L&68=3#8=OtZCoIi}ao)BbjK|X$b7r*^JpE%6HJnAs+dP0!@>{I}ogmydH_Ur*Tc0o>J(Cj{A-~KZLuUDafR1{ajKl8Mm8C_Boc4LrE!RS8~nOq?k($HOGu= zQmNVF`dl4ers8wv^*QUk1^*WcPE>wEPPWFpSh;h9OKna$);}%&0PcFOAXCQv>KEL9 zVW}k*mus!b1>8$ExF6hAtGP6XJB3_1$CPcxX-J3bGiAxRK0_KGBTo4e@dlSdEyb2v zw+nZ>!Ji$(t;OMa?Zh~QyPhk^g!}#F)vw;xV4)$I%Hye8U2}}}Hk4pfbUb5yu`WT2 zs8KkBcj+?xv?22h{uG+`$vK?IN0s$|eYqWQL5(Ki`QV>!;}Gt8z916;@#j~+)#{)V zwb}wDiay~1XJ7FkV}KH+Y@ig-rBJ1T4Vq=~th z{#RaV`7?TGV1O>+a@;?DBm*~uL!mcwUH$0jEZiF$5?v}iB>YmsJy-Zx+^Eg+NIa7b9Tj~MB!j-`8o1%=>7C(|@k^F}U&8v;>|VR! z5|6?+*h}*KfQDz1PM+qkpDRfF?U#T43kSt`_3Ae&Rcy{Tcp+mD$fz&_6wD*Q!SiGz zmu2AA7}xN+(qB36;E3S9@ODPbioarQp?mtkVlMOcDu*!{gOlF#GJY~}*U6K5^-Mup z`1R*kI)45Y0XSmaf!*MLwLF6Wo^Hho(25yfVB_>fh0%@1&j=A)v@4;;S^xQ$e#GZkL9(K?_sunXLD z8WY{Iqi~P{w+l_fjZzOG7yL7Vx25ZbjZ~P2DKLzLr&02$iSHwSV`%DHherTZkk_MM zo;=B4e~lo}QfSBkMT+n?3Tn_IH@ZkY2~}DIPeq6&WJTBHU5NBfLQ@Kba9L0}JoK(z zmVS&E`%`aE5jyh_itz+&&LuZg#FUe#`RlI}gux)vawAq;NFxzi8AcQ$F02eO2K*I` zUMrR5*KZKJ;Zg_L;V27gPq8~ zK_xTKukRd?aDAQ}&lg0xA!UHK30-*<5D^@Ku}rbnQ#b5?F7UzU7`}jNC3?2doCU&1 zu*(8t$q(>OL}KpDxYvQO4Jv1{9W#PGH1qzx+zsKGay(xUU{peHVE0Tk9;$4dUMLWr z)Aos4aRLgCD5E%n|2cUB%Vk0I%!;0TTi}X75ATMw7!)&+e83}GehcGBUEldz*vK>Q z@A-n@tKtrSb?4N21jiYIN1P%2vQ#HvKZZs}A%PF6aEKLn7d#an0^|)s0`g-}zV#+7 zBQpX9NMK8Rs;A7CcC|oGz{F}^8?nMy&>r|JX^uBtg`hd1MAw)M;)P|>$15%1lQ29` zpinxXJ6#q(CjwbnL`b~8TE#QtN5;*OkPLqfjHfq$WphWg|4cc)#@KbB0;eD=PDIPZ#yX!jw`F->m4yMhAU0KIoG_c} z7JgVk4W8+2s&1XQ;5ci;)Ar^GY8DP57-OcRb@o0$X;<%(m=#eW*ktwTqC_1 z-K&IuyQ?dR<{3zF_lTH@cr3iO!v#(mDCX=o0ymE+=BO=o=*+_aElNUGiMYs%XMh%2 z20r*7ZxZz+LgjFQ7zWSuLkS}QSPZMBz1}d9giOjep_YCi?%G@tO+yvi+%^JBz%xY> zMKi5JR!}yw4b0pD$P zNgvQVmH}ZAN=S9`Jw66TKsse&HcRHkZm;cX#UxQ27lJ0^CO+Xbj;G?jEM4F1Hd2xp z9>NGFeeh8=DDQ*Dk+VV=uvEB0)J0qlmFlrC+9>V_A3)DWN9IF(9fvcf^zaW@2IgYq zwaO6FBESp6?=}6k&21w+rz0~E36&gwmCVyRDwzaY0|YH0GS<5y^q%{9rnTf2h!vRt zyBbrB7r|b6+7P9N3uM}lORmTKL5PdI9pdc#Hsa`->OfzVozws>2qx>HY=~`m0S852 zg!2w}W``2SDpW?|)DW9N>k<{l86OtVEohEoNadfbV;D8>M+@KUqXjl2!hbG*W_-RN zQ5jQz!dV$Q0ZAl>08pH$XT&FoLB&J$VD%&qGBZKoWCAgAUqU$b%!gAbl(Ktz17WS0 zR%2Zl_$_!mx)Ab9b#@zp4%6!7~4wTqp~0yQ85XZjzt_ z?t<{jM9SOfPnl_Ey_YWA5yEeOHuV;XG~PvATJgT0t@SvUy zD#Bk5L-Hfp2IBM1Jdhx*ovY`Serx@$vqt26W_CF?QWns<>y>+NNa;gek&2Ghj%9Wm zkzUb95t)-0C4!}o>dZr}4OUMKA4pk2HwcKa3X$uGOCx_m(?Y#*<&vp?W3r8~W+Y5Y zCU2L(T~t8WK7er*OOI>jwvj}(jTvHT&=Df-M9;}MUaA->at>bFqNE-85Bd+3#VGIO z&BQ9?^C7+QszFdci6jkCfxXXLI5EaeoPn5R>FfM9BCRN5t`ef28*`6ks`zA2G6BvP zDPFSFlNv%Wz*GadFX)MX8}KJ6+uh3FZUEzLS2+Nxst{THY8h_U5EvjIfNd~EYCJ#I zB0H616IMqaN0kk6RVp$cl8sdMA^V>*?foL3e=Ea}b9oNCsk=~dVk>!`$faux8$;^+njIfXgn1|NnAa(LXLS6Cu4 zA0uSzh03w|0Pv1~L;`du(huNq*2sv)Y8w5LQ>Db`=2qoy5L22uR-yX(ab)8=&Qgebn{>Bk zmXSK!kmI0A#CdVoIc~{Cu>M$y9+l(Zud~|-)c~l;?SOiJ=sKgo2Ym=GAXPL$e#{03 z&~Bk5j!{qPq_yU~-(HDpwE|$G$UJbFcQ-K%z++BuOSz=d1V+p>Kd(hT0ct@6+w=6q z=s^BK6*lBt1jX|ElmC@vJ6ZqrJ6vxecahF4a2LIS2g=G?Uo9o64V-?7e1xn5zOoSu z#Tb*~V97gwhO>zCEQjQ1WqIPafBjC`GjI1@aHoj=RXiSThEJ)=D+XkaZEhP8b_#aP zEKI}DEg1vS4u;i021HBz;Sb31y7VzpPs!Q)y#l+?WV1gRW<&hzKq_bx-bnW!&suH4-cPS5kxOvs(& zrzf-_*v@fLV`sM!LJ5{OvJez2XoM$mByJHGp$c`{&mXRAeLK<5X;*n^8G~4@jsi2R zT$j!Oh~Hp_H9xPVnp72kB^Fe*&TcQ_OD)L>V5G<2yBWA5`-R!s?r+O-lj);Wy&|iB zXBk(erQ+ln6Ki?_UW=$H_&~Bfgt6BOJ8k86#T~@N&;0&q+iIe|?9ZWEyB-^a#zffG za{=-g(GJOXO>^^Ot)OR>chzTLV7OaL_n&C_>KqUk{rG!V8>rU)hXHr3?>d{o9xwV0 z_H^OXg6b)O41ZRRIlqm_JCQdd;$r!Kkl-$jjkJPC!a?90%cnMC78GRvNEF200mFA$ zNYAO`sE9FUR~uOxhTl5Bjfi=O1n{Qz3@(HR^2+7W6!k(pU@aYa)67I$PX_KfZylip z#XfSX`n1}CoJD-}1Y`Ddo0~xpcotPLl5+4)kd}@mV4E#;P52~^)MlYT6Mb)gz+LgW zvD!<>4CJ5GokF@_EED1fJ6BC&dhimwR_J+ORb7Bz%RZmd>*j%V&%_$R!}o^wZM>QI zoCn|O)flY%kGh;-5dgxNGV*Bur-^?dSX8jljX<3A04*;Ovg4H0m{CP?eqKwoKtiH_%^p7jY*AI7 zy)=%$5_S8*x!$LHS<_U*@h7;8M7{BO99ggqL~hVB)`k!Sozzt{*JOV4O@gR{w=;04yaqv^zMb1i11tGH?)2lq~nQp4$wqv}@*ygs8%066K z0WqGXUe$*@uHyC3ySbQuk6fmDF@<*@;jW;rTHBvbRbRb$KjiD=9GFu(#`@W9#IPfj z2tqx6(1$>v#rcaI22VA>uiHw$e;V`K34rw&cadoibWQAT@}`=|IuS`T7nv`(YWOYt z`OUWqLasDMSU2n>7sK|Z7S-p#-T+pUJBB$))T^mEtjD;^vbTHNG_%u!tysTpW>Xa33emd2tC$4FQwjdx+PPj?S@!JgP(${7u&0VXAScxY6_ z6Qj;{8RzG<$dSfm5wW~F;a#+NVWR1Dfm-6}zOK#5>BL;x9_}LSkD-dyXTyV~`+^Uw z&ZuYAkva=6(65z$u_o*+^;KO-Fa7!WX)Q! zgY^;dLPTzfOylg_FTghWOsfuebyzXKV+XSG2+L4Btjo#NegG4=t5+LU@nls!tIq)+ z$|y;1mU?8IKaQ|ONXNxeUX(_9>~}Cz2rK?T50unaCfeahI|)Al{%}2$n+Fr<$r^ z5u5pD?{j_u8|l4#@-y^cK<ZBcbo#KRc#EfP3O{u>E zK5S^S=OgN^N@8WJdaa?@j(ww@UAd}unc#Ci``!b8xT|r>jA^ZEtPeF%vHhg>v!)5s z5MO}T;#vpJPyh(UK*os*7Szmaob`(^Y*grZ{JjTo7c`DDtt>{1wNPrHG?QF}9jj`H zCA>gyJfjtq2yT)IyBI>|aqJl=@ohA385ZJWUTZjrySO6E%1mJa&odPuUs}ajDn}Cr zt1p0mwQ^taz&1Y3g0XXhEgT4x@qM-zM2uunKG6l>uEnAGsH*7<=9o+hS&z<|`YAO! zHcR$i)EB5B2KUgVtPW&OIUnTS!Q)16@pdyD;m)^35QXtkLD=fz?k$dJ~54?}*x#rForWhe%j1RyfMB<@O196miQD^r}g zFq)L)d~{~dCM#B?_@!xN{KRzax}BrE*8IFyVzX8xQP7*%W7sVH?TV=)Vj}!llpiZh z8&?Z=xAxLQwgQfg%(N53Ku6d6zMyR0nZ}(TJja;W`9Qr2u8%re>e&3eR#nV@(geNc z!thkbp)T3;pza#>>yn7X*S~YyOFmn63Fg{+L9az*c$Z zjk|Rl;x3*iV;`-F1XNTiA9jrm$&DOow5Fg<+fy;Uhd@LnBOc%r~v?wz#7YT9bIX9#UM?s|q9H0T30BgQcy_5`Ybhj2HYK^w_DcPFtfllXVzcTUJayw<4<hCnlx(O2zAv)+c=t!Ai=ipz+Dz)_kk zOQY{?$=XH4rqPJW$Il`6O+^q2N1!h;@B(JhsvEz}-uFvygSCcs#rJVIr=FOgicIYt zHGVmiD=q_bE-#FKQCng}AOogeCWaHP2&ZBzSAn|;744S5x*=ntc7s9w##loha()}h z9m`c{6s%)ZRUk;ZR61Kr++{TxEjy}x|C!zNYf_gQvsYysELCwg74A1eKg_Ivb7!o2 zIi{YBkDQR5-9|WDR0pcT~XbZCZ$xWMz>pzCg|n1U>>$osIT&?2!>`F_72FEN5=>GBPF- ztE;2%|k5IGT@;!~I4$Ap-puJId?>*jGD@X@Wr7 zs2+UHZs57i-y6?%_k6o)*F&I>vf9hYaU=#<{KBkm)W1i*%VsljxK--JZX6;p4gqOH zHg1Qq2|Y0+J)wSdTq|exSPsPeP1$WTg$ZC)Y5k? zBLWw0*L0XyO;CF!p&rmd4#|Y2m$NRplkL)-RBcRPOJw$?ADP@D8M% z;G@_LvA&6$6*b)? zr9P!de8uUBzEjYy^PJNb%msqjMeUeJrcqgcn4Fha$CT%6@(avZjpy!esag^vq34aO zD;ufyqJ&NEEQ&Z5S(7FrqgWTQyqe0F?l}^zS$?moGq&>*S)JIjDRQ$^L2?nZ+sLq} zn`IdS=b(wQVzrih)>~uWsoRQfjbIFzJX!74)@fDeqSK}#eM>-X##Q>ZS~djvw8|`h zQhk7?$3&)zTscs<)qAl{V)v9Lk6BlUZ*ZH zATdsbP=AWp6EP2(>Xn|slKK&j3#}r7~w9>Su;5xTEoiBnzPsUIlpHuiNUt8@TPrE(#rW8HUi5dDa)uk ztnN6*)aSlcd-AH7lPw{|Wz}4&{SS%NS-V$+C0bBNF6V#wNABr5r;XI}oX02p*>ECJX7uU=v~bs4?$Rf?e}>;8@X_Oe`@Z9 zWjfd<8sFZPy8$6D_+G)WunErNs~MHe?Hpp&XrZ=9Vxe%b+>nIDAeDG}Ez$v6NxOXC zLBa((u8~pItMg$V8`)@oe`+-@aU@h;%PDhTFWvQ;)fuAk+_ND=)~jd|7XDw|R_b90 z+69*}f*S#gsp!*TVieW#iTARl#cTA`q`oJEc!_yzWaHc2uG}w1ow)@&HZH^cQoEOE zCp!Af-W5a7CI%kj!B7dG>~6ZS@5mba{tvt901`|D^hWFo_cttm$uQ9keUc7upDAZw z4p6QBGWOjdxj$PP78#J;WXxgBRGW7bR({u*6tjV23 z6}L~mOH4XHWqB$`5; z18Y5A5gvVh_`03k9-8%jng6~;5O>+OQ`>2?@BO5X|5G`CzR5<)UGv)sIe@!P>i<@T zZ?O@?j%Bm^6Kf~HT_@+qD95xQ>2-Be+i5@Gu46nV1*umpP7QiJ;I3mlCIs;l`vLUh z0e2nau`dYIkF%*cmcMY`Yq$RXTygvS$t9Kc;iczj8a!?^1R zk1q*w0Cyed@g+eH;I8954hnJ@cOB<(ctxgh*U=tKUsA0p+;z0avpXM-{rDlsu^m4I zIkw}6Ajfw65aig7pLqP;H}S2M+A za&mHOUy^lob$WVwetv#=ZkmFEf`x^JkzXnUv9Ym{j5dEvI-B+Y03rcNL_t(|ob6qU zViQNQjR{%6T-$-Q*Rs}FkDW|+Z@<#r|Nn3IoYMjvY@?AGf^u&rK!iLRO-)xbA{3QgbixzJ8 zobwkDB({IHY-!kY*6|Bc-sE_?|Fq*5q+ZnYZvSb=E{LUGHMjr7V;AHy)prw&@9_(A z7RswU<;0^FWEI^=&iNL86dT>k-n4pDzXZ*I^LokmF{6 zYE3@-3%+ZQAP*Mg!-qHVnfLkiV_3CYGd+%az<2Et@)WUC$BZ z*ATLIg}=sXLJYnHAHAz?C^i=3YH-Q=>hQ}}?=oI{pZUucem3B*Wem}U6l@)AHP>}@ zi_@~T_-S#j;Ip{63y-e;V|>?hRO{!GYRS0WRI<;plpIP*DZ7$ut|rA?YN$D8oRfb_ z%^v6H>hLlZpEJ+TS)VQVUnsG-n=ss_oNUEsqc6BXvN`2gA4MyV@m@R-79hO>B zak)4k?i6z698k_nx8ijZ8 zDV>HtZOD8FKMKuWq~Sf@$E6BBV(=JzjV9sw;Map&dV=pd+#&w_;@`F6x#9U)>Ok}f z4>?71u7e@UFE3uK@J%@d-g(2mNC^vrd*(f0*W(?ChySIByNA+20-kF5C-fiZ z6h}>~4)>i;x8@W=dEUPB*f}v*{|;LudKHLhZ6JO~s#v;WR=^@${jG&L%fTZ(@YG3y}K@ zANe%jbs&sCfAQjH>_-?H=o0p08u15qE}kau25%*wWvO7HcutL#R*X7>KMGFE)IAyo ztim?rg~BD77}&| zUyg6bt-S>)}lku0UZG9gb){m-+{e_+78@62Xygi+wefBp*x#dz`J-&CsDoNur~##AfMI6%QX930d<8<{Kvvu30` zaBZ+x&N~<)m@j;s9(zQYfvq1U6b`F(9il=j<54w6Iqn_>;K^Rb--<;BAuzQx{ZIk1Gj*Efm=yqqB(X| zei?Uylku`p4Bb(ZIjmM?0oU(k+Hm{C203-D!y~|ta8>_Fjy-(WWIBl8 zXMiF_SQ|MtXptLTq@D!n2`v>NmXH-qlXoG~IuT8Ek4b-L;SDQ4b+xf)1~$zTs-@s~ z!Vrq_1Z)l#3}1ie^G7-M@m-Szp)-iwxe+Taq>%`%47Vu}7gk0XBXge?tyGp}iwU?T z(Q6RTj4@QAvhA|m+-Bl2AuAxU8e(6^YIxzu)q#uJ$#Jre@0u(~sUzJrEK-oa?*2Cg zzLuq;ON3q&={z&D)fIN_|M52SS|~^XO{OI&-3~U`yYA*Z%GSA1Bc)P7SZxs=tp=ac70!u{e0JS zLGV?Ps9O@X?!oa6!6V)w{IXOhU_ZJ>M}+MLP!N<2ooJ zpo0Xq#8o|?1I!~Fd}d&E;@a|LAKx`u5G#BI?SX$9NOQdDDg@0zY~&h)LA1v;r^pqI4tj8|c^viLu)=>UhbAL%zoLNa^{++lV-5C~X?lQnGcUcT#q%?{M$ ziC5{T3ave~1=tSDg19O1Nm7g8@2FQm=Mh1LJRRhNQP3_1;_@$}J(I$DZf;yHG71B7 zfp34Rj5rlh(k4I+=tpjbll^?xbU}b4XjmamAsQ!&4-7;Yu_|t*{s)??O5Ls%1}%0C zgbyuAyD8V0E{eUP6^C$?0_I5;7#^O6Kcd{J!%W;5eCD;%PXG@e0JPm(+ zph&>piBeEE=cZktYM6gOhW)$( z@LVP00(kz19WF|nCdVN#o|b2zEuy!gCICPBAXbr?qL|F_*l(2Zj^4BhI>qI#Y zFuyo>|1dX3y6uV6eb;k(?U6rQPYK*lW#k5xZ5QWl<;*dfv!XdB(B9o_)a&%Z}HKL8s=WKLexlf~lR6!TDP z!>%WW52UQ18wA8azme;h!#dtss+0@TE5_-`Ho}^bFfEzfDX)r59+KHBve!PE>{^*>8m$oQq2mXW7^KNkGtLt*RE}d2I;`gXg@_pD;MyLQt z7n(@FSuWS*9YljYoPUo_7+-{V$x=^h2*KDAhH4DdWOX@I zstpj7ucl)vs$8V|^IaA3ktBjE+PCBOrI#A#HuoMOJC$P-R!4svhwY5#sUV$xL0Ox~ zwV*j5i(cdt@hOB;i?X?6QpYhVR64av21yJgKs^0U$b$f~ud8jnHuzkF|F3cWJyIgI zmVVcZKe0QmgP|j>F?R$l4;cf-EYLEbN}4TuQ|!8mqrAqNX* zxY~vrm}1w&$;^MgNAOj|LLOiqT9bp+$q$h)Mref$jz|Ls;A9e24w~crOJm+DgX0DD zNow&mj9v}|@VP@QQ5n&@=r339?I@xZW^Jk*ho~0x!7%0_zNMuiC&cdufM>pp-Xm7U zM5!Wj6sHZ%d6$Rx%#`@dxZl!Mau+kM7mLLUROTc3PFa61>+&v9i$}I0$3Zr{GjdxIW4HOv z2|ZSM()s-e)c}sn?SMLvJd{et2YLbp3kVfWkR7wZ0km7_33Md9waV|v_XTmSRsc*C znU~Q^kr97^E`GOk*IVxtCeUN1+4o2$pMa+dG?IFpo|p|F|DX&TVlIN>Pjt>C9_I=GLY}u#a5y=@b>(BL~$P-S`!wEG06{>ykj_vIM4g}jFU`0 zDm*I331!bDWyobw3YxmhYSv_u>0+%Y`uVYzuv34qV-A8zz~1mBq#X>ifpmzL_`~13 z*Ck}AkI10kkyL|{*UpJ*aKR7PZhHq6WgI#Zss)p0-y@9Os#P`?xE*dxc7|vc{xL+^ zd~yf(?)B21ypB)EL6~KCnZ&4g)4ufPOgx5DjKC}m)@AlRQdHkiix^I_qnWrU!LaP& zL9%};&3wxFoeb2g@{}CVPnu(R*hmYEjS*?OEt|U+qb|9RXk2!T zX=q;~d?GB>$9o;Ec+RKfIAKH(Y&0$~>0`%WuEH?z3L?!&Z8;|H+C<%&Zhpx*6CJ54 z#@D2bPwn*&nUS3sp-(!!+MHb4r{!pfA|rq61PG3C%`<0D3G<2D$UW93W+Tn-M_8Yf zZI50Vl_*n5jHkSFEvk6pYjYlLR(+C<*hhXU9EN?XKf0eV9eV2{RsS@vKUFM zW+zBH6UBU43(^ErGjNHWq6^ISVr#F$olB}tA>A*Q3I2m5g-Hw#z6Y-rdfZo)7vR^j z&Zp-zp(m{6C>LY+hjFh*~G=0(bW!Z&u7kV~;m+M9c-#4N|6}Eb#n(r1pQzPTXbpR3nNI z1sVc7>>Iv*u}zn0ay|q5ZMZ=|D16me5gnQ`tsP1B3J`3f+4l%RkxNi(*7y-%i>mUh zr6C}PQ@Pl>R~t7~r^8F@PGRoGWZ=|^+yb*dV`Z(W)KxTBn%|Ewtm+J>R}~G(^%@y1 z@}2djECv?Nw28WqF7ki&lH^s$EXVXpPkV-&j1+biHKmMGuQy!~*5T48CRQz2>Q((1 z$JLt5GB3mZc;xGcYhjVf$VgLMtLo~-`ypN@=fIfS(bvzuM+_5xL=dX+gFXZTE%smJ zFnE8n^zTQ%trPA3MM|fZ%$OtTkiDrUGEYR(%tgivt{Q$zo_&9h)XoyXX9ZXkLoT{S z)j9aOy)3tj)-lYa@2#h4c;m#WGT?{rh{SJ<-3L~*?5du~n$FK_#T->-k(z;4*It3l z9B3EU!v<7cE|x zXzF$;MlnFWA89jA~XLsk0E~=e07{gq5YfswydF ztL_N^zBhUOjzznPRX0=o$fd2XBbywUf{V&FDrZgK0eh$_dSUoPrg82)l2c^n0Qc`p zmxYzFYzlc_V6sAw_`+VD-V9t3)>>zEV9>}~*5Rn0u&{q~L{){Ud&c?w2vdYKTucRq z5SW@_RTZqxbr{yZGYMfoS3BCaB7kC~=~P6a){Nj{8WDwwCa~O{CGk+auYT`6zKi4-6;o}A5``m;rxLW>-6%xjDv(nRQdDuYe63zH+_i z38MN$asrjxgSFNUPY!u$M@%q!>n8ij|s~ju4kXU;rwqMUg-2`cf z-+|ZSTC*sW#AyVEcdLzGxWFzq*fA+vPxL(bz2&Bb&wLl)dbTc#D^rb)%IU>sR6ADX z5KDg;!t8s5-U>7kvWo;@P)%?6x@BAw4{m%Jj8LqZOO3L-Ha)z}Km9>lPbfbUe zWEMU$n}hp2H}O0M_4u%N6}K6^bjwBFyKUqjm~GEd9dNR}S@kxv?-4dx02(nhGhEo! zf*C*-!>cEn-MWFDV!+`|6@W>NKdgTs277JCS8BoV?9PzABG-y*23Aeblfr_9k-d#7 zdq^xSw5*P3bMFy7bLPu{i*Cs^l-hqYfWfL(A$0bJl?=+!FoVY8c~>^RTtVq$?YUa< zqO7iAa{?=BTGdLC8z0(g*mFrCw@QKl?U_O{^OmF`opI|Nq_wZf*3C7GK`n8Ge24ZmyQN4JaW+C`J&F3i>fO37Hf*jcRyAF$Ut*6w z=~rk@Q~M#Sze2=*A6aOxx+#BXa$&E`ckm<1yx_qvYTN)HBFZB(#J+DTT{Pm-*$v0~ zT{<&*{5-DmU6i(P=0oimfF-t$O^w>(g`JJUjnGKtTiFeS@8g;C?-9d1a(F$CZw5l6 z(CeAUL?dIX2`sq@@@~eHKwv#8-e25>cN=RW0Tq?Xhh1SqawF@~SgU`ms%GZ9RbDvI z5~@na(e%xqLu|}SpC@z9*o_sZVl}<0tz1XoDfQ0KC~dKIxbk;5eP#&va@^Gn(`nEK zsz;1%LaYhweO2ntU`KPqTCf&${yl=P9kN^0Ime$BNkaRM-jG_uQfPm5H7ak2=VEk@{3(l`SRY8^9prF4K`$WE{4smT zXQO?|$`LW}%8OM_4iT45?5e%rYfW=V<}_{Ju_1%_JZimIEuVii<%V%3Egn5ZRnI9a zD6&#;?Bt3%hv;thJ+ij`n%Nz8QpgV`&8x|(+#mv{Sb>vISQCiN5-*Ecswa{Du~$k| zVNP|6Q@X-@3#DdH94mD=(?+=-@)FD>hWTUmn{B?fN$t{X5c4+lf>3G-7}9G^)wM_bDPajYdp9{v1?euQK?NV`|92vs#`_Jq!}t+sm<_+l+ zH4O&w8+{E`b>2NPtgs?NgGJTLtlA3dSR;3uN@r_*?NfgsNJE@?chTq1?7Cl*s?-?0 zD%xPGiqlj$Z-jQ3zMp+(Y@>CN;Vv;JWSn=8_@M#%sVpJ-Uc+p<0??YlZNX~Mi?NUo z5PkIa%Cno55S>g#V6T0zli}#CKx}VV&s@~~nw8^@&Z?rm7eyPgvWOPv-6O+YTMR(p zBdG%V1$loE>cc=4!!r-652R1T^S^NEEcQNYx*XF{nb4Q5joKA8YNVeN`w$Uz0MVEg zrMuZ5#5oFWzCGgJx6N&1t+o0bS!L?jg_PS+`t%Z2L?lHbiEiw*1Ky=KX9hjzC3QwM>xQ8oDL-N193agTqLyXFRx59H4|peE2pS8nh zpedp~#dq1oFft(|bz(IRkr`k6!kJPt0zuk>n0HW^G{NxFJ>b*IAYL>ExVo{d2`D%aA zZW6+eVqL`YQZu{mak>t32eP+Je05%e&!I~pZnkJPV9m4ak$RT%`R+B_d2AU%HJSnF zVzt(bPG|H-&cO{A;cfxl8R}Z`h4n-b3FKjH780n2>^d{QN7PB32og|1b>^?>$JnejEo48M=h7KA-Kib z;OTc0Y`BCbb;gm|77lKt^$6H5zgV8_}2ISqh0uaGE21 zD4>26;4d0K(sPmQ=FnWqZ>x<5YQOz*tRu`VpC{)t5dMbT#4&O@P0Z;mnKQtS==ikz zoLEgfAQ#a)DT;a-SVYKruZjQ#OU5^OpzdSkdB16oa6a{yBfQxQCVZ$K zoXV*vyaD>VO>v7H2ljt}v+Ji6RVMFTGWz?Y=r$nBq_I$LwCq6X< zVF8V^__jUr*otr#mg!)-d@R|5%Y#R&?}mInVo$Ii-}Syi(iD9bWzvWwQmKRGKoZ+$ z;r7Y8ESqs%yL_J@q24hw(yMw^K0JSqxQn)ZWUM1wLS?m_B6olGO$TOYV6V=MeaT43 zkV-G=goXWAwUufZ=t(<&#i>VPD#(uF8IVy_$!9Sd%AYEqxcAYS76d!*bpzkPV3 z7y=SswJL4+m@TXj4Vr!$JuPIfb?D}CfB}RWJS~kro85}g*!>|*OSnIia zq+Ygo{pg8`K{$1sm3yu+GoH)()?IIdIwHkx(N#MkfS$YYOlvk#!s_L(%SJVCh5MBFKwST5wP2D4F)0VMK`}c};-FnqdZjMNfPb=cu-Nb+AXLsG@ zNga0UD9F=%*RdQE1$mn9I+kOSAXE6RAAL*_WGdhFLyt*<9AQBC;Mgz7 zRK8*B2Os+dnaFqj=wrVi)A_C+dh8M85Wefj9{W~gI^Xq!kNv830N?c^k7w~($9ViL z$gv$i@%Yg<@vX;CACDh>Bj0-bEy%GQl;M8?R>~(3DE_fH00000NkvXXu0mjff!J+s diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png index 5b90b66ac7e8826253db7491e30aca6c00ad942c..7e5959ee5374100dc16f3a5d8b760998fee9b183 100644 GIT binary patch delta 6413 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 delta 6419 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 G!~O@_tFG?=