From 6f0e7959dff7f2b50809fcbecf6dd5d670b7982b Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sun, 21 Feb 2021 22:43:31 +0200 Subject: [PATCH] Only consider visible vertical boxes in layout (#8483) --- src/core/core.layouts.js | 5 +- .../core.layouts/hidden-vertical-boxes.js | 62 ++++++++++++++++++ .../core.layouts/hidden-vertical-boxes.png | Bin 0 -> 18553 bytes .../title/left-center-center.png | Bin 3451 -> 3467 bytes .../plugin.legend/title/left-end-end.png | Bin 2991 -> 3005 bytes .../title/right-center-center.png | Bin 3337 -> 3369 bytes .../plugin.legend/title/right-end-end.png | Bin 2804 -> 2856 bytes .../plugin.legend/title/right-start-start.png | Bin 3274 -> 3339 bytes 8 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/core.layouts/hidden-vertical-boxes.js create mode 100644 test/fixtures/core.layouts/hidden-vertical-boxes.png diff --git a/src/core/core.layouts.js b/src/core/core.layouts.js index 30661a17f..acb1b4ce2 100644 --- a/src/core/core.layouts.js +++ b/src/core/core.layouts.js @@ -343,13 +343,16 @@ export default { // |----------------------------------------------------| // + const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) => + wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0); + const params = Object.freeze({ outerWidth: width, outerHeight: height, padding, availableWidth, availableHeight, - vBoxMaxWidth: availableWidth / 2 / verticalBoxes.length, + vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, hBoxMaxHeight: availableHeight / 2 }); const chartArea = Object.assign({ diff --git a/test/fixtures/core.layouts/hidden-vertical-boxes.js b/test/fixtures/core.layouts/hidden-vertical-boxes.js new file mode 100644 index 000000000..5b55600bb --- /dev/null +++ b/test/fixtures/core.layouts/hidden-vertical-boxes.js @@ -0,0 +1,62 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [ + {data: [10, 5, 0, 25, 78, -10]} + ], + labels: ['tick1', 'tick2', 'tick3', 'tick4', 'tick5', ''] + }, + options: { + plugins: { + legend: false + }, + scales: { + x: { + display: false + }, + y: { + type: 'linear', + position: 'left', + ticks: { + callback: function(value) { + return value + ' very long unit!'; + }, + } + }, + y1: { + type: 'linear', + position: 'left', + display: false + }, + y2: { + type: 'linear', + position: 'left', + display: false + }, + y3: { + type: 'linear', + position: 'left', + display: false + }, + y4: { + type: 'linear', + position: 'left', + display: false + }, + y5: { + type: 'linear', + position: 'left', + display: false + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 256 + } + } +}; diff --git a/test/fixtures/core.layouts/hidden-vertical-boxes.png b/test/fixtures/core.layouts/hidden-vertical-boxes.png new file mode 100644 index 0000000000000000000000000000000000000000..5746067d33c48166161e6866e592b5dcc568808d GIT binary patch literal 18553 zc-mCEby!qU+xER?=uQPxU;rhgLpnx4LXc2Ey1S*Dp(Ldxq!9$Ar8|{wqyz>8k?ziK zxbNqAzxVxvV-EJrUbAMeJ?nR#=XFiEijph=?gLx^0D-)m^lJbh;O-9_6ZN3$RA>$W z49H7ASM$){&cLdpelgQ63k@cZQ}!}tP-t#F88?XfDa1(Ano-pGX0t$8sK@0#>^=YPJLq5`KoI|GfC zBDbE%)S25`=b!D?)!KtgeEu)PwHKYUF6aKeT#0ti&tqRaiuVA_>*F?mlCTgPVwG+l zTj=0Tfl`Us*<#RY)8SC1_|2Au1h0;5MacS8S=ROSg7@yTf=sV(*SGRa8KyOJPW^6k z3bq+%QS@p`@w>@$M1-MnNMK2&!=I^L#daA!;T z@JMKkKV5tW0zO~qx15Zdn|vySyMTjwJD>bQeQVU zIP0JoC@O22?R3|l3nCJ)6E}X>K_D<^$kBW>=B0Tv)p}E%X`TM=Clx_laMM{Lx5-a@ zJmJ~}ucD;~V&?|&|J%kHx8HVy8SV>KHNWje4r^Pl2e-;Q z32Wx=CgowP=5yQtu9wU;X3B%N8i5NsKd#M4sQK(@Ae?uunbTJ4=CD2sFVv)Ae}0%CQ8M+oA4 zBh(^19yU|SrxFChoXd&2_;&Qju zzvvQ(fXH zjNW;J-6n-#ehLM}l;^36k0XqqVL0p2;7=-h#z@@M>AC5>`*H8#Z1*t4bm8p*M{Kl2 zRpWU7TCWn^JYDEShK5iO4NmjXLY49J8C~cjW9)ys4VxU5$CEl1s>N@p2E?|ir}Xa= zKdCmt)UQz#xfee!PXnB+r+p$Z0CwoVkSaa0fMQG+b}=*CkC;GaXr|I44Ye=*Dt%dw z&WvO-om0yBK{9r`X>j|UfzvPcd+Y-U_BKBe*!F|6{~F%9{WOmR1M8W1hE%a5X)Z8l zXDDL8<`^UCE5_9$cxvW*?k%LDMpF#;>Kl`R*262tHZ*uWjh{%`jOYpm_r3sZNJb0U9tnx-sf{AX*i7`|m_O8w=qicID==49TW0q0whzkRUX#D7b*{bZ2oFh$LkBWIs!d99%C4x;Sa?H?=wEUX$+X9qL$G;O!=d7Fo;L1?R z+4DbP)%Vgp3eue-o^-V>;!6v}wk8jLBLt-NJ#sPl4}}TnXI3HEwhrl)5?*-a zE0^?yl5|^;wfMh%)1(j}3=A&DlG!k73m0K2`|AZ+{3L!7A1Ek}A5c{Y65=qw zC4a;7R1)}`r50cu#?BdA@@8` zc&+{Re8g|FA=CFni&a6Uz^nzLT}r?|-6o0>Wl7IdoZJ>X|7ik*F997Y&xPM zq64KK`M3I>X5K@n9on-03ymOTA1z-$hfJB3;J$j6y^U~FIYp-|HVifq0nwlVV=j>$ zWiMVwxcYBVzkrm!#XO@yoChclQUR5mkXG702Yo(Issw;=8A-Em=#?QJxCawrq)r*~ zLGgEbNUnY)gw}1^$dz6EtIbfl&==(_@gyS(SlwbEUU4QkBn_qYt25)I;Wn0L1CE>& zdM>I`7o-}rH!yXXjI+n<(I*r?9@EpZu>57@?ARMm`*o~HuS;3?W0I1$GK zh!1Icy;3$W2%~&Lov5n9wv#_mBIv%OTl5fNOTi#c(k@HuYbt9fOmT?iVxNl^MNIM1 z@pV+WWsuUT#O4Kw9Bazgu6RJs=I_`m4*IO2=D1k>{N7Z5G zWai}ZxFdEoUNkGqeePXo{`4ecy@Mvg3|_|m5I>yYOs2=h(lg+v8M@+- zcaNU^=kD50?~3Lluqbj!4DSEzqH`wuiZur%8K?H7;-Npf-MCN}}+ zc*W}A45g;5T#2>r3EiA6H}h#S>gDc9V&6U)X1bd4Y+1nX`u>0x!_0aJ5bFj_>c@WW z*XBEKmh*h!`Ldhtlt|=l^gH&?!e$Um%|xR3_px4UIDLlKMpI}|o^H@%wTPQZ>n5fe zr3i3|U%Y}sHLA!?JDXo+E&MoMYY?R@&N>jk+LIDF@A(!kzVim5cqyM5f>8@L^Tl70 z_Q^bKA?cY&hrq_QdD)_Vg`*LPj&M-(bbME+U^Y3A_r%}mB03^93pG_0m;Qy~&b)Hl z*PFU|zvuC>0|IF34*;bQm7SKq#WRF|F(bLzo%Ogr38)8GFj6DZcO$Say;&O+#eUyJ zS06S@q#?=+iCeXT7d2lUSt)_ohWiHaRGl_|ypfiIWuE?F8VEgxq62APmkkj}pIUFeoATtJo>(EF4w?1Qy~%Oj4{t*6#RMf3R)rl1=--02>k+2oaevA<(a}c0wbBB24A$rP=i_R{YWdn;ZFclX#s(>c=;!DsJof5*aw38 zWQW*kc92P$^+C9EV=|QYaQgqA#1o^-(X;@bU;o!=ygrNcF~d3@h+^0-kP?*o5fdp2SBe@2bnbhbBG zLQP}pgz(uW;r91NWd}^_8skM3*JYL=&{q4;M_~B$qGOE#xxVRergsKNy;Daq1_cRt zzR^z^|G7H#0rmX;Ng<84kjZ1zhu|Oysw_ic&V6TYR*Fc>biI6OJCxuQb^q31Z{3q5 z5DyLcf#qz3?sUSjOjg8!PkKa4PufP|L^6OEWO~)H@+N)rzM-CXijxZC0?L#GT>^s4w7}9!{)WPM&-(Y_w9Js5C$38WXy2n5C`3!fGR+gKw`}4;5 zR47hR7ze~|?H?dL4awzjoQD=)kM_T(r}-4#sszffPkvABG@t7KuJ>4SWr}7Pn$SN8 z%=GvZ?g~{9-a_%#ejF#&pzdf)VLMEw9wjEUnB|$QenwI87T*VBx^ltnD0iPkO#XvD zubcQP3=O=(#g*Fon`}U%O$&XD+S9B4?gdR8vKpL6uxrabH^RJVC-O6_nK6HOd0N#0 zL&3I&FaZ-SkGpVG4495d9572eK$H$#4LH&Q(gDK#!M7sUNv&=-rMv>l^YsyV0MGle zIIM%RcWh72zV~z3P&vu7@D1|ADkrsVv}Q_RuTD{h&sI(z<#+j6`3~C9h*HY@j*Db8 zok%bPXxIpWu2p-;mq$YqKJ83wEbJb-I=%aa7k^4m`{15OQv?0B>f2bUs08jj8G>KB+BHD-mq}(%=X~dkw9<|CCHH`yZh=*H6=2vNd#I(j8qw zk{N^2jJS?GI5Ia1SlLnu6qS!cd^dHF->pS*Pbu7j25KU?dRBT9HjT4;>^?u07LyC& z#@g$oy&3s-YitDI+U=gk%iS@x>(VJ0Wm5->>BByfDWV=~Sob^~S4LA}9|<|-mGE1W z#tIRuB{C|e7=HZFdQx5XES)x42_vRb8^MKb*SisHfT=i=G3#tCVS?XyQJ(kE>!><) z9bFg#kkGyFyko{u-(CE;J3RGw%1w;6*~~Edmvr@r;@`SFWyGym6s}8Tx58#%`-&*U z!`dWl%)}9E!$kO~&dxfxrlU z2D3TC^dFXsH48s4@xpT)Q`JRnUO!=pZPX?xBB_4G$Q-a2)LgM0Ru+KjcWQ8{&<@tV4R`8iL+W%O$oZ|wm{+I+3oAvjs1c3B_XT5t4trGd-LA@w- zX1E+%%6Ia0g>sJn7@CoWdbp4}e%3QM-1&^&u zqeW-X;5RYqWlIIBr=z;iSmidNls-|AXWbHAH+}b%s>AZD@psQ+eZ~ff)BC)Mz}HV@ z3>+sQ_SR(JsXGd3=I)2kyn_Wa__x)~ut+hma!Wam!oh;svt$*{anuk*ty|ALK+i1> z%2GM(w_8R$tz_%pHpwO*x=`pxLTSK(uZ-62lJYl}k)xe-dcaALwEHk#cKt>NA*x-S z&r>-KEoPm37_ktPR`aB+f%5>wemQ>WQ-XyU6MfW-A&5s$B$l&A&zd9-O%d~UBltO= zZCCN*{)zINFN)m561Pp)w;M%e_J+gkpPx&-4@a6ERirAvyV+c(0WS|-DpwE2(*oj0 zB0~AY-k@`t^(8*Y@cO8(QDMt(+~la@ZQ!vKg89@QUz@$|B>Vb*&DjHjJ>uf>4&0ir zVox+@76dnkoqkgGz$-LR%IM*^aDdebxl1!I$18rntFs5D6#pCQJmjc9nY9_z_ue+k z^xhG=JbgB)*{SP1_{@A*?9_#&VZ`}=tebx)fj~-yNw>BVln8{hye$3rcb`B)GFJMY z=Ei@Fr1?O~gW!iF4pJT5w$tSog=jG}S2v#o$%g!wX2#inL>86(rJTDdYdUx-#uobc zC_h>Md$R9-q=9YNR zwJy2xdvA3|U#CVcNeoB_VG;2&qZ_HR$Z!S6T!?)W_Z7dTcs=TWwM<*1)TLb^pTOv; z?Ks8pY1h-!^1{kEj_-HGJOkozNTdvNJ4wZ1KTz`Wl{Rs=Y0>Xwila2-)t6UPd7beb zZOj7-{kk1O|I$rj>4FT1qHlwU#HV4zxw3Udr44;!)>1!ldKst2)*)ycf;)A~#d30w zfMOc|Ane6Y*FxIehRxEPV~AYO`@52Y#yuRauDxV8L`V9BEcT1>mq9On75x50IJ_3~ zyoeBXmwum|9u7+&(cmrAzpIZFJCAo>9-C*^&s&8QNr+tr_kWx+@b~=?Es5S{DW8Ij z;31y7j&oQ+j#OO1iXDT(BvWvfUp;HlVF|I)w=FWav9 zJp>;ncyX@hK5tgD;I*j<>TWJJ2Wh;wMq^uoe}zg6_-0GgjmkXKDsQW59SK~k9vMc&ZJM_5#u=4XYT2FA;QV8*d@nJ7ik=J&J->AjxY`Unps& z%eWsPa5>L;p)_U9C)!d>7abHWhWft8zee7RuEa_Wyipc23+JOdly+2Otk4vKQBdT= zSpI`m8q5Xc^^Us+kz-dFiFuaq33nd0(fy`Omw-J3cf;2>uW{K*r6O9*Ab{^a_Ynn3 zr_99YaIlWsHTFdgAb#KgMx}Jk&k4MLDvpBpFzM;u>b?u1+cLEW>yA+-cg2>$kDXD; zF4xCXwe|c~KU!~&IV;;SA5Om^5?lnV!jf8h+ho@N@qV#f`h9phUx_6GrxK!x11yo@ zN^_-dlr+yZLhuXC#>b=^Yvvb8;^Tv_^ zU9a{0YSeu_obJ6-Z$4S9m2~sz${l6)tNL12Msx9lUlXPy~uD{eX=z))HHn|Z=)TQL#Fp>!ju=k$= zMHK;AKpy!Z0OdLJvCm}Xq-P7&?b5kS&Eg;e1YfDa#H_*OFhS8$bw!^ zPrn}`X#fX&QOeM6L``%%Y*3*;s&;457Me?D81)TE@qS+B>U*ET+Fh5a>igTSwxkS- zKGmL2C@&=^mg##k^WIE&TXy6TKb7XzR6BXWgL%xQQFqYG6CkpZn*SgY3$;cTn#)V znu$5bSZlDca9T^U@3)ITC=A&8LVCPVmgkyejlJz_$5E`v=;)8`pOk$Ly-x{1RC@8> z%7<~I#OlTxWDz{*;;H4P&g6cv-^*i+{$;px^kEPIJBM{SES_sy0Tl)Fhfz=ONKEQ? z=-)dZ>BTgS;W7S7U?#t-JTaeHqGMy91TLb3w6DlI9gX5n;5~WofY)H2{z3j(J4#(q ziR?zQzQyy9jNQr#rODx4+QECr{b9tiS&#_KNL+pUxCVh;GJRQZoVgASlb!q`fYxjm z_1png;R)pCOsU-iun=3c>!d#^%{MC4`dwb>qTsUd>?g6+W0YP9Pb*&L*aNZG48JmX z$p~7BDR}7~?4$ngEYl9B0pIL}T8uCNOuR!B2=YSvzd^gNybx2|d0{d-IEU*qkzQTdP?a9J0_oe*aqzV3L7fu zq~2@l`^6PG)rEH`eQn@T8M&q6HP<{)M}NhojH5AKM6MpEv14Z?t>l6ARV$Pf0^$uu zl#QT3MfbTZ1|1eA9adK+*GsGZSD6>uZ$pO16^1onI3b1HS(i09=LCYz;=_8Eh3 zuVk}8?werw@O*&05;w$Hx8vU>l&y#N@n2$537npquv6&EluW&JxX~MX#+4eGCYWWo9x zbw^Q|z(9zziZIO$ifmeGpsi&w+9UeQd0YUW!-=8!EFK{)XBgM2@7Ru^K^j#b zyc{F3@P*99QMg)(DGzPr9Tq;NVF+Ac-sR12p_~;N6XJRCI%v=zdOqFq&L8=lPU1Ig zja%O}4grwz#2&w)j}P2Xy?<8=P3J%)V=7GheizHwy?ya4saG(s?STJ+^I^=E%~YQ~ zoC(xj?ljs2*9XtO<20%iO$+aM#Xr+E=F7kc{V1rm9A?ksDd#aL$JQqvRn-&p{2t9@ zfGSC@)N4jnj8Sy6I0`i4cMM!de|uuBxNI~G_7=L3-% zmHyJV2M5SRKhiSkVx%Qn&9EtJuA!3f^O0iGwkfIJcsOzaIA=eMuLs1z2K=Kg74tf%k5+z*0!H;X-&D(@XJ{ZOZti+((ZllbZ4n zIJuN76H#ZV`?7(U>_cJ*O1B*c>r;YkO?-md#5>k$YVC93=@ae6cG@6^Q5FkLt{xyx zlAj2X$5b#I5kt~r#4md87FOd#F)NF&0XK8^6jHU|&0ELwOD;Y4Mol3`31rtou?&QT z`8N3IKlt8WpXvaZXf)4(^U!bG%E5u{TBQAbt>9nyCKj`)J%4sr=H43kR{#{Pk ziawI5o|M4<+`y$mp@P%aF2wr9tgL0R{P_)&T|ml4fIh6UDb!8>HAqShhtMH-_I2=8kM_$TuPPoR0egCu5?8BOu# z2)J!&dOvN;3t;u|n?AnFy^Z{W>(L;&h1j5+UQ)~YYkqOlY@95O)u!uzi-mQdlo32NFVKXg zS}7!b2iaINDiScRi!81vX{XNh{rU!6)2BT7W1pJwxwPOTA>*fX#H7=kI_JTHgc@#Qd#^w@5$dT*s3nd!#Oo{yZq=7 zjcOlw^CI%lfc6x`UXo2JIFy4*yz&f`Y!Mok6-3v}sI~&hiU!}~AnD}(mydVgD48!2iucso&^XOMNi?>1XI%GPMZY;00FU&pP(S1)O zi8P6|g00bU3Z(nRTf=wr|A()osk|1mmceVLOCc0B{y~2!G7$4_ze{9ALhp)`uJo@- z)sekSS+@2q=jJ*zU0Fex1mBWB+!DuiFfqHV{6EH)R?MsF8141zjg=Pe*{%X0QJUT$3C*fXhFwVcb)+;TPhc^k4tO{+)_Psc&U=toQ8pTKvaWD0? zN>zYmWREjYV@gQ;p^Mj-!+I}InXAHw;dw4Zq!PGHyJ07cNvi*j1sGyx!JI6}n3Sq+ zJ2s?F5&k`~)EgfV$m^wlh!0>DP-MtSM$B_Qq{^8SJmi{z}My>0`*YD z0yN!nUQD*^C@-&)Pm3PF2;kV{`I-G3jRQ*PKbt2m-Y*T9#1j)rl$x!C94F&QtA)l0 zZ!rIc$TN*#N}GTO+YHfyxpZAG3dzm&*2+n6n@?tKN~}pbvQaLlfc>p$gUj`EgJFqV zpZ2iMThy7 z(>~XD0-i7#$4dh^``SU=zt3onr}OSiP=q_uck2DE$X0pKJxIvdr_pq-2j+U%{3LUx zYTcB*;XITi6^2;Z;}DqR7MVKnD?msjx`)6BtHTB|NQ+F*FLb_E8V2Ql`?YL+aC$OA zft(oNgn{=y*r&2S^bZ>a?rq9c&(AEI6ZKJ8b}WUGD!> zC*{&j_@v?vN_JjHj@m$8pB zS-Xj24W;5_nV2u8=X#w`s}L<=J;ChU$5Jr;U1gT8;1`*f5oqfnLg6-41uG7L2e@Ja z1jA3L+v90(_CitYynb?^>3@B^?W)Rx0EBUPapZ^hFRto{C3fnNSg|Hk)@;HbX$+$E z87G-spoqJ!IhmHGIj8=aQH&Q4Wb`Esh55*=4xD&AWxI(pn#$A6Xb|V%z_0G=^5jWA z&wYH5q*ZA?BQH+we)8KvqS1+%pZ-u_40jc`Yma~yMOdW#3uy&-qT9+v9bsszqINuC zoNzY(96n0jR}PE+9-_{MKmHU}@-j&EwEkbF&0Wc$QF!STvNB!0dQY#0z3t+QtLcH? z>6P@j%sVIo_2r$^_gKOZF&?kL@pZ*wiZKr)X24I5WB+C@938yX?);Z>isxGlC3h~z z@jYFvd|LJ4JwYWaR_RIfNGs)txeR;BAaPoT)prNS3lNuJ?{_(B; z{~@g+;``Rijog?^a+mHees}ZFK`Y31q-t1-4 zN(4_X1>9n7BnML>Oxx67`o9HDSS?d_eqH+1Z|B1=6^6}JJ@UE5W2jXNpWuIpSo6uF zxnpeM)oTe=bP0K_l;8=ZJo#URavIbZwz`SNj4blq>Z9pzOrZ}pX3Yya!eqzHM&D$`wByL*?` zA}&pWeVp@mW?Xv&8e0&oG3)nmnKC5rT5de?` zw^$#9JGfp_X`whXFxz}r;|%k6VY?;}_}O+%M1n07O>oa+DwOUocQX}pQUMA|o;13R zqWgdtd2rnrA|MB8a4Vte#06t>wgDKFea2@`#eXWj_5#fPCN^2LG~mzg%>34X`K8wM z!6~=m##YNHIwVKr6H-=`!%FI&6qgVMUA1Cavj;g?3}W>Xyjyv|7X1^szh{oc8s|Ne zQx+5>j%E_SqqaHw7_&ldbH`IlY}Cj_yqZV`vJ&Z8Km)y#fpIUHoUFAIjy=APzaEY#SA!-)r>UoWEcm z0+kclnOuLAX0WZxOkQ_Ap4K`ZuzvM6)|}0&V8$ne>@KY=!Q8}0{x;!Smz<=-R1GuF z`_(-*FI)2#&+asZ+vGcYUG~_2`-V&pRI0Z4F_N~IvkKEDvVZZJp}rdiHwVeji{`8Pk2xLpcl083XZY;iK|wPv>~T62I9}wGe-39iIuH5HY1vfA zh24)g@J@f@F7i8J!px|Xv!#Q7W5B78=844!dXIPC&|`mbX4wHdsEw3upk+3c3xKY| zge=wL=hqnH-0uO-K)3N3!N+rfmVJUEXV@wE$-w{LI3%GsNSXKbtlih7DqI;7fBLEI z-lt1WH-0f!yP5mhA0yN3F<;_?+%HlE^QgU-3@2zWu;qL;O+!FMm~A%jt{3yp^U8VA z*+MFqBq>}(u?4u-+fW?Jda`(R*JXjBK=&kMgv?2K+VitzZxBE%VoymCM966ius%PwgmOfZ{$r)2~jHqo%t7c z6^0nd+ffyc;z&3P?fSB|V?N^3Fn%8y)YO4aqXDT8xH zWQ_4&+Ia?~Dj<@xT%ZK)Pm*=V#@r%TGbVoYAj=FSe(yuDrd?6fHc-IF{UG=$pkuUb zljtI12=ci`$)ICnSrGAJgV(SP^smQQ`7fc93-4FmSzlcpZ!50kmL(U$>%d{_eE(Qv z(t2cTT^gbc5e|<>bt#%*#dGTKhu5aZR@r)N8n`eLdldnY57DdHtjjcSg zq$ILkh547-vRsR1A_G|MJalN{K8o&fpmODGSfh8IHVT~~(N_xwm@*FZP&=c_Ij8hZ zlokx|!U=jp5rYO^lO~2#?J5?>Mb{zH&UEerLqE(Qs+j`tRXCCH#^ukHvbv5qg~)$l zjZ!%>g-Q#Y=k;ekodg2Yt#qRwa$+NODK{jH7!$%Q@pwFcVns|dR&8{Z3g#Rf9aa$_C-6!?8FN^TW zn`m2!U&BO^Kj^WEmM*-2Q+B#xe;}IYn%qxTiE+5H??`A&9%aH zp9_{Ow}&G8VUq|;ysp15t_7?%6>G5j%NxsUVAcdh`ipR$QL{d{d* zt*dZD!I4iHMSsdA2!W@zVoE3P%1T_sZJ*J{r~3bP`_*PSL?|Z=^CPCNU}L_dj5uH* zpLy~q%)P^(P_*pB(Sg=@Z{?Y}-6fT9d;odyH7I!j%rJnAQiuC09x>|+hS*=hxlvl~ zt3))uN2;4xEO;!zD4=n)jlDl+Lcr)Me5{yElI?Pes>kJu z0m{$v5++}(SPyjHz2UTaAAfho$oN37I_jMse^P`R$EBG&S>K9A{t^zzIYs&3;ngyk znPzJ6P3~g-!hBzz%ll#Z$RL~s=%#&l9^Tvr+2@D!0t0GC`CHrrIGo z5vUk0>C4Ni5Sa3XUh9xKD-!CjLE5TWSlu$Q5MPL*PBW|hJ#R-Zi%8ck;%ilR->tRV zCsG0!y4cCI3H!(7X%s0b`gcRykFjL^s0ccg6)*K=BtH8@{Ko>19QA5s9P#$r6bYam z17Qo`vD?5{*qVM$woIJ z5=}tpCCW8-3kMvHA6ucMlNe=mI>fLimM+Pg_P)L%fY%*MoTIN-am;WHmh5hrk^K8F zQ{!kF_$Fe%C~fEZDg&U1AXq01ILD24KpJq?@Aztzg=JC}x#Ia9RK9sN?0PhP*H_tN z{`@4IG7J-V>@9v7pO`K`fXChA)7R}IdEgi=MMhYi)HD}w?6?)dT59>9vToG+c)@Q9 z+NWIPe)kQ0-dzd=OTv2c2L9Weiz|H<^^FLk6sF7_ruf#t_tfmOmFsPSZP3Dv^1J1XHP*;ObPgz~;nmT9UyRK^$R6SH+ZN+6P zZ=kw?+w(b&mZw&J=K=j^p*DqnU8pK%MuZ$x#&9h9gTO+aQLvOS9#mQGS0l7^}Rugb0kJ`U}~ zGL9Tli?z78U;?WsK7dG~otP<~%Do9XAZqfn-10pxGN^XOanT>c*$5y=A$j|_EN=(p ze6&^#C_Qsl%>R%WtC;quMoBZMFxMVS;a_kZtqA+#6vZqb4okFNhaM0^SyE2ihth>y zpXL4+v%f`N2JOGY_LSg6TjCP+pycdJ`ifQxV!f2PlY{6lpv z+|t?wuT_*WBg)4l(pM%A9LiQQ`1FgSN&kvHl85;81Ksk%V~oYrviEtC0(M8`JIaPQ z9}ITWPL;nmU@AwQkpy`z!rKJkC^?rJ}&dOlk(`|F~lOQTs+QuJV0lO{Gaf7 z@%S!$276s$uZ>s1*-P6H`wHyI@TDjd#<)kS4>876DcOtcGj5iYCk{tX=YzJHpMka? zt;^9Ov#OLP=rRQ{xD`gBeL{(Gj@3`+>A>pusk;Ny59Q#MA5OF47gAKa?{ne zV?Gpw0HG_CSeRJ6EU8`4Ms^cZINA7<@a3?v-JzFm!*e}9d4Ms^cFfUF*Y{mF*$&#` zk3|y_MhKG|nK7497cx+$0SN9v)qnA=Gm$9e8QZHnl!qffJt#KfRj~%yQoI`|ZyHi_ zgPP#bR_pCeO@b`dXnTzRm5KLYPAHA_YFb%jRLB$dyq00XW&DR7{=44D$_GK%4u*H# zR&;&O(>wh_ZmwTY)sF@(9-k?pbKT{`^rWVMkik+DC6D$g3`Wrnp(+R_T#$lB^~^d^ zT~>S%fwqC$uSz1V8_Kl8lrOy7bclaQg_8tv?L?Qrq&Iy`O-zp?l$_5434F?tW;He} zm!D3!bu|~?a*Ek-*ae7nBfq#DSn^{Tt(*>|2=EFMem1;It~aTE#hverV+D?T_S^7` z$=^}hE0z>H8{HTCFat;Is=Md*nIpz9QDf#Wl2!UT4FoeT0Iaz*jAUA>bk=RU|1JA! zhb6wySzo5wLN`qyhPQR4^5=qJMiBH3JTHj%Yxwh#QOrv7Tn-x?oZb(=6w6# zHB%J^95mfo>+>0ltkk#I}h9319>krcOcje=GOnHP)iT%N{kZSl4RwP#4f!)J)>!HrnTwJSeGBcyowvNBL5VbiP8C3?U_&)vZeU}_QSPdQBcQk^e;2{ z9vG2qQih@jFATJ}+bM5d^saU4wm-ypR&cXd&|SNSajueNE$Ips1Brk4tA=CPAn={Q z(+K70Aa88JA@RU}xMxGz0kO>=yX`H^uz}j+9@h z&*NRa5U*_!HS*8Av=%FRR`>HR%wec$Z?R+7&o==?IMa#a_$baL1g$1dl99#gxqc&V zP+k_nZv*djhA9Kd$y!Nou$J!-)Ub_u^-}@tOd(HbRxQk0qPS9ck%x)_f6W6z_HM_5BMQ`YqKdFvAZe7-X_}#2OY)jQ2k{;L8yNlAAThp;XD?*y!l* zDg$d!cRZ4hty*W)1b^Kazrmj%d^GL3=SXI zvt6Ov=GhYf*5t@BG2K)yX~^P7XCAPUq8sy+82VY0D?XMYlP8u2<@1FdZ-_W)u6*P^ zJ}2@+ZN4WSXGQ?P8+Txb%ER~DjC zH-L3H6b7D%oGk`zBkN8H(LudIF3`Xa_8|Qrb#M)HJ+JhGmUrtEejP1VGRy&Oc(cWw zeY((f^ns?$;>ze>IMXPnxt$@0<+1;RV(@8Ev9U-=9<9N7-&=fgy}{S9hFDFf3*L4G zzt$BreIFTE<$oMNonXPz3Bgso#G@-12+C8(jQGY$2!Hf3K-f&pR3q(4>r%i6sSf=C zOqg4fXWA5$r=Y_iMfSX01$bPn7uXdfg-fo(mBo$|snyp9T&$^It&NJZVadFZ%f$_6 zM27_`i+ePKcpKDa-+7fkR0T$!zVZM-H_I+H36kKZ0S6x$oP2Y*|NU5Xcbdz@t(Lc0 zD?U6nhp|R&T*UL)U@8!7$3q=6!z}K81e+vHmO%2%dc8qwW(-Fj4g2;On;HweW3ZlG zelevi9Yn(I>WE8hJDD@@pFO@QQuqJ>Z05UOfP@F-28fRH>bf&&97#65*&Ty>Em`Xy?4H19In-w!Ntb<(e=3slF}QsaNC~6YlH>GD+LS9 zZ9Iajp~t%r!e0}vjHqxCDn0n}K~UI{79LNMw2SM}KJF)%m^bt-L&0AbSIO4N8Z7Dn zG3VXyByz$^)Ae3&NInZ&1zKXsurI%WL@1!s6@hfT0tuF2P2JEH(F1$aKFHHmf$~Bj z(6-Si6HWNjVQzGGIBCA=m8k^n||3`}TS2 z3Dr@q5W=n1Prb-rD}Oy!9K-T-3W4(R6_RODD}x=kqM4-5_rr3&qleS7k@2Sm^>l_7 z@`wTQnc0uu6dW*LO5jW@fmo8{J@49ix1wDN=8bo-eP5K8n{Fo1=Ca=Ne~A8FnYp;IiVA zJ!yBx$O4Z_Yc_lC&W($yUVruLYx~tx_^$U^yT}O`xm+WE_lZj7kpvQ=OBhBTQfDE4Se>0Bt10H zv|aoY8hX>mT2|#=j`X|K^7Hbz=r=c`-?GfN3%nWr^sL{SKA4-)6IkYlc>j9l#v6P1 z2$*Kx{TleL3D1rd2VjR#9H~(rEpSvBZd?9;0UZV6`s%6!fJ81b(%*jj?dGn#?lR|} zf4*%_PYKqJx2m#r4uU<|835q1gZ)Mnas&Y2(YxY`D;j9QVd#M;FlfBE%P+rteZ=B8 zOgfV%Pp*gMl45Xd#T8d8=C}aBc>5=uVzWVCs%{Sk)$~9vrHpgWJ-6Ork2>loL)pBvq!=*l5LL`K-+VTeAf;Gru`d1s>A=u# z5&kmoKv{3U{kEm!f^B!efB}Xw&pGFuSOEC&!w+rh0%+WS|NZ9BLk|tD57JLYS(tnw z^W1*>?QPlkOF9I2z(^#2Pb&-(Ri6ehI=qg$0ED0XI*pofZS^wQ*N^`8`93xPe0wDYRd@CWa5w^L(K8VA8$!LnM*k2kVEW?-M4RFv)XE_ znLqvMPiE(xcWwXxWVo1YB>dfW+imU7t+(FV+|a*unliEdWH-7uWW^Od713-LL&#vj;$^ z!51hL0Fdn3V1o_JS!bPP1wa|ek2&TT^XQ|GnpIa_)oi}`=5{0|q{RqvcinYYD}fyr zUA*~z z330Ew>MFDEzWbWt!-v~Wi?MP*IIY!p`MdZM7G3PM*Iwq@Yp=EW_po8Z%$|GhX|B2E zn$Ws~*OQWv|7+hFdBD+pgX+=gJ35( z`|PvrD9%I})~{bbbH*8G*jzcxcu69-SW$2(#ez_>KSCcUC!wP+R~&`^%if(o5UTRgo!x01oGV^2sM= z@x_s_i`G?48WFU(51?{yuXi|g3m~7yEP3D5DF7XsJeu4dJL#m8%?Pkt&>g^2wncl0TAGkOqi7|NQf2#E2120D$ki z@4mYQA`B2=0+JEb1px4uh=vu9Pe1*%K35Sn2f!T2MHgLU(;OxsH{Ep8Q~#;NLP>t tV`CD2kg~8}fKj>K<^iDHPoNt0|36nsG5v&j%m@Gg002ovPDHLkV1mO*+Ry+1 literal 0 Hc-jL100001 diff --git a/test/fixtures/plugin.legend/title/left-center-center.png b/test/fixtures/plugin.legend/title/left-center-center.png index cbcdb6593d35b1f36d6e00aa42bb2a960072a24a..7ffd400944999943943f914c134114498ae3109e 100644 GIT binary patch literal 3467 zc-rk(YdBSD8-CZa(sFE>$RV^b|~~c4ichWnj8|JsDx~?lO{RDAU5Xhy5`6H`+k4l)sJ

ss&g-p~8K_x;?@yHZ%5 zE=uxR@&EuOH&=!?00{W<;Ii-)z`eW+e)o1`IBequeasI|J~6wb_9f5DYW!JSw)57@ zZp@SmDVFBR-po`B-@c;{6qzPMW3EYWlb|bEA?YrQ!8C6?p=BL;p)M&s_j`JG(}l>~ z*5UWBbFJnYZ%qa@TiyTbO7pei$$f*RFQ;Q(j@_6X9PM25PzfbC?&lwWlqf1AIF7RA zXg%2g zfLT~tT4osb<>uxF^w)7^_d2olaS6AVMx`X5txXh7VMZRntH9Q+!vFT}7OzU};hBrW zkF2QCgnlowCk*2*7L`SaLwUR%5Fx{k+1%lNUHS3M-0&MGuwor%YLI>o>=#$BoE&!DqK3zQ7_{a94xMT^T+W_{+}N{xED;M#ilNsJ2E&K zXGC4Npm%t7I@-HPDBSdAu-S;K;-`Csr-)13XjuwHrKQo5_pL?s0aveHt^dP*8eQZ# z^?I^q)-G0RT;!RbVdi_SuFx&Bu&Bu8&c05g)=QfeO1U`(&1~KZT;c!`mfusbn1~qX z&d)dISlv7_ImA$nj*hmB=(a77ovjG(x~qanZkX6Q>&a!Sh*H(eB)v8KdiP|G!Ya+R z`#Qe$y&kj)Bn50f){sDHB8e|&1om;BL5{yv&(3o7v(|sY6Kg550OOW(tb@?-*A?5% z11r7_u8uj?(ea(8hDJJE`;#kvw|KJY?;elrNYaM~_VCAvcg=z)on;Zi^77Aov5dy> z%%P#KQ$s`h*B>0rZp>T1b%Tw~&Ua1uTuGe@#=3kaG}~5AVnlI94@E`Qoz$@jZ7$d- zj*}@FKiI<)FJc|Vlyz;hM_%2JyMM*M%u`ECiy#Y@)`X~~lKauR46O*6U2a(&o1myt z^UQBKu(hFD)Z(F9%5l-^U}rwrh7n}j=zp}an}!s)`PMxeXKV%tLub)b2bw>M)BLNq z{kNb!*a$yaYS6j1?YDUs#+*$>2hSyA?8irY2TelLNiD=<@u`uWy%Sz4a>3#VT;v!& zPTztxsE{>`H94OS*h_yNHK0z5ra}l~7huJZ@Qd12Xe+81htq(*Yr+x_6=Poz%#d8K zGm>s)TuQ~!cj?PYDS(&e0%oJ_7yDIbZ*gFFd`8%`5kAQod z|K?O&Sc|LLn&rpqPK#%CMNiMIdpkAScQfWQ*RSfQ(kp?LOOS0yUgZ)#S&k+j{uDf? z&zhp&7)cOu6a>sRu~;CTY&c`~S(9u`dFJ2$*m&+Pih}H@GD-ZB4YgYxX%%wn$T)AWiHubKR~hk;K}c%r9;z7U(IfC zqV0l0=#Lsu`gc&eGsu(IjyyUp8*d6>KoRPTWLG-E*ta;fH9o{MqnpM;;<*@mVq4FM z&3x}f&x3?z!~tD$fqzY)ywmvrB->W)Zq!g19fS@lA*#EwGz(Gm%UrV^ONYEw(QBB6 zg#|5ZRq)vtFMQq)47gfKG|4SKIqOaJdYE9{{;u@v!S@?3IPoRY&to_DJ~zc!^)EPr zhXluvnj98Ck<@1jtE+?VM2OAR%>zh~K$SR@pKfQqQ%doiEAFL~yhu3WkDo>F!sX&Vp& zsep~=27RydTB-2P9Uor0TI5w_Oh@kYjDnpTp1u9}~HFI{szXsBu@Z zNJ?0oG%P%xVgPF*X``A3;?ebHwC(`mYCzF92o-RW%m*mTh3SB|!zMo%x~Yg@EvG=+ zDQ^Nj2wS_2UyBLW2Ag|yp=u%p8@kBTCrTcPMsZTdWPu(V-Wp0W)$$#`!hD7K|AZN_ ZM|bQuzxv>)Km5r8Zks$A*BseL{{~_FMlS#W literal 3451 zc-rk(`!`hm8vo92(>4azEGKW{`DfA~j~9>(80xNNicVeOx|8JLv9R%?348aVukTedmn56_HD zrCfuSD%5rT`Ud|LS!uI%+{{8g_nb|9gr2d=2M5LV)g~54J6g}{syQ6JFcf7?sV%Wu z%5Q(07oPp`J=@l-ey;r0-Ll9v?1>8Mz+CLOEn6I&!b|{guTp8aja9-{0G$PUAjHxD z0~(31K9Ol)9KagNG?3aDatc8~G=NfNP|!4FW(|{p4InhZWNdh9wI+mMniv)YA-wP( zm*ojCPoBoxOn?V1W1SKK#8`uYdkaEEer!?K(>(){E*3(g#2VS7YJ}dpGy5j{o){X^^Tj;_ z;*t8#&hhaNQ8GxD;e696Fvj}(`-h$u?U{xPyp5$Ulg(=F$-zu<1s4l zeACs{ToW@RT$uavAbi*fHlebg7Fp_$xxlx4kB)*i)qTIixqYnW`=PH5s!z`uLCgo) zm#wI9p$d&vD-q3n6zV_Y_XJW5|0~eY8o2v$)NTLAr(Eh{MY2blO&dX1mwr>KW=4)#h^w=6;&^Yh zcdCZfSwNzw-)VBj|M9ux`r6un=<#kH_WZbLSsfdxT+y@;$5UC$oEm(3u6ucD@lfC6 zC_zUD20rxYSev@zPQvDdO2SOBTi8jwb}FCcs6l#oWxXZfl~pRs+wA6)h*{xvR|eA*Z9Lt zX(Mg97J}~X?AYGlApU{eb)l)a^TUb?7dkyH_Q#Zce=XZ^=Hn}8FzTCiVFtx>t54=j zrjHa~x{=`++;T5YVQ{o9H$wa)+^;USx_p1_-nVxHlEI&#Js^22dK(9oHe$pzPMRE9ID5^8vk^*K3WP5NdXH+a7^ySeLc4-rB~apkNTG72 zf|eLdngK@LYbL#ZgZ!iz(>{aK)whN~dZz{KnH_LAorqVJhtyq0Se4sOq)LevA7AfZ z7whNBz51}S(s1=OsbJmhR*ft&Qy){eIKh8+FL0#e_pK4j;uyb*qpDD8@UbfT0o;+d z`2FjlX<@ThU?8QZ^5k`#dlYLZH%;(y;AMdpJD5aSv|3ejHEM|Js5j^fUS8Xj;hd)R zjZ|<%y=_a*PlTn#?}z5c-<$q((%ZUt^Jfgqq!ATN_C4=)-)AxEcjC!gPU{6)*B#F?2H}Hh` zlNPi~kp^}R4Y!l;?*N4E_OwZzzZ(gVg8L;<f_O~;99%_oY@+>wF>slu~i|Dl8dGuSSlsdhNic8`26&}QLY1kGEH{POmW zP^DmU@&qntDdy(p#W{8hFw zwQP+vH8n#=?`3ZKo`Ay%{K2Rc*?5^r`hg4kRc}rLd9*c0Id!F*S^TVy0ELb8(?=l_ z3ijfK(`pTk%ua2&7f(ReUAgZYhy*q0$gyJ?`T1I~XXc$l^8bL0VdiA7)#tIXt5cnf zwzjqh2O2L-Ed*NI*t~ANC!Om+PD-KOkYxznKt>6qKq9TRTTvA~al<{wR9|$Q*WT{& zvzN`{kLPqMz;BS^YT!hqO>iRD&A#^LGzLk@%;N2(pdJS-gI!?hl diff --git a/test/fixtures/plugin.legend/title/left-end-end.png b/test/fixtures/plugin.legend/title/left-end-end.png index 85c33c674ac20545afad44d57fca101e94432fec..a60610ab5009b914322f7745dbb64813861715e3 100644 GIT binary patch literal 3005 zc-rk&dpMM7AAaUF@s7U9J2_Rz#HN@s+OMTy)JquTv>MSmq(#H$bBGF&nF;x1lN{Ss zOl5{vl8C~X(O!sgTG`53a?Ck$SYqFH|M>pf>)QYO4-~$v*?Y=2$B;6K1%_RIib*lmCvoIVz8Jb?%MTBZL~K z0ecwkS18uM?DP|&Xl_J`QSy)_-Y+dCDI|P zlJ97p{+IlPB2NCKWJ$O&+PN_~(RH*z4uWHM>nU6aiP7Ys8elg{*26)tYW1%qGEn;h zzJM>_3-}X^T?1!WESAjn(Y7{+AQxgv>cq4Xw=eA{P~k+cY>q*THU+OPPNjUfb2PsC z*s610t0*}VL@2z{&B#ED@UtH$UN5};CBD>0l9AHhBV2sOkP#VvV)+t0{SrsJK9Jie zI5*+NZ;aXN^j;BrgB?BJ`blsq{C86m1l`FmO&oz2EWpc`FH7R()O8zd?d>zeR!945 zsq4bog&D#?bC$vQ+`IbWkCWZy)WVY`XQunif?U3Frc#FOcn18P>gqYd&{4aF$f&5Q zs<~DXSJ`yAbG&xAPsGmAb+1UPj#^2{*zcP0s_0ZsOSW;=i6ReoH|HRiVGrw7|0FcX z+PzBl(X7G6-VJ+OTYl(h3%@+5Uob4m%zNVhTHsn9$k${fA!z9BQpXrPOy(b4`s(fC zRQF3sCRGxT)Y{J_pPuOxj{ka(fp7EF-v65_4!XIAGdQ=NXP?s;kIb{Hjc<(+3r61i z@Ouagf{tTz$iPrT>Uh@^|KU(TIq|?!ZYSL`OFzKcC~W$i9C=BryZZXN-MSD$*%tn;VK#zngG8DoE$zrTwk{$~NTt%K1Z9+ZWi?vZBd>k9!}&+SMcO%PX3E=Gw}9 zJg7jjjLXbSerk1S{CQ6^uyGUJ?|l? z7No7;=yYM*YZsC^O^(I4?GQ4EU!6AlHXuX~Zwm7c)tx#UUX+lKkTRGczo-5F@x1oB zYbt8vEInaJq1rCQ6e#PuS$cVS4HK)AYi4JIyF_eu#2QMKx{!OnjD|qF@D9n8B$?&+ zzZEP@c9tBZ(M~?!S1rc@((M%IF4AYcXSO_`J0q~?>5Z$JQp!sJ=4le2G;_DYyEr+Q z%x^{lsi{m#>n#+=$EBQIv zcaRhQQ7NTDACJ7a0&w2)ao5OgbR6WH{Y;Vcw+vSYn*G{y{+SDjYXLJ!oO_VL);M#- zHyc&M9nuM&U%>?K*3Yku-sbzZo;xc4@$3M1QIgKG!`fgN!SsY)RK=CO-hqRHnFFsH zS#K8!v0KHdd+gggI+$H0EPKOCzn`<}KgwA=<|{Krf_HNwm!|pWCtjs9@H*?phKAN) z>U?YCb_7!f_lo>CI1kq)Z8Mvvt?$G&7ZQ}-zF#1!)TC}*(wOoLOIZ~0=JAKkv3KNrSGT2WyF*dc( z)FLG*Sases@nu_@PO!4$QX)YO!lWe_A7oS`^B%q=c1K1ip# z`K)s}VSIQ9VtSGCM@^NWXL5%Klv9X|lW4yLOb%tfGJIZtx$S-vqDOGIcU0ycx@CIu3GSD1chx?vI8R=F`Lk#h_>|nM_utvD4^B* z1=%9`njEdgdFR*p=dnpyE_mu*J@MDzR%So`q&X{vc?5Ps@Io5EEgW?5+T{=jaLhYH e^nc2T+2BB$iEfm`^Fi!e4y?@W%pRJ0Uj74xz&f=6 literal 2991 zc-rk&`#+Rv8-M2UXr3W?W++QJjBR8SHd-1Ck8vnx$yp9<%9+CJ(8xSP%iAi+YsqQG zw#ep?M18QC=|GCGyi{VdpHgTHk@J{&ANvoy|3E+7pZoK@uJ3)__w~KLKirqxU5_Zp zsmTEVpx|)S)&l?tz}AAd;oFJ$nlk_(pX6X`?U@oZJI)CA3Q+6%ymO%V$3K!N2cBGI zk|8TIedRkQ8D1sGPCIjQ=B{*QHIIl>-|A92nK3SLzt_P2`)_EQjOHHib-s3T?qHF# z{R_*zEM80BhJ5!@yans_iqzsGZ?Uz{eIXM7Pm;F(R6aHVYvsWx34xt40L+d{gkY5T z6?_F>!B_APXi^afg~I64g9-`?r~4~jtf`xuaD+W>z#aL>^(2z=cUXJ!+=yrH9{R#@ zvz$OnsiTO{9Ps^-{!)|-u1Ypp>tCjikKT(3a7hpaZH)bv*=ZmRgrK}+>-vU3&<>th zU-~pX*;6$A_v38oVkui>y7{O_MJ@vv)xY*zk&_mS;OyqsufaIqtYg7o1iqc+u~qo% z8;^R}I#}}DUsX5Vcq32gXD3kq`?2F=4=xE+3jz%F`pePfNli^n-h<@1pcm)T(*Ef9 z+|TFuFjvPXhnFnV#n&57wB~nQ*eLX_^Sx#gJ9fQ~XT=+72nRx|N%e$~v z>qFQjv7cL#-mI=3{7GJAaARd|==m>tL-?bI%FUAp@0@xHSB#1L*NhODis6y!m$!po zDpGIpW~h%Pn;S#_+2;m_s5-t!CMh^!=Ch>8FnA^#S!AbMly!5hTbG&^#z>*TlF1bK zEUr}IyRIwibj+*PyXweQjVk?sdzItu$?e2EmQDR_uPwO-ezlqY{O;-WaIH_o%Z5Pd ziY3-*z?O(p&5}hYM%$C){O_J|X=6*%&C%)kc@L+;VdQ zIB$uKnMYpGr)U9S_?@5~<>nlrY@Rv#$)+L{gxurLkK_s{Bt$?Vw3&f4B`qv}=x!2J zcoYK);elbYZZSY8DC4$#+h_|yjkZ`rF8U0DE8c&pQ|Hhq;o2C#vOv=IWHIqyOYG_b z$q&-doESY(y&%x;odta>Z{^`Q%%h}BxE{A8;x!w9_TngaQ-@MwA z=(dr+%L;U!ED+4fIRoP=eX5Jv1GT`<;_nA;=P98F zZ)IeZe=FvpY0RkS_ab5H8MSt4`R|tZF&0pt_|%$+ZJAj}$8uB*tDil4rn9Js_S&NpAEA;l;DZ&>UAUX` zVXyni`Tba_3@D}HJ;i?*S!@t+WxDCEQJ*qULvZRxh7;q6TRW&E@Hp3=J`I(?f~OoO zx7X|BRasmiK#>4#D*y=F!yCJp6(j-}&V0tV4#B^(0&H8<0jLC*LZ?8y`~Q$u6{B^n V4Pq6aQ}B;C;9%!!+rSLT_#e#;I!yoo diff --git a/test/fixtures/plugin.legend/title/right-center-center.png b/test/fixtures/plugin.legend/title/right-center-center.png index 794aea86cdfd9941eef8584df3207a1281b00c26..9900784a4b3cfbc976d0f5b5ca5d88a835848378 100644 GIT binary patch literal 3369 zc-rk(do)yQ8-Mq`7xpdr`PD!L(N=ULt&=IEm0Bpf0XqC{otb2632+0K98f8U?qw^nyBt?dSPDzu$VZ zJl(gbDeEW$0Ms}xY;OP{u&_`H`3j1y+zWuJl*4xLNeFp+acAb4MD5lR(SWMiwlm>Y z=|2hbnO0u+6un$Iw3iVsk131=+5w_VXMwY~E8;>>yDh^sly4NEZumn&mf)OvI;mcu^So$s9|7E)5 zNQ9!Kq||yOEw?1t*Vk7zRV`J_M(&98`5XZ4>k2!7n$TqhKyPD0j<0ppv&JYt+oxZh zO71KrVkM>;yj&E4j(witP$(2ZX{mnFzE9U~9gAZ;{kn4b3W$+{G2C!;`17Aru~WTf zc1LF>QsmJT#p}JdMS|J;0&Uij=2F=XQ zw*C86NA(LUYirJd0|!1umPuzPly?%eRMu6*wY+Qic7{gvN7r)ikE1I-!y1m-ujSH4 zan$pNqTQ`yE$J%j4h}M3zj>3t?Sjn%0q1;+NI4~WNfYbpNVgW!VkD8Kbf(PAdlWPE z2gFewY_ILxS61)+J+H0MqV4Iw_S3*h3e<*tz$AG_TgToFHS`;?Yty%$jGO9xaQBoJ zjTo0+QG*jvJZQQ(W!}CaP5bDVV|HG$rAJ3p7{-{(KUsQkUv13g;tlcc_Qzy+Pft(R zz`&aG-+2^-cmEti$(bB}?5~5Qf)?v9FIvxykGB+0;(&rn~U zcV&BpYhd7o$f0^)bzLR_y0q!_WN?g?@LpU~^RU1ya8K*m-sM^g^Gn);yy5ZfeR2q@Ph!a!)5?Bzzd-)SQa$^G$eEY}Yk7SR6`k`mxB8 z@VS?7pKXBM0!vJH;Iq@u3$-jlT#}QMKlc29@+)ITYOl~TLx7o?SyxYw5jjA){=$$4 zZ~CigtcdNdo6;A4ag+0yu*L6lox(Y-To ztvg~}xRt7n%n@OacY;avM7G5WX(g;*IQnIJY(@ zE4MT=A5H6?BD-J~RF+m^VJp{RkZqvB_oz}1>jmVchh!TPAY0HT(&rWfn4yP_JMdj# zlhIZ)vBchsxFNK2YVx8@e&zXGr`1X8vg-6?s&^C-nr(ULXBY89l z+4Imj*?aH6z%?Wl3M|7O;h_8SmY5}|;Y#Ae1!82ILye-C5%345z%x|5zOU1uE`C}s z46Jp-t*<+$wqiyQl&m?Ql40j7Eiyoq>4^AvUbn5~55NGO-f zI;(4Epr)oqvY9H_>07J~X)^qD7r`_d*C{8nrOXE%+XkSqZTT-8a03{{%dVR&h7(EMPNa_~V40Z!&NMM~ zO=mqrFxE4+U5F`?H?+96>lSeIMDc={@<)wS!-h2s_pfWWMgm+khGs&#C>mHj|cnDNklm>>oA53 zeiTa6O6jA_4K>8~S4kXD%f0RBzzN^E`YIWZq98CtPcKYTrBGNXm&=7sI;Wq*r$bE> zsP|$5`JzQQ y0o?AeXxL*?c@NiCuSVQR6yM-{gY!QIN79_|-9huaV(As~3IsUL?(8Z@Zt7oR-vUek literal 3337 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 OFxcs!&AUqg0K^BE+W@HKIIK&nKSsG+9FU}}N zx^cQ$f}=>3LBR!Z8W)6+MD@1>$tBP2lJ~rC5aAJw{0*I78ssh)pJnM8u}~V-KYE*eoeZS~qXbGtw_>1a zEH@88uL0bIptOfsFAZqm8;n*AAcW6wf{|zq6fvaXvS}|L9K-=`G>lLq8ply8u1BNp z!@=oxV^avOfsoVMR4h?>%>o1VIJOgl(H*Q51SPb-Hu>7*Ym@)WCVE?UI+N>Zvjy({ zDzz6~qCxP2JKm9pUDCGx7VmqIApKe2)TuVQHtI&FTYfk=9+h)g?!xs0EYT^O&8}J7 z!tcjb&gkncXWT2PPZLkh%H7TJjv!yc-mn5moSTqLFDYk|)T(8*@|oLwzN)WFWQ0Jq zC!xGO{~~5*XFm)#=N!}O>gt+%p;9_1ZizUViymm9}+S6J0iEU8nfu_MK)HG(rQL* z=M|ezN7F#!cfszJD-2=n6xPTL42WwPaYLp zXndUD$StQ5pFj4sxAPg3^;Ah%DnCX(C>(oP=7Wf*RHjiY30Nve-E|{qF7lj`H8;RZ zY#gx=vtfTTJl`^?=$N!hBGUNt-9ug{r)2KEwMRpG>yj-Y+eg`}jDrMg2(HGew&tAG z?YYK`wmeg3mHZ?S267f>k1~_r?duh0rv2sK_kXI(oR4Q_%(9uMmK>qS3<~Z|j&(}$ z_DParq-EExT?h0xxh(YU2JbiNe@M+Rs`-VOo0Lx8E-NcLBCU!%GS*gzh{r#hMz}!L zn&(OZct%21m)-l8gkuQ-Sac%dLUDAwzheWpm87aQY!n!*H-X^wCgJ=av6Za1R!KNY zAz`89-SPJpC=gVjFk)he7KxwMlb$UW;&d1hFPt}#1#O+;A82E7rvG65xl|oXA7jmk z>ZFD|H2N+(o3)+G@}o;i?X#AJ1qYUuA9KN*;7f<&c5#^y#X(8)r>X-va651!FQ&198?nO824@IV^YKixs9 zRW?Sf$Q8SxoxWDkHK&t9%xhEeGyhxdWITPn*kk1>4_kSP-+=p8{N$kekRXAj?;`RS zX`oT}$8*iai+l}3;#$V%0MyzS2NVs`Pf83365qD&?$F*}V}qF4iz$(n^`NPJUG{#& z$pX)u|5TVd*&~soq08ARDFtAi9W+$1Pp})V7}R{Is&um*J>HaWY?H}Coap#@{DG$Y z*s4Zm0cNQw`@6e`)cS{^l`<2j)bCzgn(RcUobkpq8RaVCG~+3dRqn z*Ag}$UR`L}^1}rzwp3>y82ILvr+<)Oj-j=<=Ub#^_V5YbfW?1DhRu7^UzU;*P`UJ| zwjdjQ1cq?&#fx-@gh6Wwr#hnUKx=Dj+tgHz546$2VO6&+2?v&1zInq2x}@)P!t0u= zk4B_xii?YB`1Lz46t;OJn8A@sEA8h(t0|Kh5fazmV-l>PT^j{N^Dm#Oi?^Xj6 z@P3%xf88WF7bQcw%lb0XU5_Lsy^@22ww^hQ$!N+54@+KCLCshzdrx^LdJ_m=(dq9P zG_iyIJ&0Ux5mKh>E+|17Odgg9ncpMSaWCQvG;2PZf;f>pIYm^l(OGj02vMdfSD&;5 zeZJL3Scpb7=sjj?mxQ>#&>enz#;&PH+l8kgZ#~cyG diff --git a/test/fixtures/plugin.legend/title/right-start-start.png b/test/fixtures/plugin.legend/title/right-start-start.png index bd49b4b80514b780aaad042ad5133ee2781c5bd2..89c5286ef37f14cc84c17290a57b8777cad5edcb 100644 GIT binary patch literal 3339 zc-rk(=U0Tiv`t<<=6)q`E+N9y>uvzSGLK0SNKzwU54cP z@Wm-brvsFZ7%&Q1N#qwfW42g$GqhXYn5aefXtoCBe~3Pint!KFT952F+$QA3%ID%- zA8(q{^pdd35S1$f^bmiqqFsW1m6|sLi46Y!u`yW;2GfYl*gD5Xqfqcu8bh~V)CY!q z`&6PIb+B)<%9AnADOq+v(GHu!zY~_mYBXp2D18|4=E}u5>^;PUpleEe7}(C%zod1%628ros(xFoDK!iLPO#!xasoT=Z{eq<2 zSa!|AXReas<-_fd6rgol{NBt(EnU!rduP(4QDCI#BMyA7<>h$7H%VN1BvtjTR#cX} z#DfnG)^TqnitVmWme~%K-jJ5ny_@kV8MiOR^uY{tNTR*v!S2dO z#kyHv0sQW+pWS={c0w&H(~OCU@$~jS*A&Th!Elwqd#7wy+$QA3qrl*2g>9Z!w*Q(E zYiTmj9-(Brm-zP15Z#{Q-sssHKU{eWjnKO2DV*C2OEX7qegW)_nSX6}wl1h*WG&@A za+`$ZFL(chor@dDdV*C2K2E{fkrIbfrOa80e1;mYOF(r`-gnBxi|%H=?wfbFVo7zN znNLSvbop#Q4Iuhy8gu4MR}#?r-^kBWct^Z0GSHo}HCPTBAPFF(`GfVU8k5dMk~a5f zH8H%ElPC2Vb0!gPb%Yt^OP8goUq81jR7rOnP3b z5#s_weaW5>i_6(vXRl8?)d&0E{Zd=;bD%(v|A_as<>~s$c!OmFvWSCt=~#9F z$T|ECitu;^{-TN6X5V{ znp0f|FGc7o9K{FA(-nVBF*OayKJwO4bHPzR!W~tFGmwX51Vn+1P=bTl{A)PO{#SdS zV$ETmc}u=M(oh`>f?b|(&M4Y0(U}i-A?mWV5WS^<6gJ4uEy5DtkQ<@&;-?Wib+ z=x!B0J-@#;!7pcVszr3<6x7eI89^ib*w8hKexRamz=WKVlF~XHU;W5^;@!z6#?Ey8 z4!K#WXA;M>g&V|Dv#rR6;<>Xl5;)zK4D!gJd^R literal 3274 zc-rk(`!|%^8{hBi9bS@VL~etL4$3$#lS%^G+_sxV2C! zX^PUxttn+r!YH|%gyI~en1~X&B$skKukZQc`~4%@Ywfl7TF^J#0p<9i8b{Ky>J4loS?ZcILdwDP@W*c_ z?@iG{8Jg{_oEBbq8qXzbn7v*L*9Kr$^PkKHgM7hXQQ zc}G>|3+D8pXZ`n`_9hfadhBHUrnPx<^JPIjDRvQ4HBu?3G0R-v zqlm4_%CSw@amDJUS;Kep3zNOx*4k11`equ?-OvwB;bYP*r9K;6QoqH>t*D(GYL~|% z9bY&TXZCR{V9t%8FT8ni+N5=7p;}$MgD{ZafMVm#Ae?k}t&F5ieeP15_|W{p z5@YArRg*rtVP!BEWzyiEmJz{EtkehkE!P3mvYOJ5QrwC`l`NGTR!HWj5Kt^do(AB4 z1tREgO3Bo35#es;tK}F%ZwMB?=@f+^8&^@lMuYbN%`j$w3_9H-g;571jJjB|#G7L0 z=zJdDK^K9k~%+Qw=1&xfgF5%zf{%7MA0^OXx+|7lkzSQsn1S8G6ELunCc zsm>h2NH32I?UFBrg@$?y>BqQ>iRYSmQPYONLRZ=Rc;;$iQX@q0qWY?$!exPHS@F61taZ6UTRua0W%Yc4pk#t2ym-2?jh!m`ZQ+K z)^}G%Y4ub_3FzFB-506!uwiw`tmvV|i*@ibISJ0%q3Sb)aXidABy6->TcBo|^6uRM zn9)gUb1~-k%1Ha_QcnytUiy@tIPl_%+Wh?dU!b7bB+DZ=Z{NRAI?B00Zyx<->{Au3 zz5N0;VPxd1Kn9k!m%*y7?zsKq(2(Hz_3P>y8VM!7RUWKGd2CReIk=Cct_23|Ku=~& z+ujK;`@EpRm6ar;D93jX{M+xaOnpQL9RfP<#ev%=DCF1MaYo+1>5PTO`k!C?lrCsB zvD0Ge`sM_lU7CFi?L$p%CK7BPbRxrJ2AqoMf5{-;&ajhF1d7Hs66F2f>uH zYwyNq6U6I+n_3V2indWDd-(pc17qm>rCn%_lK)oW5q@upLU#AWwLs5e?{5i-?cjK~ z9l0``-@8Z_7YsF@J@p9G&uBqza|?O=%XsBo=F@Cp+OiHrGCMumH{Mq#Iyv~NLww@U z;imOicA1X<^DPnsptC7beYCqma57W+^|a*EUj_0QIZWNZo{igHsq&A$xU9NN?dPOi zr_|b;+b^P6VVRELzX#c-@GUjMAJlLqFM(wSg`)wCJ&Tj9gSy8Qg|XW8np&!N<*|#V zzK$#wi^?uFYRa+G`p|S$A85X1XFo=kZu91}uH^pFX1yr8sP7w!eJV7cUog=J&K>+h zk^8@PIqAauYyrrka{~+amtVkneN<#~YAx)oD$dv@az&04rFSHj!Vo4xtY=_c_=p*D z0b}gK^|R|swi;g%r(H2#qD=I2#(m2B)=mX1q@nH5&#C>rEPN>Dmq~3t>)OGo;m#9%waI&{qN7f)Vu1g} z!F$;GO)9_4ImL{7VS3a0f}Df6n1m%ICEq)*fvn!EPY0<;;tC9Zyqbn|!-Atw=s;sa zYd)*)?;@{5T@QbqLpdUcV>euvh_^dRUa8W4j%9BIvA(#=H zs|ewekQ_+-ieW|!a4tAwwUojDHZJFN@R%qdrC1Psl{~#nhNCvhnj*Fr9;eQmc&B4{a J_&=O8{{RWIuVw%M -- 2.47.2