From 1f88204675a637bcb42d73bbadae9b69fa1bdeb8 Mon Sep 17 00:00:00 2001 From: nkwn <148709510+phthtgvi@users.noreply.github.com> Date: Sat, 6 Jan 2024 21:26:07 +0700 Subject: [PATCH 1/2] Add ViewBox diagram --- diagrams/All.png | Bin 550311 -> 554243 bytes diagrams/All.puml | 26 +++++++++++--- diagrams/ViewBox.png | Bin 0 -> 102787 bytes diagrams/ViewBox.puml | 82 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 diagrams/ViewBox.png create mode 100644 diagrams/ViewBox.puml diff --git a/diagrams/All.png b/diagrams/All.png index ba30aa61b96e410550fbe7a1a04c45ab94f6bfaa..2c7177feae96fc48f5535a77a2af91997d7204eb 100644 GIT binary patch literal 554243 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%0DTrBQQIEx05?ys0ut_o-~iHsE=? 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%0Al)EcoWJ1ZdC<#3NeP_VJ#l@=2f zg^9z9goH{>c2o~1%fI7gA*vs6ya=y}FZ6Jst>Za#(aO?N%k)zojPx$M7Eub-Vh2EN zMMa+6vz#3D@XC{n-6y4`9U(l5LedWQ^nCppx01Iu?WRLUqb8(~2;aA)5BhyWU40Z@ zLBtgd)$jcmY81;f<43Vi^a#knAX@w{(%w6s%l_{lR-Nsgj0lw|BP3F0AzL!DLXsH~ zWn?roCD~+ERzk8uRzp_y%qBaPJu>g-fjT?Sv%dH5ci-PXu79rUdp&Y|j^q7)y`Iyk zN;Oe`{gmaVrBqwi7j=kJVf{?)Z4qu3Lf}8N$+LMvvpX3lrOb}4B$;{Y6!MFD6F8-RrOuQ5Lfl;mGx0o<<8gbtoE9!}^jD=WkN8|;w~ACKB<-j>c=Xekn^ad8mH z=E9N@SJ|sN1wnY{AYclcVG; zEf2`iKnwi*wkFl;jT>u?llhPD>3}ep7%zi&5mW#<>jSZ(@|v21P)dMWC^sFl?U4`c zK!8>dpY>h&(1MeG>)SQJpbX=#H{=j*Ox<%z7d8$Mi05ikuPXuAag|!dT=eX%o8)O> zXVBU!CX1s8em=~}^a}C)6O|Wo8Dwtm^XSfrc2o3DkVJEpd!8;oG}+Pmjq}Oi@Lp1`?A?WOpyx z7{gKrKPHq;uU^&H*808&rsN5sVwsa$6(Mwmb5AaamqFlJW+FW8xxa}i3uELACWEb{?pqImZF;+!9*e}dY(NUO$75U zYo%X`jgPm0gX{6*$Do8V5NA?$^uEQ)8*0iE`I)d6#hd3K>2bq`hhR`aj4<< zWGlWPk6JSgVzC5tWx{eh2rcYRn74M@{?Iq1JNA5ASy%BXo}w&EA@rB z%F67I0e(Mb^pPOUPxvZ`S#91TIfYh>_9&o_!1KWwLxu#CFaUyh8%M`1@He0?)Ozm~ zJfpf93C0DK7W4yYw#fp z;pf6n^QsuaAZUnMW_lyFargL0$pP7Xc#1)c8!7Sc4VtF?UbiV%#ByjRY3$Sc8Gc>- z3__1^(N=a&gsADz*fi{>avSMi!Eqt+*}$34?jf7n_a`MMH#yDCV5yGU)ZaU^cG&`6 z_D(r_>ky2~a`5N1M1P-S$bNEwG`17g73Wrb)UcK~>x4+Qyan9^>;&;J*b9BF($=FB z@$vf=Ey);MUwKVTeZI{^P=gr-lie`0yK9TT>gJV+(y})Wq)Nm!MpHfs5`3n1s;uPpeVLGNZr3%uq_NRnXZ_}pN zj%zRop?asgQrE+rxp(!Hi4rDiL=)LtW9Wc`nTvz=u_qFm22NcySMM#DGI3^Q5p~vC z00bEd&NqGk1*&+xees)1O~$f?UpsYP*VB08+ly%zwG5j-%Y$w>IcWPMJ=C4$JPL}rnzu$y4|K|t#~pY-|o8e1rK2JyR^;r;;o zuKPTs@%vpiK|!s__n%R(gMLRH)7jZrU`yV#rbgAZWn~=5j6s=)4^%OS?MC);3j*T* zEXS^9OotHW(o(rYl5+hN&A$%yS?aOPa0+N>P%kXlj$K9DjOh-UUm@1(EV0nj1`CSQ z-9nE?Ix_ZI9~ZWc#|rVvg>We2MYZaG8_$S;IabQbi$+r=eEqkL=zX?T!+lf}r!D7- zw_r%_0W)Qfyu2I)5@WSb*|f91baYhJ)k$tvF=)Y-($&Q{p7P9Z@l}tBi;E0N*!?}0 z?^hnhZ{v?aa{yK7L>w3{4{Sx>tgsdB=HUVV*@7z_aR}Vp$*r?0lfqy6%^tsaF*z=dy(K)H z=9p?gwi6~$B5QU?a8aE4l|swrD*4r_N3l4_R8+{5ksQ;BHb(c0l&3{wRYC+V`HYbB!Ov)!MnK?709CJYq|}sjunOCMNgSBe4(0 z5%2}5_qeR=3`#@ZYi4_Bl#|t*O#9dP{wtDMr@i}(&Ev#>lC@EYWW;=8EGjC>3M)Up z&Z=M(838PE_I!Y!2dZ)u8lwrZlJ!$hj}2Tv%~yd@5M8oXX#npBZes!8w|0`O#1>yO z)nh=4EbU#^I|bY%F$NKt#dz9h_n*G|Ud-Fw{pheKm}^Fv_}5RhE`LqNt*g*}GJBG2 z$}bPt`zws$#?z3U8f;!pPWiaNi%TN=)ZzzA{M}cMIxlKe8L)F<&E^d{j{7nh_vQTm zI=xA_nW*Lf%mIB8+9s~}QIlL?d9_;YgYQ>6rq1hI$J~AokO~|8Pk{8irmzE2ndeD) z*AL0S#wNa@3g{d%@F5JQMdTA?t*z<$K39e;1oIYtXnr;uq==xR7i<4hq(NC3SNa&ZN$XXoJ&@3{cZi3LG3Mj4yiHBQ9o%>%5}6`dE6^Fs@>Lr&)fMzLWY_ zH$MzyGve5@=hiH#&+hDt8o%DOf{U>9l^C!oMD8GPL;{onFwOm!e@w*JgjpG2u5wc_Bn85ulBK<(rY-w%+?tw$?81NgK^7C))&%kH;hfuWg5oW6!iSInQ}*Yr6Jmde&=!%XUb zfX=4%DpELlU{Vd!XlD{^01FQ0PEPQ<9!Lw|B>hK(u3?VPGC|^TGLjd+O)2iX_qTJ1 z4x_D4>c}2@Efzf8)l=}O;Ex!oT38J@W1feV{2ny zz2YVJy?>(qpx_=v+ls7>g^IYesmTG0#PkE$IY8{eNGT;J9PBVwhx_a()lQ_YPa~)= z3bW9g?0s6skHi_y22wT3lWpC4f-ng24*?7d_Ho(T?S6FoV+&C#ev41ejjx&le*rFE z2mSa+jPOgy$jXvo7!`uTO_x5DNNf<)mmnG|kMh5tj4y&(HV4eY_{E$5;BnpY#P zxPCR474~MGkBV#^;l53X;=#-HAS7fC*>JaeuSWipbnP^rOb%)AN`_v#(zj` zSgY1(-aXdyx~Ip`amRNMV1D?zN*PTTz-`_`hroU4L-h$rSeWkHr}r*+MeTV61ezKe z0&X(fCr1um?b5ujXJAknyRGH&!sKkrmRA)xzPIH6FY!%ui-Q6U2(yKEfoep99y#4VAW zz3}VN`qLa!-h$X9q)ZWRY}~}80AlY_3;I1sp8m7hiWd0y@61**m1a;y!#{;~* zz~4iwmb<#7MI99w|Jopak{@yw=u~VTXN)9amxE9gFJF608A93ORHA!d|A4uv==O?k zWkUibV0dBf z%2kU~&nB=Ivlx)PDVL|7Bmi0-dyX-;wLZSFKbiJ-Z{K1AoOrGh-N{{p&2|p2ge@>e z3zX=@>{HTDY(fLp_1Z$TJ-6bc@f!0w2sA)7fQyF*vgl#2BmbCyC$0kL!L2`igqC6# zeFrs$Nfro&zf}*{A1FntMzS4aS zqY8y9nZD2w9P;N*OtasI&SqW4NUL=wRv}7kECE79SRxN4t4TdA(oY8xMvRfwE>tm} z>r?$Mi}u%kcd~x!_vy_)=VD=z@V3DXIQC6gl0)tYi9|h6{|6X8RDN_84p00LGp-hku8~jJgmzW4?E<$_r>8TmzI(O z4=5n|e7f(dS6bgQ58DNP{WHVX5k(F4s^$ebV=`9@L4;bC3Z&S7zo6A^s##>JX%zc_ z*J*b8`bNS0`do%DfE8l)ZU0zZ9d3S{R(^ux`n=3>nH-@Xb`_&{^`rlnCV{1BUz1YH zn#oT6>+lSKtsxZ**GVuqd$tp2k7|S7%80*hVVb8^$Q)(x7`CH4ga;jM#yH_`&XBEI zf{#moh#rk59OsBHg%EP;=ycj6Gnm0N|757Dg=&7uzu#qav&F#Y7WA95>(bP1f%04zaUEyVM zT~Pw!0rVy$!cv%z+`VE&Fcw_GH4%c?Pxvn)`s;?}kc5p*Dn3pN-koyzdCCtsM}pN{ zkQi73(Q>8X8^d7(Zv^Ccd1PG&ckR-}qNrPCSVE@%Zo&uiJU^5LRQERVe3SI`J8Y?c z;R0s^_qQF@@MVQ=xweMD#}xcFonE)%`kQy}LK6}^Hn`6wFS$=RMxo>9xOWN>5D>x; z2?o8~yPt>Ogn6u~N!a$yYro1{(!Wl?VFAM_Vl11$g0b0Y_4nhHZ-?MmEH+_jh+235Hzw;rxr^X-M(gC`fS{lo13R(snk2K7UT=ty|^HvD`+ z;29i3MxBf^t(`lboG#PBJNu_!fQX_a^fP;33qU-H$N#wXONh{ep{=H!&%XQre}InN zJ%yu4<+kx0GP)Z&hz$ZdZpprsg-#<<4F<7tVH6}A%wu;BB3JNDAk=I?s(97 zuq@DCC^pl^LdXqdAcQXP>jbdn&AnRM_qu_x+~(eg+75l?w!A8Op`E#B41W<(Hdkuo zh>2_=-uo}>2Zgn6kTqS|qLq-_ubHMpw>MB+!n7{oM$PUD3Gi=->w*OpWM-}t$Fq$^ zhihQ>vN_Ckd)%u3#6!@^fde=_ZMaiCOcgMyM$l3u}<{q-8f+CYXxwvaCVE1O{kIjg7l zVq+CV7+RB8dC{bkFUaz=+z|PiCLEM@X0tmO`pyk`JA4>k<LbLVoLMdy6H zz`;RVnH?W5FEipO^!#r)_4N7M6hq80J;XpcFgY|Q;V=DP?@L94f3_2FI>W2t8tPxT zxwzm6qTj#YJ>1zkso><8X^{A7$|_VLAzFnlyvH=luzZ(RD7$9uhYx)K&?;8Vlm>z6 z;Ck!7-LkaUqPYZR2hr7BH-C(h30s@$!EN={5QYf!Z9&nwHm|U^r-ws}XmXJ3e$&)+ zigzQ=IJfmpNTd+;E%J4~1BKP`P^`TV+o?k9Z6H=eG#kg=IB&*5b`S7<&-FKPJNd7W5)IO|;$OhadZp zS>vG^^5$}Sy%#ZuyX7fYaAOd(d6t%jS=B$%Ca~;@65MozX?3fY*r7Jn<46*K>I0|_ zZE0!g#`Wtv(;I=KFT*iA>a!%DuFe;{>}d~h2?wh5PP zZ4d9OPft&;GlLZZV&D?D&cuFV$Mxqnv6W_sDe^IrEcZn|C+k8l4En4Qbc5~;pZ(qK2+#(_%U%Yrg z1<+~@{%8v`Toup~=-N#HCVhPZzdy!f|H*=1I0jCkJ5htmDCGA-oI@mlCY5! z{bD0YDVXeU;B|Y;aZirT_dnkG3QMV5d$x|?pBR7XUuKiWkAGoR3^-^CH6H1wLb`LU z768vKY8)uS{VN-A(3J{VWrUM2oQVjQ@N`^3Vs~@;7fkWnwuJ@c%IU8}<_$)_J;0xh zV2rosPJ7Fgmim1QDd`zqT~)}~cnL++^otYox=u321Aj!$%=vEG?2K!?Yxb$HbZtwS z9I_MQ7Cl(frnArSf-QLL?V7ZK4E8_Nr1i6;ZN>-u(@By<)s_xTsKJ|S%PaEtNwVkt z?RtN5+w5*KUR~_RCfNW_E}S_~)7)&9VT|7iq5ykewj4PK6>)(UDIz{SD|VYc1}3!k zA|-}K*mS`%gCm?L=NEjyymXO_U#E>-4V3A;=e0GMfDp@^pFG*zvQ5Bl1ez8M0kU)Z zrT7}j9WS&;OIV*j`R^E;6z-D$Dm}m7$EYF%<=jeIn^q!D7Vg{dolr{VKyYa4_g zrV9g;we|1@*hetg^;215M`dD?e|{>Fl4`~J+~Q(cf+lIazwn7bfu4V{{YmH9XwrF? z8cPb|s=WS`3v9p2a<%CWB9bNDvLJxDdd0XVkAMeg~b z)-cF8zIn+kn!h4W9nr23*4^BNm(s^-rm)lqPh$)9=NIzhWYu29zBmh?L9QrJ?GBp z`|?8d^tydY{Qq}(0D65ZJy}SNPJH995WMh?L-4TMs&{zP7WnkD#N0HnQ>ML=vm!Mq z2+ek1znY#oBLX{w3~eOYxf3Tgxz;Qog?Q)hB;=YzF8EFkZp5Y6eG8&hHnju{!f)PO zB{x!!9lK=U2f@Wp+evffl&u7n#~f4qXw-utQa!Xh=2Uu(4#&ud%2vtvRYJ~O2M^*w`Vh`G=o2cx-*_7ZZz|nPk2tgh zL{u2E}&dU{~CVANSzG|T-8lrCL5*yJ_He#gSV zNYo5aM0;0PuF$z7hMdaGWKCP$M*LpEkn`Gf8xCyXV4j%t=FN1`rDTaRs9 zaoRa8bNtfitmpH&{*o-@pB?BvB%iZ6JH-29jbL^QF~Y1gxOCEKUc)v11PC^eyFi49 z;%Zu^RG3}(aD$M?xJx`WdAWS&cp5B72zG>wvv<^vcXD!a$SxGo3HSjk0IT4qh4zyN z+(o$a!`*F4>SfwWN@3-O%q%QGm3k#iV^uy7urE08RCpi4;b9nn!X-XcA^wn%@;1-O zzgDhPd_dccay{%1Z46TgU4XiqFRSh5#WRXR> zH9?Cuxk@YBG4tb@6Cd-rRw$l6z0>q@C*NMC?>@aMWo$gVcRRmq)O|Z0>0{U+NzJ@} z$-z0n`6YS&e~2vZ53O1w(ELS)hu;D2a9!d1Nwvz;{jPAnwQEPJM3%ePOL5O2&lFHV zh;g#I)_E=*Mo0`9P?DDZ0C~5XMpRW63KyV00q~lgji>-}q>=7rW9t$?$|;2E1@$0@ z;#F^jDY2HwDd&a>;_%|HuBqvQy}BMK4G{H632fFx;!;%4XDD*OuS|2{U%x9RHbE0o z%8$t=6mk}CPgR9PL(UT!MsS8HEsg;p>Vby^4ml~f(D>oiLH$_oGEQ(0)6vVF8KZta zQhXu6TF1x76DvWgf!9ntD6aVAPWi}uG?Vwaj0Y!;#K(g=y1Oe&oCODauXEGWhsMRp zec8YFoF3Inv8=PNjJUj@wVZ2E(Gj3_qWk#_uk2i$n$1fOJ5EoGXN_mhO~%b(iyB`M zJ`^|5Na1rbMrw{VXhxh!DJp_b3)9I&FZ|RtneMO-njgR^gtwD$?{tKZ6#++Fwrm-K zY6_&gjqIsB$HNXnKk%x29~x-VfZ7pybnz(Fz>sJ6BpsYz?RWGBW_F^CeV=8D7IFa~ z5{V+zZ$L=fnLiw}PO}-@)nBlB9o%z%C@~3W*Ko zfZ^1_3*{qb&mU=brbz%Cg86b_-*Oj$UWXw_F7!?Da$xm`J`GuzYc0IbJFE&F9UX1T zDJ=yl4PEjvSMY=VALB(})0N`d@1kvlKkUU#S8RG;dq{Lh>L#ZC{!7>Wm_jdqfDjV5 zIwOWq2B}VMML`?KI`O#S1+G<(eA~9D%H9d4WZU>rkb;C}O{(zCn>K`qO)G_q@dHr< zfH0kun(BAcyJHTTQ8aq4H5o4V`u2n~!k&>I23l}R?6MH3U~5&yUyb>TICj8d!m*I4 zRf=DjjD`jYNM`$)FTd^|(ZsGx*oz8QS=h?GdVj`E0LNwS@lKjB97~2O!W_)ZQqk2z ziVrF2i1gpsSl38gh5E&%ZX7E^%X|9zE~8HJmFQ&cibKSiLyQxu#S6dpOUbkBkG&M` z9)L;{vTy@pp+sT8sgUgb^?`(_t%{F(Szw%}u_$SuvC`xezn7OfCn*&{Lky;$)E0l|Zvut%Ge z21e#bgps+c%Lii`kjA-BFcuRNKl6?qkDvpHi*pNlw)HrMOQ_VKRUvftCsFBK&!_<|?DBfMN2J`rvqp&k~kbNrjql0-g#;Ap6aV4vpsEBmU9_$;-J)B${Ig7{&(mYicP?{#Gg zS?vZX^Q&^uHXnO&Xe$@K?`W5x5wP>(Et9{^vd_0*niXRO1~pe{98JWep>r2~oIIMR2Zx8x2<_(DK?irXz~RIGDjpGB zkdDNvu+V559qq8hGPWJd6O1d)sRf!*Vu}Q4N78ZwN5Qi%J!UMudxju8NCa@{I0?aR znHbD3&{)F4-5Yhx{zzM*)@*qxf#$trsgQs;5$8*|J9R=zN_RSq_vNMs+_mr=6b$I0XI{cQf&q2l-3>zOM4KvYi1N^-v zA{RwH&r9FUVfsTD#fdnj#E8bPd`K^YNL;r{vshb8>$oBT=q>yO8}jd)!N~um!5Vr< z567wdI6YsmlOuNu%tbE1)ZN-k^?IC67yBQ$r9A}3&Ol!uX(|H}NZM6X+m`-dB}Nh> znYM_x`K(W>jS*(w25bVi9%fBo=LZqbCyW7v?g93BbSz5If9@Fn1W9_#>(@sf1`j9~ zpr7M?US4`yTDg5s8bZ@{+@q%v)!Bd6f=0%NSDKz&o1*5HessAZ_8nwves59RWtZ9f z?p-_hX@1=VD~cESxh?oS7XPD@zqkiCl0q1E5Tz0bJ;656zwNJ<`~;#W3GBcc#eUz+XPbDVQt*SH1=TqX=O;o-+*{G3)JUFIbG#zdyq1RL=Io)te? zV>MBpL6K*sDk_eIoAdZp{+>Q7#1GHCK*Qh;(}5m|fK0e}@Y-O{Oz;|67LZ( zJ;dGz^B4GtLx&H`2J@rRcz!HeVlH5Nv0gUxF_czBWe4oBuV2Rl*$$^Uh1sz< zgEyJi^?sGgvtGA*_o{lWrV*7iw6PCjYP!Q0oFmoM)p3gD*S}rKJIcz=&g0Kc$W&yz zvJI1PpBZoGyL1k8MhtZ}Xv(|3`JSjJB%T(a{mw|RArPs>$ZDJz6IcRp*5z8os>q~e z@v3DgxIL=)X%JTd{_-KkZ_q_jx!z3n&NV>22n_PquU&ISGwKf4r`c@4hGR~FG}joJ zoproKMML8-Jz)Wk7ZbokaJ*N4`+O)T5fe#g+u=SpT{^cFpXToHMFaH0kxdai^>*m4 za&Jg@;(QRNr$4Y`aq*QxFqLg#-#$JtKxw9r+uOiE+`>4~>x5Yr5{ob~byrPP$2k&W zL|4Qe;0L`%g>3f?E`GaDLioniq@-2GZhzLx+T6+t9@Ji?s7Km&-d}T6Cw;iZO)+3s z46N+Ea8AKBd0Jm;?XE|x`&tRLBdCLIY z!Jn?Kq_VaF@2TccP*fLn21f z7$_t#s%^VEyH}J=m)z(^*#(nth7}sk}@_N^AXLXJo_zO{a zdmHPHpThUrCh4eIBa*0lF&?^RAKNY=0}&l5f+m2Mo@=Cho1Atfqo9Dtd~8R`lm);` zm`V`J2K$B%f`q<)4f6Cv)*VSJtxo%m3@N@>w}e!)zJ%5;($<_V3va(y{j?%9(TGd; z=Vv$;QVs#Rrm;?7VShHM0|qdO}Fi2WZ{T_3LK;4XSm1Oa$!J1 zSa_)^WmpvAhkzSM)AQ`62}yx40k-dV?OX!tYic0jL2_+OCREkoMj!BY7w{Zp?rTLC zILIVLT(*f_7dQKSFyyM}yFko&&h-^rMX&|kk$>>}SwN)j###!T>8Nno#Ypn)G-lkC zfDGn77{}N%M?8=Sgd*jh3DgI8%qFjKVBK=_Q{<3_>Ulp-A2Rldn^JevPTy*P+u{QV z;Kz@z2El{z7VcMO1rEeag_G8qL1WPOys+T9iD7hE!bJ@O==X#&HsA z_73Ix@?I*F+_|wo%!P(2N5qYXos-JS;kA9e5`0I3w}|mTwaST z&8~~?E!XtHC{Dm#x!OXknT|E#x3ias8jNx+2dCh@E#V zmjC|z;87>RErbm6-of{K+ODYe{c`VT4V`Gp&f!7GF@AifeZ@n`nh@`4-aU8NiFQJ^jcc!*U|NlDir^r(=u zsqcc5kjOeWswbCM$;y;hzlG>~*!}HxQBe4T9D(q(H(x5wW%?TsH?TW`NNw80jPy9%E6=QX`ZURIJ&J9|2l(FF2YIAiOvk6>*Cx zY$dn}EG?yRx_gCvU%bpqNXWH7kmCW8O=pSkJc@&TYb%yTf(XK%|LS{FWXsN#0T zm5LIs3s75xhPD&B6ero3q<84j;YHX!(8iGW-nm>%a_}AwLLG!37~?0`Da0E*qm`48 z*vrbQXUd4_egA%WD*5rR>e|`$jFx0Nkdw?%t|BAaEbh9wSzB6$iUYDF%Dp-6TWz}f zUdhaiE%y3!w`?;40M$i4izGtTit_=JKS+U2-=0xB{0?xy58W=PIEAxIi#WTMC4_qZ zm@<=o7yMzHbBSPEw^*A+e5ZmFyYWE&Se@CiXq+uggLw8=R9vnh5uy+2GVuO{+Y5edWfIGAvdeCzKwh(roRo*SKk z>3uxV(B9P+h`^{{n91gWJ|4MoL`yuEk zcIs6dH_j1V;kc6uJGI?9Wfa1}ufeiDpPI|^JE?yWO|wlq{PMSvP``8jMFi$2S%;$O=b+>; zMrlWHjl4+yW7e}eY7^kNt|z?P!dTHc8PNeWX#DN%JzONyYjEUM+toqj5+vZE89EXKDQ$hCyOceUO#xze?B9vW6B5{6Lry*Ilv?CqGh>|_)07OUC=VO0u*Dgal?*8*#P zOpBZA{JC=-4ib>Nq4JOGf=ETw&`W@bDp!&LdE#l+RaEG5QGv|wG&w8(%UD=QA>q6v zTxd75$zDw&$PnTe`7>y>hMo681SNrNP10b=OQraTFRtSL29gyIen0CQ<4X1L^4cx7 zq?H=O&*Q@%d>lr2*?S_1I41o?L|h@@qy!`u!1p{O!!Q?O?9P>g6{8sDdFi1!mtA1B zPn&{}#Mctcd+7^hwhM<>MuvvgA+zFjhrK^^Zf?GP|317J<0%4JZ+N#KzL0~UI9%Yu znxFY(EA(bvhp!Jnw#tIc#LI&X=dU4O%yhsqT&&aDkJPo(G5+!-DcY3^4ZFOK#H z89<@*k3%&KovgLPY;KRGHa^Kxv+vDDI^{l)xyfabrO_iI8WNs)kZ&E^?_Z-ZL_ywg zc1Aur(Bs!UUWmj9;cXpkaQ+j>w;do~U-YjapCdd@kQu-Z=CfwiDwv6ZQ=W;mGBq^p zIZ(=92^_MaK{^j-DFS?|bvRyZKtdtd8zWQG@Zg0Btjl`yO^@1|4}F<2{yQTtr18I{ z#<{T&eTbbfE6Wl2vck8Bl?9PyrGWXma%B9{u)u0ZGY(R$@%(+-=AenggFD4HG%;oo_aZ%&V2He^q1qy z9R7HUvjq3R5HM6_Xfg4WqNDpz(*h<*gjFW1$0m7c@@{qeKpn{SgiGZ3 z%!Qr1WXp31Lfg3NDULkE>KE|YBj77Z7w#_Mz<7NRLW$ak|VmWq1%g&#$U!N_C_DX^(8n~K<3UP?J4^Z zE``D3bEj2JRfof#|BPUGiI(6c;@iRZ3ZzJ4T#@WUF3Cyn!$kZ>Rs`jyO)vC|sY1&Q zIi3EJmhZrif=>Y9QT132L&u038Fa_4hF;tL2)fXH{rvX2J|+G3{=N)iRWNWCYfh-N zVe7#Rg-|p=g7`uH#_+rY0;E}XXz#K$Fv|J#IbM)UL!AMv7H;sd;+0}?wU=#dG>P14 z8J}-UuNVFP{oFi<=?=Z5h@Qf}*=n~;VHS9WlD77F4ob)~ghfQqG{HVblFEdCB+f6q za=OC0IxY<*!2;A3Nkttl*$q^^!Z=$yo2~jb@k7GZ+Riv)1+gN|0TT% zr8gZzv?G3dxCRRqhUD5nkt1dbsdT)vaLu$@V0vBS*ifnmE9E1>idB2)eB5(w)1N+- z2rWm(8SeNBcOvyL+^`;JO{fuCkZgen!^H76Sqc)-&W4S4T)kVsMyM*5#bw!n68^%s z5#b+Lj@o=H9nYYDc-reRQ+bZ_j&+Q`KSM>Q0SY*@-JrmCo8M^nodW0Y#?`AWE?juX zZ+ii47uwn(AD6YhboVW5;-V_7t4m8tQkwtk7x`k1x#@ziqR5~YTMq)nZ-EEt2OcN) z@!xnHxzLT;7&Vaw;kGyu`5YY%33`Zq3F)27yN5uYfH>TBak0f2UMnn`a})}BcJ%5(D_G+#lV!5oSPzzqi!Lk^0o*%c8k0efE0K zHzJT2EPzF2foDGm+6l}gT8+&+Ko+K|wRxDTkaA}$C8edQrLI1S5JdQWx`3$R0wmr_ zf)AAxSNu5}sgREVSC7XWIs(iS`{O;aGXR67W-^t2os6t$otGfm*GzZxCBS2o8dl>N zg#F_HSb%~gvzL+l;p=Q1B^GDgwouHX`Rxk9coIPTYhrDwxNr7Pju&xqpRITurA)QV z1fe8@Dk#_k(fMfcr4lkVGpjM=!irM`=$26YWKR!C`$%DWEG_L8kkry@2HsDwCi8G^ zyg?}~Ejt@q#OlPCxQ4Xi48G1xjSovZ&qG}DbUP{Mk+SbhO}9596yhh=r9TQ=_TQxD z-(VM|=x>kW)^GZp{>b7+ungery(gIG5}0rgY`V_*5^$(MvoQLFb)K~rg;@lRIowpTVq!P_Kzyc7Ej*!b?it!K6CLXplX8lF zGMnILv4~||tV_3!L$f4;j&YM-AYBE_d&Anb4OtF+bcxV=&ejs$ z=~1UnoOnUxukZRflrVjL$Vxs!@lO)8-zDOBkQ5)f^oa5pe5HsYEFZ0mbO;?0 z%aGI6{p7(Qt*)VAGzvJC0#3f-&jsg?Cazz%&b}`;#rY6@|HePP8%@M6gMSQy2Tw#O z&0b932iHErzbhmR4ED@S5nZ~0fq}U&5M!H%^VMf^qTMZfZl+(FujL8K2;p7uQMQ29 zA`{Whx^Df)XGO0qiF@-3fCj!}q#~5Jw6J%5`|J9f7x;{j-b=uP=Hm-X48b@c`Xf6_ z=uA^&f0_HdnV$a7FjiS)#=PijW^f>!T4O=e2 z#!N1RqO{1!JFsiy(y; zyCY%e)%(oV)7Jo|fSh$H*GNP$H}F)r3m~Dlc4&S%0p?vvDc@u=yo2m}ibP~34COBJ zmfTK|Udu|#yl(wH_-PG~=Oi;qme3Up%JPv^`1A)UAmfBUA5)~KXChSc9BPp}RrAznk-9sek zq2&9Oydwyt@SnsvJXxyG_Cv^)^xPeP9qU1 zbOPKU+W5i+j2MX+rbu#a#>!DSyw-BQuv-mABbX9;#$q|yt`=(|nnQvfXRF9{@XpPX z_e=DeE#P6Ota*yT1O^`{1$EsnOP)Uc7(#b2A$|`i4?bExgZ~GxjbeD-Ov>nqO>mLV zyz=Jk?-dv-aNEnu$e?%BoSwN;yFOQruF&z4l^u4leG$b#Nr#zwqiElPhm%_~2CcY*I=cO#TQC7b9o0LA2@w9kz@> z;4_Rdh~&YS6+VFw-tDBM^j{?p_;a3J1B70Nu}-nrvKkWal?by=69imGjrf--B=FCpjtC z!M6&&68T4FqEXY*wWFGq0hfui4?#SOb9D?jqZaoha1{F7#&!u zK3S5xB(dIS<=>1JFUO&JlQ>B^nB_3x_6z}v9I%1089<8UMTSm8ZU`wZVa*-KbkhnA zr4a)|rVOUo?8)l5r$^lg&54vEmnQ-%D#9i?{q^MHFLX)?63)0bciFBDL=rCIC1H#u zNo`oT?*53Xq_WIl-N~Cv++c1AJRrh;U^>A~OYWycP6kaN`GA9sb^~CJtdws@U_e%8 z<_s>?ufQUzC=V5XS@7l$-wX zEv7`8CO%#uw1!YG`kC#Q0P`%dY)H{l`1GqaF7#{VM6vi1cGX@&aRP+U5qyi3oj*~i zGFx(`P-@LnYJqedL0~b%2Z7`gm>88U7$lWmgiHi}durgRyRn^~cbcN+M%)j}T=Jw0ra-*xMRMZzw@20XF?{a> zHN*e|5*2&Kz+0T7i1x3%fB!yUZiMAPByj7KSg3qtWh|7^NIu%R^XjRy`z7FG3C|V^ z&b4j5x{_cS>3Q@l^xE!ZVOj$t(c6n#M5gQ29CG9bQVXV|XTW^OJY!)JcN;J{U}TOr z5}3M&7*x~pCr^sI;vB&6Eu~n>KfLa8ud)_n8ws_|0hA*cUb{gspy zYy75|T^~Sx_W%AieV85&nY(xIUQATfW>OLznxCS}Pm9d-^oLROQoNQ!U(Ok`aZxJ zjbTrP%6%nnrtpiyI6xf+-mC=HVVh%D;eKNe+-ay+il4TEsQ|A4zZs|RL^iCNjMd&r zPXRO$$;qo+%RtD=!5=1ee|rIKae28rJ58GXcg{@SFDC2o`V4F>!m~xXks?q-sKs_3 zb0epwW`SRy=koXA+DDBo5m;raNDD?Fb8m*+ATr zV%m_KfXx8iK#@1Ivz@fGXkAqR0fWGV$`N=6_(m+)D2~E2Ct9%Nq@-Z&&fw4QCxf=t z(MSNXJs}*YmyUL*G1+?i73RMso$1&kR8Uyx5dt~5RJwmrcKsac3-(7nM=ha|5lDuL zRig&mZb=bG+^!y(yh*B1+6A9A4xybhI6=n%r~#uJq#^H!0=io$LuLZP^K znsIJ~I%6kdKS*x=weTY}nN`dv*xOIDV{DWhaw?xw)krdQFPQeVht-0LifTUl`fV+1 z?B-3I%)z+V_?)kfF(^((2n^;Ej0vQq)=OotGltHZ%2EFH`$NF&0#Z62JlK?}#m-3b z+8EdLS=n231yk=ou6OA%jDHvsDCmH@5G{9uz%HFoAV6q*qyasoBTCp67M|C*N<+)} z2Xjb)<*_DXI6_I?Mo8eHR%cZ}JxzNm{*Pb1Lh!c(sAjQH_wc6%NcQ0FxjoJ zAgp4xI)WpG%in4(*gEZ*&nH)0C#0-HJE-rL8KF&v8}owW#5=kQCb`ue-dfB!RXZRk z9qN#D+$n^lNxVC)7Q$}!-x?2lewI=PUOJ4CK$+@sB@wUK$SC9Y0=jX#BJjID_375< zF;_uci1Eo0#~*^`TxkU+Av|EL_La0*gVI%Qe7#@Pm#p7qe+oZ|PX5AG-DJwp#9r=` zTUj}b%=C75n0ny@d|6%hD_RE!im#YiKJwgvM1dQeC+h0PYuw%#TgSC+8wbtO??7#A*2l?q=y1RLFb8e#~ z0-&g@`l!}VM!Gz226ajwDcEnFD%E>l5B=;}wfb;pXJ;5*5;kwyvc)E#;KK(fzr4h% zR*&n7Ga_=FgX4kz@p;{)(8bSNzm5ai{Wp4dY;M?7HLZ*T_xyDX!B^x6U`5{)H!$qA&}U|Jawr(piL&miLX~6-4-H4}4QhmzJ_L z=14&=cb`tExvoyF*E)}Q1rd^=J3AWI>doD|YyJ)N1^xi~y1TmAP#G7($pxlmlk*$B-w)&)=4M*v5M?$3pk5Pv ziFKI5>_ri=&_T4wVzoqMkBp6t4MK(;k4_b*(Xbpw7CbJkJLLhR7|K!PfCen0D^nM) z-k)-$->Is1(bL0{C{%5noUt3dCUuw-+M+OE!zh>VGUGu|0>m8JYHD@F?OfbGZ_qee zQI5dOV@FZCxA6lYGq(kU$N!ev*(fP(oqI;|I6!?K{ajSsaoY~*Wi120B8ck&Rd9GF zg>;738j61l3pdgrD^&|MELcZdf)u_}5U7*+0$CC;^k(><@EM$l$W3dF#O(2jp%-=6xWqlPPE|`E&4i4nv-+u*l z0PWnRi&Q^&MTEyB+qOY3at10QIY~8EHb_E!^JZpdfK7$F<8r%#5;m}Z?+7}y1%CK{ z@S(jyuni7}j4t?nIL_p8g0Q z2}l0#PrOq)2-&4`oOn#R{7S$RKs)TP^YD-!f)Sz~O_JTddu0Q_czX1&f&4Q`eVJbnkmqYzc>->6 zwqs@RU|FGsW+uYo(qoDc>&~{ea)hBDhbs~V(ncJV&-=M0%*NMfggGjXe))=w(Rq1W z!$0J0*7p|-CUCf2K0iG;OgFcnm_>VEfefm2rlyGa)G=nOu!D0an*RU}UQ%2D2U|Ai zG0q)XASkbLaUujKRwD(5wdo6lBNo|K&{8dGY>;{WL%k-}w`jH65^f}2(0yd%H#ikC zH~->PP|pN`zI^3MjYPX4jk0sFCbii0?b}(BKlN@$;%`-K2fq?H5-b*|#M%iOM}J<* zCbe8rYOvwW{GF?PuUQ{4$7-qOkGZx`Q>UYd%t)_nU6-+?bw>mbLdOi~QDg#ve25$Y zLCrrWsPBJu0!BRy!K61dI!d!&HwP9p2-9(f6)56<0mXuG4%IW5E^&D4;e^@+yd10B z+K~Psx6AXjeCVlXx@3pp#JiuXklg^UmFEJ3h-g_}G-nRmU}slVr4%4~4=?v;?wQ$e z<-L(KWN18#vNq`?goisq&kdTBQ^5Tv%W0(-UhVl$QgL{E#!yOk>k8lBstjHjL1_ii zOE|tTjYkTzXEO=%u08^{zobb3rtSg+z@x~U>~H?=B)g;o--GbCjCb*{0Mr2_;1xjh zhP{0T8rxl5q~TA+fMLUfM2<7L>+S+~6=Y(HLLz%O*e--lN@7YOaD!VAU)5;)9a&)b z1a6#I!zgp*cnb(`jGTM+MB>N-(1+rVvg?&bu&E%|KE3dhtmLB5Kk$dppBaih0^O=U zUlmb(2xGeB>Evxv=rsV;CWyAxFDY$OCtK6mu5HiUG?FN4-M!g`Wk+@t2WLnDM<+#9 z*fhO3=_8|okTrdSo5L_(88LKPyIcE+d1)>0^~CI?ooVN-jpRkpz-(F>`Sgs^)=NmP z@a2OHTB#?#=NMn$0vIVWXJYmn#&qbRW7Lwl7bs}?r!nFWW8Rgolc+Q1MZQsJIU1f@ z$w8K5E80-%a9YNWpGH|jh_jUsN>n=OnFhEL?*Jhnd=t8dn^{JcD6`CtFV^{acT-9eN+k11cJ>nS1sF4 zZ?uVE`5df-tLcTA6wfG>G{(ldrV+5uad4cVYU_wT+Cv_*E95&o9(8fkC)G^tT>mAL zQ`4kunLO6oBj7)ogM27nbP5VR_PrVDrE(-S%HGyiq<6XUclS`mhbv@>L)6nT{OB?4 z>;NM-p$_dq^ZUF!ao&`^DMxB~Te2`YDRy0y=4A8p@L2!CctV8AL|o(vp@|rA70^ND z;9QM}*1S5zTD_+o_jvnOxc*GO^(uv-eQ#nPt%o8Kn1PEQ#~jnn`VZwdkNy!&KKL1Z z)U~h@0wQFHaj?J?HV*#kiV7mB zv_|EblSdwt!pW0+{_;l*B|L655oUyM^}VB~fQj3-1G&0JUL#ry^0n!t1wu4tAHE;l z0&nUufNVLQ=SrPdFU5oY1CLop2c%uh&rfkH9$UW!n>V1S-hqOx#G4hyrGERbKmWvZ zoOtLvK#d`xV+dF)541xY1t*Rm0VR>KlWdb2v$j_A3A>}pjvanDfh{)csB&SIY_|x^vrwMLU%r2pTCXS0h>mRnm1v0Ee&vss)6CbvCpk zI$FN1T3Bcu_TcXRa(+|!Eu|l{^7B0{TN>wCW&b(ZJuhT`yQRJs^Y-x(M3%O;(@e4- z$rX)IrCGAEH+Rp{Wd{F8Ca0*lsfXG;P6+3`TxBcVm zU-|e*&)!%`Fu>{g=kw^9Y4ji0PENS6hg#GA}B_*upyW}yp9)f;NHF3X0Nm)*MUHzoEfiCnwF zxdHDebgj`l{-?n1I`o$a6+IQWpJW}^Z^aEdE{?+iEg7hB*WF68;+n$IIj@bu6pkW7 z{}9+wu>DJ5$0&C8Sn1I1zxiO6YE_MUenr{qo6zN)98Loj2?1HkK^1K@6cejtVOGpU zpK0_T1s%jTM8S=5S$ssqO*|Gnc00gTx=Lfrs@bd1Z8PheJ>7{fQCx@wKAh=e@e;3= zzLoVRKjA1&EC1d73{GaEP8`Hj`G}zhm$H!x;YZSE_zS-2`5Cmj)f!;tdDNmtfd?7% z!ZVYpFysPSLd$D)o9*#SuJ>hLhPwFkNxp5uXNVjXRHTsYSx>U88ivUN_^UFU8 z@e|wS{C}=AEcU1AXk@inkjZWc2m*b#xwGzrKtHZ@jIh!%eA3DIRXhbz2Vu(BTtU zWT)$*j?A8DMBtdEcYy`>-mwZI`_gVbS(>d2^){7v1-edyBKK_2Xmhq=x6u%N;)+K~VyuEzD-> zu`0Yg;U|yIisCl}vOjOW*u%B$p$DNP<;xpeI|*Fw$A5GTf4sInxbgDx{vX=jJ09!( z{~y2Fr=>-*a!OQI$qE?_l+mzVl8CGj*%|E5C-i+Yd zdOk)Eh=p<2-p93co&VPr)AQ{5l{X*%JxbkhZHeF~NvnU6%GOSn{!J=V;6Q~9vugln z1o6O*<{#djK%*`%NZK#uVTO&sYEGFY=cU#kKa8k5m*dCpVs3;l_k(v%TGs3NJ#YQ_ z!;VpFZHL7 zyqU9-z9Xi-;njyZLEOpvGy;B4)lMwIPFm0_FFf~c3qdB=#0CKkoocb9I@}7`MW_Wc>E0h=-+^r4Dc}1S8Ks z-?yKB2%dF8?LZa5;d27-xZkpG#q?iFpevS^u%v<%Xz3|L96;L*KCd2xO`xCn)a>Dk zR_P6lCgL^VvU8tN(0wJIsYkg{hjYtMnm(Rx7@sD=iZ6ImGPxg?;oX+t@PzyNR<*R0 zv?vCF9l!D;9z)UOI^ARm*h0jxv^f}!^w$l zV_gXi$-E>bra4cwgpGwg`IixhfB?Fz(wfI7LMP`jeF=u1JD=MkNW5gC@NA; zMzT>=O(xS88Xix`Zf+Mwfpk#2Cobxa<~!whzIpGT7eW}R1tC;*@Cu$pO_p_!_hnJS z%2AE=F*wCf>nzTF-n(5m$dx^NR5+ag~zthO=ivcIxfspEP8eQ`<~r`*q=jWR(cb0k;5a-dmShn>Td)~8FVslJzkEY{QX;~xjH{Aw3aQ=6mr6#Yk z&wK(ELh_F{OhjVk_ZZIEow!V7{^^GN_hs_QQ!~?Xj2OK@&myGE+0FWI+!+EYy!K1R z#<(=Gecx<^pNDF!j3#@uQf`ql=mKDv)b5`3x|~)KJH~dL?MT7ALn`CL1{4=ZH;8{A z=p|tY7dHXb;u4}iazRgxwwVpBP>eQjv-CYlVLivv~mR0>|xm%aYE}wD0L)8D^K$4o4MHi_ePx!&z!p6`@G=m ztk;?~QR{vwsWW^aIkS4zQfnn$+KVS>j&R7u_6R8Z+djH_MJ?NuU(t?n#TQP+8l`1) zv)2^YxX&8Nuq!7C3`8p|VOy)M&QABod&!420#}~y&CYffNfYbe@cGZxV|n49FHlPw zK4*S44A1ZGYzCb$FY#i#UrI=Und=PadkTH@;m=tY55%0WNB%Z zDo(Um$cr#fVZ}b)wd>f*hjxQ4EE_kThS*bCnJod_k`n8njzEK2(Bqt)oS-g&Q4FX> zyD#4J@KF62*eWV{Gix&~En(x*)D+*Gppz{DnJWzwM1)@XOE;G@|--oO= zVNT9oII&jJgHHp;Y+St`L{!w(VfY4_h;3gDMSDo9p|eOil;MI)-}iNs?(OG3$mf@o z_@_8}jvPmt8~v>4-MILUt}gfR%hRVaiUtZD6lOd~B8b8TZ{>O;rT-w){?OsFMt`MOe0mP91t;&lE3j*6Sn~GB++S#rCjR#PAB~$*lK5}& zL?|8%&jwMKD~XXb?h^m2RL0!cD8SKA@ZJ=UF#IpiqK(bw|ey3Z@CY4934Qvji~@&a8=0|#gaqv z&nOi1%{*LOmF58VF|{#FY0MVy<>1#0IT5hm{?AWPEx1V@!f!szeU!TkUhyhoBvQBM z;;&8zg4R%PTq0ge%1yuPE`|qJPEuu#9(_-QQ-L#xBmi5KkN9nqx}HToLlxlPLA3QG z5w6o9fNJWz^qxq%3U%d)itoXg=3}?Vsgg+PY>Qs*&soZ5yZpKMcyh$koy z5e=?F$lP!cz|d$^8@Pi|2n9m*21@+r&!4@RgppZkS{88_RG@_C&ntQzC%q68s)#8q zT9gKa%JyK~M3|kcpt}R5%fi?+Oz5}O0Q-?E`bOgG?4~}XoW*46wPA9&Y!ywFYhNx4xWGz z-|A5d9`TLC1(9KeG463jam}@8aMm##hyt<`6C-mLI3C&)n|eCE~<9P7Wjw_ugWofRurh8=QH zl1zdPD`vtv4;#)Z;0Q%f*qi2LW1n%qS-@LDA&OsyP!qRtHUJ22*d}rca5A*FGu;hN zw_*|!N>C8&4KDh0&@UdzM5meWrn)Z!fh!v(4a!PN9or@fKGYybr85`Xa|$`&1zH{& z-Wq{Q%SjPab6b9X)5Ra2Tm30DPz&c`nJH10raI$zo#?cfm>#-5v7$7JmInvyRyv#0 zTmdzSjR7gh6vkXHDGp&-wmq-9z~xFxa4yX}5L2w>(QFP^ozrnVJk{0J_y(pa6Nf!q z0t01drzekKiWlOOvaKl1pwJ)Gb_X#?8!;Glmq8hDaE)duhUcE1H4Ro_;D_#!t?gpF z1)>PpgcyHCn;*E@u9CEKs{?YhG!x_FnMJLi;f-tR>i(f^*KC7ItY7U-4dM1!(cn#d zPmM68RiucJpM29Y7(M`3hPWaQR|)Z5?F>u8Q$D8@ww#NZW@~uzgvJC}a^QMNJ6r|+ zg8ri(>Ds?$jB1X+)Jju5y&=A@XBpAu!G08M1=Et{oM8kKze3>t!!^+a3>`L%?xO}Su@9V!tJN+4wUWt@q)bJ$7nG!Jlvt4#uPoma-lD& z4M}%6vUAgSIqp^rPDUnke@$iOE9_me&$R$ zn83%5p54GI5l;uG7zH#(?%fM+#9|!oA>P!LrbHF6xP_u=6)$c>Y9v^42DKT3SzH+( zjxZ2Do+1LwN?cx3Wk-i#({5^ zIE+(Zwno{$Y16~7F!Pi~ukGTDn>XtTc$L3^@C5eUCT5C&-f`Gu?G)kFVw7-74b(Yn zzz)(h^X(Z8{o!*ZuVDJs*{!g>yrO2Q!bJqibisKAW`fFES{bghGY}ROBw&rg*iYZU z08@T=SDjPO7E+iyxaQ${usrH~JwxHHdqQ3a|Ve-pPcGF#jO>LJ(#CKU4?4vmv!rCXS4b;td~7nGYaOG`w76Ek*a4Cpap{| z0U%X5yiur~I#=QTN5BHWW-dqdcnw{A;r$uS1ATpje@ioAcLZdbma28TJt>-9-XBhI zZgE+uCe_bBeLAnMu5MYJm-oPC`Vic2kVMh;3aV~8Eq;evzrK!~HC-hj!w>Z}y!d1< z<>LB7^fAul$^5lz*Iu}A0rX>lM~DW1RO@Lq3;ku7kcbVWwiC=dUq|`AR{vl9qfm(b zwntPXUAk#Vx;Y4~#%lIRj2scau+wolsfpz{Ezq`o#nZ{wViy=Ca@SG1~^i$?pJ zM{AL_EcAz;U$GZw7v!C7aBjSi|2haQlc}1DX#_qu*LVyMI^EToOQ;&Y` z%JPJq1UxlR4xY2{@Sr1QJY@eT;KJ(v_<24kK)%5Ib^`ee_&bl5U7s=U;>e=m^MmCu z`U&FSIc{IP;Q5`QC5O@BB>btK*pj*h%n!{~o&B4Ll5hS`&9B7&bSE{a-9y393K4gdSm zw1eL5e)q1CvGEx(lJ$W{yUG%?Z92AfLwN*KmPyb$9k4VpX@n+1A3Fg@%xo9`$_8iu zNGJoK?w6*t=yCKVTMYuFaX>RnjLQ%#IkajDDq4gNN6vl9dv0#1-C`m6-MjaMf`Uqh zg+}i9W>(g0hmng^6F*N11F1}R@$=(=qLhpa0;xF-OCm0%d4mWCR5X|c1I9BkUca-?m~LW|xTf7D3`X65GwBzioXZqFc(4uu24?}- z>ub+)`|!2ZTzrN4R=x>9FoLwtjK5AEFa6$_hX`&_P(W;buQRB%q*M-j8~lOaOIAV^rd%`%5dx}I}6#;lGKI8g2T z@pu@{h4id*Aq%u!CKLe8b+*=@R*3M+xE{EnL4=ETlCA(;WI1>_Vuop2T8p_H!ZNY~ zD`z7R3%cEGAJ;Jnaqr%pJG5#U>9YJ!mil=N0O629xL*-Z3>7G@fs@~YcTesM;YfHw zvDKkxV1OE77`nl;AiBb837e>*ch!dNNGI5$p3w}D)&=9L7|3a~<+j%E3FhweT+ep} zY}p!H-;fZ~SM@lQcKh#2c!Ds6M4NnuqFf9P2uQZU?ELvpVCqm`zd&IMt7>>IM`F+y z6{U}qOLDW*JDl_GdWwq0aQA{QGyBa?GEWVyIe7dBr*X-VwRDsAzI+Gy@4c@sppk&y zQuIhn-9>+SuB92M1@7B4?`2A<6R&YF31>K88?Qldt?GeMix@>HJ?%azG?B ztd>|@yL+ba*=+v}B##)oj@+C$N|pJ$+FcIH$l_v0xHr*tx)1X-IeB^FDDplN;aZz- z=kjM;(O*TYP{HU|*smldDN$Z0BkgYpHOjEseFhYdHEKzDyfnVLp6hXu;PD!n$-~P(4nbN~nD3ca{D< zL`yzCJ_rZR0pStQT^_HGVvnl2dgCP_N`J*<^h}bx!glZ*sfsRSxK2SOAdfic>2XvOo;+eBwdJg2`SZPQS12D1FDe;{Yyd?QU@~qt`@4rFg*-6ot(1lC(mkLhu`|i>E zB~dvInQO7r^vuAshN;22b?XkHx?wg>CSU}lrs2X&ORmWNiVa^d)RuVbJ1koRR64U`Z9zyEm0Q zOFDKh|LIA|q@=1!hZjaZ{D13ao0WBmE*yo!f6&3 z)-Jn?>uUmLvlHcBE>Tn#*#bGR%0PC4I}3a)KDcfgO)TA0W-(m3^J8B2hX^!2a7~|* zm;yEhUAe2NQ5=)Q;gb6gk*0-G+xJNt1iaBW0cGUm+|Rz@-#~W(FZ*r(VnD?_57j>G zAtLd{^<=KQe9nHXllbJxJ4g;-aw-cZNpIt{4mj8_?R0-5=+4o1^OGDKJG%kc1mwmu zaD_*q+hK;&TH}6=KmS2~86PnF{ruQ1pmcw2-u%38Hh5&qYfa;c@t(c1QHGr@bo33A z!}cfCFwZkJF-ab0vUu~@)fq3AoDn^ih9u0g2JCe}E1!R3b=hM-JNXKK^Vhlh$w(%Vi_@FwYy{hDp3bU`3wP)WFQj^l6>m{NcRwRVM zF|2`(^pncm7*f%gSe3h$A*#;HFw6`-z)IAbN&FddT`{l<*xQox3x zn=2@d=ofwNZzU-Ha25!m?!7lxg#QE${<9fy9n`3Q%)__Vo0`SS2HV=62$=i(`qB

SBV?CuejVmJXkTL}3GhFC8lrEgi(5d6tPD1;?vhP;57Cg2;3n#)JD@-4$8 zFZAKVA)oN?@Lhvd?FCq$qEr>ZO>*E%M!Mz>t4_jC3fCBFholN>jfK)18}ssWA6##K zpR1p<>??!f>rp?KJz88p4}Q8$e@+8TcXUJ1)_0^_5$r?|J2CbZZgm1q00*Y=>94Ii zP-TE=HTGWg)5Y5qKL;TGzp8OrWYkQ8pY}UOTxrN6q{Zw7uIrDPuEsUFXBxqY2|29s zv^?#p+euO>i!tR;8^}<>;f8Dq9ZP^!`}G;vA>eX^iFvbSE(@FpknHjFOGB13{F&?# zzJcpt>%Ma^+^ni#yjHWt525ZmP>{P6Jly90@S*OjddIO|c5{r@;fL1M-VR{{yM#R^ z{vuZW4b(PGX!0;0h0p#&T~p`Y^kP-x3jnKfwth&yxpI9lW;9?)tJQAtL%t2xZNX}M zJ#?Z7^~OkKcLQL@Cp&is5DeyP*RBbvS2&D6S$_@~15x&dc4484fyg#3JbCZ6#w-rh zV_Kmy7+Pq&N_96Y;F}a=>c>0CTvYRt48=iBO?)%#j(1QUxP0yi4~yTuiaVV5|GeN` zDGEByBfE8IX;@n7@j1)1Rz-;!EmbJza~&;R$(zm2b?pxbct5llCB?uw!Cx2K-~x_l10w*`7c^kQ{%24K`ZEa z^EN0rV4vq}y}bVewAFYTPe3xW6~<;FUin$T*_jp{E=H}AvlFEt0c}5cSqi7n3S8T= zlxet@82bMo)~45O?d)nlw`-AC8Ff%*v^qc)KpBUepr;-WD*;Bq)9efl;k)aylA@dS z99S)dhfD5gBzI~dr8Vjq>@9>ePZ&1dJLnWCj+C3?HmjK2QdB5UiPN)CFW124GkKTTLjCgaifgvhvT3Y)h}X?4mm9UO~5Qo5s0w zycQWvla0~w$C5o_de>du%f+>J%^D^5E-+C7KxbnFx&azzt-I%S7a-G={-XbQ?y@-C z2x1{nSe!St`n28IVpnF~h-YK2M4H+KuXHK zkW1sh)!@lhZha>cO|&_Xg-N*#+(t6@x9wnT<8);pGSSs zNN_R%8AE^JhQq=D3umOTm2ot8)o1!cKB(nUgrStD5R;Ss1{*k21_uYjT9^o$iyK6O zA>0$VxZ<8a??s&qlNwJCkLq-s1kk+0yO7#==gvyLdGU-cw2*jOc(*v;dbcg9J$CFE zJcb(k$AQ0t5|ejs=q~2Sd~OA_sih=qi$&$Y z+ah#Dn=ydIT!XkQ0D#jE%Wd#j#VIyz3GX$Ca);TtlIbiTLI!)vA5(XYrF z{U&5ZI1w@E0)qN@u(+sb-7mjfzH)_0)Y=I1w+naQYdnX#@ec^tTJln4bUq*SB65vi3Rzaut5e8ynDO=YawcH5 zm^APo>vumtKuHz5n4tG1Z`mrlHxUR@;PnWuwIo0@Oo&`)ct`b95CA zGm>%Ia9_uw!YKGct0FBdo4Av9L^IWDRIG z{ovARBW3gtMn=yt2gcCJFD$GDTnSIiVsn`;4^wGL6J;jC5Sc5T2u@z)#%y<|g z*4STtJrl!V#K*-}hZO7Ua%hvv_!mDLRY;Qb^*i9h4?0En*16(~%L&^a%xbJ~xYxP$ z5%3Bm`vwXjzOm+d5!nd|1Az741402I2?!MK$qs0OaFEa(LJ;Hs4;ZK;$D%_xB3Q!N z5iKhY1Z`As+0Euelq;d&@b~ired%r=GA=f6+VqD)aQ&V#*PA%yG12+p4W|$e|51Pq zm$1GO65o4p6^q8(h4HzX1)q-%IqfST^+Nze2@!&}b~D1HFv*UATegulOCaSv&KZE4 zpot^#581ZW157n9iDyj=-YMkh3#KctncrXZ?wo*l4+p@9i_op&{?l%>{ut{HuA@hKM1e5>;CO-jcw6Z zQ@Y&Pj^oa3l9D>yMgJVfr%Na{a?yeWk`vRhUlukRFdnhJa%D>`02$4IQbATWb2A~W z#B-S+%&e@2!R#@xknejAL1X8@fCO9)pvBe{4k|P9GRtC_e%wPJ|I%s@9}1*c-%Lji zaMO7n37G|Zd3kkX^hsENe7}1zfoQZS_K$&6OkB}i-ZVUp ze3umw%%D$iuTQpK-(+Ta3ylI49eTL-Qt?falI|f!;^X0xtK9$=?byv z<+>3l=XBOo?BYEG=^m^2dmpi+VI`ohtb7HxH#oTY50dlONN3K$KQNJ@)?d;)`O*M2 z()aI96nTkSCxRLbPoMZ^aD|9TzUf*qy8%q$|HLwbiUkV<9aT(q@os^J$nr+ZLrVE= znXIDL$4$8ugxJ+m5ehO?0}q0Q`n14no@8*^>DUjB0j01*doB1a4lqJPXK0XfEce_4 z{tKhK+2$+HLaj_89Ua^}Gbw9@%o?Jmi#K#_sAdG3f#KC;r0K{eQkl=9ZGX)o{%o2R zmFI!mQu+gV{OO_#U-B|y z_-}P>T)Ko4=DJSYZ~@9I+JU42{PQ1kkv=oO;+Ff$%}Ouhi)v4V2y#4n`o{Kbo_7TX&9 zNc0Q@6mkwwh(q+M>6veDQKrt<;i&PRRRh)o&I?ZY5JstBvB=a&zdRKO02Lv_$UKuy zrec{n#Vwo02)y-vnN3i9*}s5PtA7Bg^cl8?Jp9Kw{#qgh|8MZq*|V@TI^#)SIyN*^ z-oP<9`G1d}{^XSXlZq|nt+~W;DJo@+t~U->T{6D(8#G8h;oN}#W{hw0O-K* z12l!&)Xw?F*;DyzFxASM=n9#1zl`08gMmW1Z((jew^#-O<^Ab==-jb}=whq;n733M zIB34P*_JtS^}2OPoeD_N3-ocYj9l#}7lLKM=IwV?9lh!IZdu8S22VBvq?lae`)yMwbju-z5+_xzt9T*KK=#OcA7Gu(A14O5v$zBQv8G=$7flq)fG z)0>?+vq}UD{LkUx3i$k#$Ei^!ZD(siEK5W%k3~3gL2un!u01=u$qz@kY5(rftv{irpcd%ueE>vRsw4c${{mtI<)&pX@Z%zvpwze*v+z{{~_QCqXm=7`36ZALHUs=J$8J=L@p_%?82wS==Gj-y7DEW5#TK!y-O2kt4bOE*bXppR4{VF6V+y0w1z zatLvAe|ado9YiMN4bax&4i?zC^PPE$=`t|LMNksrBDwnz9Wiptq7<08lzUz^%N_N` zx`Oiqa9cI*cDPIEoxmy~oP~P+giHvA1E^Do1Kf<^j=zr>zsxHjk{>=CbKqKu@r-2@ zD9&?3v{T^;)sMnY>+m^>6{PiOrhUcT58sZV_ZuYRp(W?y+OlsF8K&k}qOx|n2m!Or z@ycDmYzIaEf!PjDR;%k|B0YkJRRYOzWfhb3j0mO2uOh}js%D!|Lyp6?SK zIsLK^&E8NwIK%FW1bF_F1JW@au0T#WB=9|e+?a!H)mjnU!|FpVGj&KxWsIJ%RK^$^ zS<{-7HnHB54Aw&<59aB(DH|5G8sg0a`3^@ec%RJyCn8w8$?3|V<(1Vh!Z6DsF;m1L z3qBAyzv=syPIn6t*O~cZmXTw!>r{&CRSeg_2Q!~*u75(e?M_3ZMz|(^gK1$1&O0r( zIcCOUKCt66th#0>lQL}kLEyEv`;V?hY6BHRaf0a!A_*SOKtjlhN$s;|eLpH19(Z*k zAf|aq3K>_(ks~*1z$JZEf2qMcUNbOXSs`7ZpC&aLNNQz8MOAO{#UxoDUedy`Jby;d zQ-r(Sh+41}+)b3~*YTNGrGl-IYds8ihONA3yJ68o;Px;%O^l0+^W!s9ib>y#rs)DX zaq@cK!mq)N4#q{0)g&h+|PthVd%&ESyt4|rcw5T-WmV+@!_*XLgC%JzZeczmdJh- z`)GM2*L}pivD zB6kDd8SEeN_a3Vz0hxo82y=bATo$|gm{+61P9oAvU=;_OTHr|JH};mGrpTKLXr59b zLacFFP3-k}cGt_uELY%_nq{b*XO%Dk6TgE8#Yzw;pfJL5-B+2Mc|=^qD@#w{vCE4< zhkr6IY?=Q=mKrhO(SUJ^nsD%|9Q%hdyDe0pP;E)IjI5dIs>*UUe+PXb94UbCe?Xx3 z(VD+-YqqUHzP{GLtqrzM?=rJZ+h(CWTYu8t`W-PPED7CfQT$iia2#!e^<3K^p*y`D z#8$2v?gf&CZ0ibAD$k6njn76#~~ zUMBQs1Y#gy?5!pV&k%4xQXBfmfziWq27R`4pHf9W{P&3XrmUTJV?X3lUtb8;RP*J{ zO*aBFh=7tYaQuNK8-&E4HW?|G*;4TP&w7J(d2=ft7g>N!q=@2HW9wm=F~Bq+7Mb+> zTUaQ*hKo+lyAN_73{jec&_d;Xx$fopm-mrt#Dm-u+#>~sEFxJfk!H5Tkz0u2@y(l^ zlyf1wVQ;_3mFaLDK_sqa3k-b``VE;OlwyoI}}m5vyY@?tIuj)eUl@_07%G z&_-0NFF!N%=bvQ_p2in7E$`nK6GC~`N$QWQq`uBy6D`DQCh(Z~5d6{rDd+Kd3w`Pg z&;i{~IcZGhN-%dtcZWxB+o7>mhQ!w3OYn3+=61d#PG@WDfy8cRM7Iv*p`s~@zH+1*v(``)e^{g&*fRo{`$}>Ea?Du6|7}}{V;vz;E z1_2qv@Qc{KANG{7W_7v!yV_NQ5EkA>&Y;X7@xm2wswRDo1ch)Wh*RGOAf~(~-Pd}U zLNf~9h%5h*T7#q`vBk1XihG#!Iz7cqj9LCEM70wpu(_#~U!LIma?b^zQf^R6&a(_*=>Z^O8pQC@P7lq(-kcGir%QO2ORBtPY46h8M;7}ZCA?>bt^TMjGZ((* zEhsdwP96I0|IL3Wzzm=IB!6{ZD=}>CzO;CE@5Kbs6(?N+xag=w-)~zn$yUpII_t3x zkYO5(d2xy*6FCgeRpYXnX9ZE%5Zs(b)MmWE&1z>|j~T$zlYAB33N9@_ZK%o;iiEk8 zMOJ=b@hMBvOFEL@(e6oCe-{-k&Ld&AgvyoJ>-yjTqM=ahb!;_$$kQs}5b20wekQ1d!yZaBSiB6QS23`_^q{4)3XLP(EuWej!DULa(nt+II z+VDKi-j{pO96q{yi(oKEcktrzpg=Gd_nId@4V)b++mblT`+rY_z{EXuQ)j#Q<9P|c|Fe5Pt_DWvf|qiSVMpRO+{F2-<42t05Vp#+E0#2T1qJxytw*#gx=V(*0{%_b({POds6Yz{*Rbc-A1N<5uS(y;uVO z;N$Qj{p_yZ{x~a3LO>w-`Evq^8^L1HBJ)p2)=u|b>#SU$9*2M_+;(lrGJ?0}ffq@&`IuK($~=b7eeTwrK+N%f0Qb71Yew(4cvh);4nSYlmV0XEj@vuS z^%daYVHWT~RYyQn_iv)J-qW^?3fq^E7RdK=2griFO#Gb%9AQvkpe_~nMqS!`YMz!{ z&Dp?4!!r-PJ8oXII@7b~m1D`t$tY4Ccg_8U{>5kSR0t4Pc)SB6A65CUYEt+sFuRXA zIRt|k)nu4E0kQt9kS#%E*gX(w(HRnF!OgkO^(StDp+J-x`TBj|u*thDD`r^ldt zGwz3-3^sT;jJ~jR+Fs#wAOb5fv!I?!(-g0d7BmkKqA$BRG_K@tJy)h?YfbZCu%ZFn zf6aVeZ}-n4)trl+y%VD})i{#lo0FTnYZ*bO19S&`0dDcPT;B3L;lA*r8vPeFI33;< zMsPvM1q*IBf8m>l*WiBK}R9_T zKOs%D{Yf`QmUcPzEI$4_+J!{wUlk{q5*Qrsnh~h%ZDadO;6{!vHZ*1Gl_N3pV zM?C&J!g#}y%$r5)4La{_`4DMX5*kZwv>E@RIg~Zp+P$w~_>udgm8(_}W12V(DBr@_ z;nkuRuXcaa?r~6Ige#DwMm9nJpDSkDyZb%6N zi2fah^r%xL@TH#0u62|zM9I*MCn)%pu7rytX1#{NHU5$*? z8%$ZL>EDk3fX0I*O<|dj<|8gPRs=S>kdWvPYdPT9Bv{8|DF{5Q7;`7!V4|v|C;qxoMI+%lYiAP(m=9CE9C#N7wh9Jji)y|J8+%k z2EblBOVyfgy9Jt(buwGeSCsn|9tpJznEKLeP@y|MPJPqe;W; ziZJ<)wv%%3*}KFjpl@=#pNW~7o5T0_$-g+o#>+@)~?h8fLifn%0vUy}w7x-~s|Q~k9!pLe7mHHqr%rcO1}z|v10*8^z< zpY-8YA0EfUnFT7?nB{nPT+#&LmG%a4UnJSnbdh}L-*ts?S8|bd8*!C0T zub-S_cCQG;PWdSU3>5oG*9e04lEN6Cy<|?T-2V-xo~3hYwNyyQV=!{@kW}CTji>>2 zbwk=7+ZoNjC?g4p-JSD5xpxX?elGBmlD>crk)T<{|91O!&y`v4a$-A;H1eg}xU6)} zd07~G&oZJFUyGP0tyr;F`U(yQc|}D!53E1}x0TM7%5Hk-^lTe(C_DbT_>T7@*qxxI z65JjD5UC||&C}{mrb##wbVU3&5jp?pRYynQS4RE9E%xvCRG1BO=jIzoYs$=5&~H?` zv*Wc>A$lM(Za~m(b@=?q>h`;eXn81gT^zU=C}&UEie$4yYJD~=Q}vHzirGe@KN^5sji zI{2s1G=MX2YwG=*=iR%omq}^t2l)ayL3{sm$i(Eoz2Ot~*!H1p* zI2EvvSZDTZ0Z`E}fFPhuolBsotwQla_&i`@T~%cbxeM4?j6ZoqkPg?y+K&;kjBLcX zQ3{DQy$tCre;YE~qgB_;FD|CbC>uO}@hht7hXo0WC=KT!#<_xmL|TC0B)-^QMTdyn z5aNq6%t+RX6>RwJqJ+y|$O@hVphe5K*Oq{;2|W>L8%c2(2_e-1jb>w`7%#6mFcY#k z`et;B@R}rVZrHT}NFg%=Lw$;c4sd(qXKm|zr*%KP^PrNNufbhOp`5MIdr(_Y9*h6^ zc9~E}F-W2?r-#@(dE2kMH-Y@aDX|BX-Lks6z_2h0ld3&KhhK&*FkP$y<+bz!LOR;l3$sA|-4*nn@oB3DQ`OYMdHKe@JI= zH$|LWeBbB%IeyF>E100i5VYXtc?s)3tLWxjKq8sQQ=q~#{o>~C!RtRv8gwIkme=QS zp)LWHm((<00?+-^AGggG!oTX+u@Cb^jkhVAx@CW}@g^$Zt#d@(`FAp};f@Hg$F!Kp z$G|V50o&z0(JwpFEZ({|u_@q#^>kkQPyF3wB+_Eu$u-_Vj9CqFq2utxTQ*utfRNX0 z7mb9Q&^!K`rO<)^6u+J16&<@r>txn=stG zaf1e&cB+Mb7t=(1OFy}EUS4P3;VklAUllbnsp;6_o81iRo+(5=K~M2kWB2M&QxD9U z(G!5Nw>!-Kh-AbCbMvaJKdR)vG22zmd4^-=?T!n@tQw`_`ifjQQU-&HP1f`HRp`+O4Qq=*3reV&iBeZayJHRBaK)9m-gC(#KkxB_ z$`c=qpnm_=l0Z;Fy<{gyeiZ( zX4^1kf+Pj?6b#4F|{`%e#ZtZk%c5N|t8(x|pNu}DnlqZo+ckTIGXWM!6 z2C=PE3cT==_gyTG&;O3C@R>J#$=M^BEYGS4wJ&t)Zd|w=~6%m*CSQ;m0S7~^nm%{Pme}4U1+YnQeX?!?42#W+` z_m=49ljls;n;7PDO(>0);%ny)^#w77r=Z}Qb+z*+*M zbyNhRSI6UDGtknGV)+^MW11^+aF)sB^p{I$zK{hKl(qMBK5FPSMHk~rw`|+?OnqW4 zgU*-DB$BVl;zjTT3NwJ`*BOzYz^7U^DBiD=neAdR>MCP8dqQhxZ^RK$#}hSQ5un6Y zR@Pa#*Y#Sio}rW>Zu%R>kt(rD(hX$wa;2-qn0DH&TD2m zYrvsgHTe#{I4W7gQC^-Wg3r|`j+HlD`1uE+p@6Uqo&gPE!J@S8IG73_hwvMEHk>&o z(t*B|ip(WrOxDHV4enK_iw~(24=eG!wNITHj&6^Jh*Rghkd}BHqo4`2_YAp#C$^EU z9XNKFaM+pqvxjxgrcmWL3|C;1raosq;Z8!J*u^@mCKJk?n9nI65KTc6@w% zmPvi7xZ^0?5N`=QiHyXMDRxD%zG)L1@y_g4{Ov9l;WTG0c6taEy5Ro(mvQ{!?DV}B zd&8wRU)+(~L3Uqv!0TgGho$k*ra*?NYJdg^A13?dY&M}d#jfuQ!PkKXc`LU@gauKo z#R!hh23Y>%Ywg03#mk#u)Kn+LKLU+)Fq&v8dJi+s6OpKJ8tdvX%*BPotC@7HKkJN0 z#}z~tr|?9|N2( z|6!c=*H37D$FVs6m2nRrBcU$fa_a1_`W_@ zYG(4!uPz~x1=a2R8^x)NP6Hz^*aT>R+N^w{*9AJAr(uqq7=X>4OD|s3WnN9GQ587B zZohlDJWm-%(H$BVlXW<|@f(9a-c6`e5rn&jUwy|JufTk@aM_Zbh(K)L#!nnXcNQN+ zYhofI-WC@_74A&D+WUC5e5QrMHXrRAM&FMQ@4=LAUtz#Lq-;C1x$QQoiD%flHKz8_ zz4>xX64*4>uSHFKJv_gXVH0=b(WBtXW22KIVIu-dA*_TQ4xt$BZ5O5{ybNuw z;*9Cy4tCp)d?ugUAYLYX@OvE_gvlt7Ibybq4@@{6sdzJL7FJgaqAm6U)3Z?LsvAy+ zn7YsTeegDK)Kd!bC_^+yMeQ(>2o zA5&^$Z5;}sNf0}UwCCvGcB0pY=PYxjRsb~X24m>?8PXm;{uR@wVHf%YU(+Pn356#J zMoJ$30pKqMoO8_I_Hfw&tB&IrmXof@xe*8Y{GZbja}W60ahIunVS4%i5b;nx$=$!< z;#&r=rc-e@EWiOZ00!6Ac`YfrcA2^@Ew&_QY=NDXJm+v$I} zeE#@7`$4_$?CEiUPY!;M`TWimmR@`wZG&_!P|`IEN3Yi0afJjIf@m=Rr(o6GmZv+4 z6Cbxenkw*;fl3m9;HQ|MteH=kCSSjPy{|SAT+mN7s#!N?I8~oNdwe9Ojh&u_1sAHR zpnF9yexaXVb$>Q*N~sDB{;w)Tk3rV{ygcb5#|eIbrCLAvs3bzgjdbZKnI#b_19FG6 zl?=~z?jzzg2RDb30N?b4Q0ht8l3AjtSohP?|$ zvzYT0SRV6`lkG8fL`OuJrQ{a=&LV1vZAQk;*eDVt|4zaCBC6*U_eHNiwHB5vC9tYk z*i!}KN@azXQZXA!r-#~TE*T*lP(PZ-eB#TjMDH^*FwPyU&PZlh*x#c^2uiI z9m;E)RZ#MQR1p{yG=Z;W`=xFO)5PkGQ4t`eoo1#OZ~!5}Tzr_*bO@57GL6=KiC3+y ztx;Fv#6*EGYVW`~X1PBau1|Qdw;6f%8Dxo(E=xudFL(Zr?}oX%dcX#NG;UyZoP^{Q zow97)@sQruK3DC7)8NS17_kyth$|A7ezMygKA>Dc?+4BU=l-Tt?a2QRidHY~JxyXz zyx_E~!Ks1+&G8Mb4}HcyX}iM#j~;19%6NcEExuEEnux8;&o39cCqC>L;BEVIZBYH% z`sAb}NBF9bMsxw?_x8(*?cmga z%VpKIpS_%0!mz_F^Urr{Cu1Cdk9yOW+snEd_w7p#T0T0C0=LsBFHqE`7Z*lh9q0~< zi;j@D;ym!1$jKqxe1J1m98fOHzAWoL5@qh?LE|H99M|lM!TdIekx{U~zZ}9H&|azE zAd&@zv6Bz9J6!Lm8@ynClcggqiEfdjaOdAp`Pfus@j~ z%gz$PdIHR6YQ`_yqS8=sr0eU>g9q(lN$_zf7|XIA`R*Y(9O2&HJJXEK4Bq0JBladp z5{x%v@~*%Im~dZOr3||ON&r%%ZGukB#N?)3DrErWkp|_NbLF$Tc06IG_JE^=;(VI- z*2MDUkHC^Zp7F?ys>4YfeRR=j)l`WN8TqYoggI*)50o)WWz_#Sx>7DyM8GMu3E7OO|8Tu5VLQ zre?~0Ey)KPi$V`@2nwnWRty9tP~%kNF21ozM=%(0^f5*49**puELti&Q()H67XlP? zb9uu>&o{Bjez%JTrJ*ElF{r|~L~BkwqJ6oiJ)>%bXfV7ac=hn>sK&Uus7OKFT+Z*^ zR9jz&x7q2_4{C&bzAJiNsSo4di51eSBmFX0_S_>Z(4LTCrIHZg#7`Gj8+p8aE7ciD zn*pad>%~X!Rl-9Qg+gh#WFpRJv;C@Nt(WCWx68LMOox{@xX#xrz`sG(oPcK`VQ>r^ z5XZAOT)9R8K1%?$QGKrR@O6!9@+I;JK)&YRe?QDoCI6X#E=Rl1I7cP3KcOm8u2!~P z;=fWr48FRx$;V7pDCBC5G93z;il(qTB)vk>rP6t?KSnZGy-_bQE`jbz+`KC_612s};bLuBUrTNR*@cBR@s%jth)#GZH7k2o)csyDIr*(Hl^gRK*XCb`x zAK$#&fBeY(?c(W>LVVnJh&FKB1n6jjm+DTNGOfz{KAAa!DhG?7%2aVG>`p`7p*Cqx zD_gc~8B@&PkG9J+|d z5m*W+WGiGW4jznxfSte{h7|rKB7R{|Mk&Nq2YD7If#pKQzAUhq)zH#{#fKb6fUI#J zdm$hhLw>4zkjTA@Ph|1+8L0k!|DhEfNIfl$ko-=K@3{MTL+{FtCj<$SaF~Tu3a-2 z$+~IN5cYHdP49*K9ckcie_R*9t@#A!a7&eC*3r-RjhfTP&<3x6G^;%7mX3e;@xzC_ z$nASiEFC_=mHVM+^G{2#CUCCEaJ`E`1;&m2vu{s)kA(oGbjyWzo#iTmu7`Ce>|uC8 zR8y}mDo$LW!muvW6nh9xSumbr6jxg(3!99SP)?9&BFAR=ul%bl*%l) zGbwt(e=r!7wzSLu2T+c*(?G?GC}hazAKNyau$w%-)wgi7bdXM!lZ7Uv#iy{Qw*$>b zQwC3h=gq>L;l67ID$+7>2;o(L#0~0Y5T2euS_P%c619aJ2w!^0a?ZoqPu`h_vwrG4!Va$AA z@W(U%_nW1g{iNwIh{DN^&ILCSj=3`#7AoeeTm7zNMEuDyy-=lh+S)H^O2N#vuesTf7wH)cpkDZU?KeKR4rH4Ufu&zco*Nc&xf9N z`_6wi1WgJO(Jji(hB-gb=)tGFW+E>Dz^vdncTlnX);;Za3Ns(uHGSX2Se-2Bb&R?- z6sFX9hX$!!-WGdC~P^UD31k7-skg6yV#MMbM)|1ick5DITELAL{DtgstBzuo1DO$N{kxjZZAyki7v3 zzIvnYYH0cPZkZWxw7>=(0Oe5v5daQA&2j1d=ovIFaf-K-A&0?rHEhkm=2dZ0L80n5 zhAj_>H*%>tU3KduF$_kG3mY!z)~dmBbCWY-Vi_>jHa2^SNygf>_kfFlV+TD3;gv*g za*{}S^;E{2GQ_nU-ADbV-TZ;NhK2-Ot?3=*;2pX8Uy@_=z8|&AjUl_@ynxfUKY?iu!JE@W*0N~#+454e zfAktYWmODD5{8tQIC9%f4b9B70Y#ry>lpNVqnM{70;@Ufgu)PfP?oEs-J9s>1VOZ^ zJA&D}Pf8w;#?l~uIJ8~_yA;C|^wkJ@Kv|@o`1Z%fA}P#`Gd>N3ApQi2i8$`W-m4s* zRnMr=y5CoIr6*#(z)%*P{_p-|?hOI{-FvtgpB*ZN)PO4sk_u(!)@T>pcY6 zNmkH<2cHH96RCd7^{)WYBu~K>r=SbIJsT)yCgs>b3>GI~vC8E-vVMBj;C~VJ=5aah z-TU{IDKc(zq%uSqiingZGi5GggP~cJN-9)r^AHNjRFsqyDl|y8u?Y>*pos=W1F49H z=Y7`R_wV_=oQ$I|rskh^O1x>(ZX@1RGRUKZ}}U%MuK&0^aNYMa54ixw}=h-19^+)T<- z1nCo#bX~my1Ffqx{;$gBQejF0waRdV=MEe2>`#^qpWk!P?*13mI=}vWTLt^#hVkwr zOO6|L5+x_I&tsCry7lXm{VZLg&~S2uCzP&QSeRIP$NN!CqRAwyxFHb_9zZ%hNcA_~ z_rLpbp`9XoV&nw5MFgN*I**$AgSW3Qd*pMFM=`>S4~rx2763%*b;jOSY<({gvutnt zE3aMi+bp6Q{itR7jDLqxR`8)}%-hQ9@PyXiq0&CZMG_heo1>)DJ~!SVFl?vq`1nb~ zd=?^QcnmDRN?ao?7$}%t{sw^hJ()Iw-VF=GP)vUW!-g3*CjAu_Hb(Xme^ezhL`83s z@Ta%vxC0h2O1p0RCH1p|`fh7SnrV`E23e#~xoD{Tc&C~2YqU6O`5Z?|9D^uD7aRq;-4`GAfk^{Oq za&Glnd48ClE6ihd%;b)-#@E?-*&>=;LB_uSpLfv+_btSGT^u_J`f5R*u2?|D??ua-RVb(vSO=Hg{^cIgGok4wz?s-lH$Lbniy8mE@C40@t8aJU!PSea$L2=kdaQ>ElX|LwVSGCqEN!k53+O~D%L zlD?UHC zK#Ns?Nfik(o8Lb1DwP^Kl%~I>)GC`pbSzN6kB-?ByQj$>C=P2d$vqn51dE`cHY8%i z=(_j)@bzr`KS%Z7=R1vFSVe^;`1awrsZ#}XFMTe0b(t2fg7-Iur4g~)++`Bd{ui?U zUp1k!I|IOIK1i)MULeOb2EJqG!qOBAQ`3pYk5t(j@HOJ0uvnl{=rJyuHc!|7+>yAr z-FkX@bgTJ%Fykg(*DVO+0r2Jv)?1|&Nz1> z_01bp9FdQt);}t38ag^?u*%M;_D0T}@uys$cVy3_8l4px-&0*P{YENE4|=J!3gXFfhnu?>N4h}U~uK-HD+vOOKp>TQ(cPEaL(!Wf>>&y z{ZIeAXN$bxyCHPJ4-Z!Mvzw>&a30x4kiFUt8&uHKD1GYPF*8%FthR35Dz(MDhe&?F zdYuGws9)YKwcelXgjTsV>*j6!%>e&9f1S=Sf09DfzA@y#Q~#t_2Us2!_NkF!7hrsT zx9aK5#IrS@T+g*JXB;^Ac1sz!ry!`_Rlq%#w=O35-)&WAnaj~}SA)rEYu5@~WkdM? zU*l=jyk|k9&_V;6+}r*X!A-Jycuo7uP*^6Z<@N|M1sj^ibciX+r%te&s~up?)9$jr6F2{#derNZpI;GRhKWmI zP)^`t4O-{7UyDYjqKJ)h7QfoAZdvZA zHJA9kW88l&uYo^3@D)Ufp>oXYOr$GPVhWt`f8Fpm5z025zq`>zrr?5oetEH#Vh$>H z{o1vO9%OMI#J7_(3UeYYPJPV%@Ar#dwD%i|YtZfi89CYy5;QHfqCm&Mq z(+UHxaUL_b{>E=gdgxF~)>D*~nc=#$bt|IZ@jj;PlD1FZ-Gtt%<7a4l6U=TGd25qk z%rQ{3SZ>@n3xv#kGfINg*RR=Cw|w#9WIhyq);y*$z{E%}*h6alw?f6MmWhgrtO312 z`d_+qDGd~^&58xIT7z@;yS+x!GjYKY0e}ah zFnE<&SZFM1$5aNj5_3pz5k)Wpj~jrr*&Z5fm{?etP5$p!M%%W(jOB&2yK=705$A}? zIr06-75HNF_XH=0>c_qeh_JT?Xu)6nb=+`sL6pA-gbpI$KzLCX5)x*v}imQkssRnyKxd{%k0=%+Ef2*bN{OIEE+u(n9Bw-h=|g zh*w##P_5`Ibit)(UAWk~5+N0Bf}6u8g&}nay(WQJ(Vu{Y9y+XmWS8Z zMwl)_d*eFD>}kh2z&I8T%Fa_ zkZnRg&Tc9>)B!0gKWsWsG>rClDiVCIX^WqFHfb0Odidv1QVK*;KH|4M3 zcI)6SAehlUgYz{0luaQNLpZDv|1Z^gBzv|KM|Jr2STWicXMW^2$|ljGxjOoE>1asn zeL%cUg%=+mPfKKHWrp1S;bo)P*MQoTmI}i)?c0Bh#v|_9o^$sjr~93!gs_&26(kP; zVO$Gr@N0L-U!ginQ5bW|T6}qBVv%0c+~Ug07@!tkE2JRWqy_y4$Y+WI z2j&)bveCWcC-_7=B_glIFpqqw@^aD7zwzX!HSptHy&-E8R}sxM9W=f!e@mU%I*!ekj)IretmR&#=mkCsM8Nv5*|m(PHnEiU-RJ+Fv4_O*_5)#G$3*&G zmTC}Bd$savh?@BLMOkNA6P`gvYZes0@m{lu(UWTj14mw3-%LjkEgY?&8GRDW=qs$6 zcc(mCb>>XT&?XhLx`X2Rwpg*=F1TbOeIv}N^SPyr>TwzFH{v%4+s+nU%0E}89EXd4 za@)m3DT8f^U5`?1QtL3bLCQph67{>47d3tBdmBX2_!O(M3i-F`e;s}}pFMC04P;y&a%eKK1`XaT#^;XE;|SR_dV?H zwDY+Bvm7fk%8n~NULGL&#;nZp<&#PKFd$$ITPU6C`7x?|?6V51N)0M_=N$ZZHBUb@ z{`vD~$Oi-ax_XX;8+4ZSf*19|O0=@(!GpuY!@sCLnb?#qSm&QwJUlp`Khy{4=MK|klLBv>ajbSu#r8pve%ay!xyL|f8}6D&8qyk28> z<5{sehkBjSx&@jY-v z?gxz8z&x*Ua_w??mL~KGQR_2VH>7yYmp}U!SAi4gXT=PgIi!j5O2yR1u_)rgXj-lY> z5E}XwBRAam6nKe>lO~060P2FBhT>YPIBlB#$@6P(+%9Jchve#mB)7udwHk|?R!ERh z9PI7A7EJxiKSJ2MK=F8IesAHl3gkm{^f&Rr<=D!z-2q&84X_G&2{&}EFv3VLAGIon zK6Y0v8wV6`X5y!kFKhYyP5RncK7hm?=JNUQ;A&E>FpJb~)`toW4p8xC z8KZ?Pszbj#lZ8YvP8gcqL$2)Tc=jLrMJ0qM$WvNxWaMNAVek+rHAYU3Z>unR^xwLM z|9#iR9laxUOKMj*Q|p0GT1rW!SQpt)UC?vE#ob;2vt4S$%&mVvw8{O%UJ{TFk5*B8AJyHTVJqv9gne2$4pO`ozE_gWf@guLo<4!-Iwp zAmA34)o>MjPt!-YDUkReBVu|rGM3C%ukYV?I5>DSk`PY<6%uR17ZuiM=H%oML@+^n zC?sgi7RLCe{-+>(vUh)b=2thP;Uiq^VO{NH5|fh!W39+Y2lnS7)yX@#JA)z)2z&0L zn@baGEZ_@FhpruUE{+Hd5eFk_JurHZdChZ^sw+gW5LyE{%C1`292E&9G~sds_=7B+($Tfy!VT#ZombG-8lF z`X*%chkr-ShCVxANINY_QhNCC53t0B)#@UBYl@65)IFpw zj@K0*pPNo4#`h8Ckw#lNsO0sGw5`93T)&24@RqOISU!F)-F6)!SZ{$;b`m{&s+aZH zcfGs6*O?i|N!iwTVm1?wdkvjjOdFJ~Y+8i8lUw#F+u@Fdr??~B1KlT~?gcZ!38^Jc zYq~rkdnTHX(_0JJXE^}Tr(GOsc>r>X@RGAsn=Ef`xr%H z1yb2tH>xCNeRgM$-3Yl9C4Rx>O2@#7}e(s7{hM`7M<-88(W;iCOmhRyRz zePES2wyBqKz0d!Nm#;di@CA?$p9Fi+0MYmmYMY7cqk?%je1Euqvqd$|$9BIWVN&dH z?&oh?b*GZr)t>G&S?T06+u4`G`mg!XX7X`aT0M56Cp$fy-D(DG^8NkO?D3FbJ!Y4r z`}MmEJ|~h`(YhSB-Y|RuZ*hA_#;|BPA;Ukg$=zTZUshF>j{p%4lGB!?5~dd3g{RLz zcr3e5MyaXAax6!V97$i3*b2l^PPm)}*im*#s=b3jjW4y2OEQSoY<+dNHf0BA=ji6R z(@9`ZPCnCg@2#m9c!FhWhK<)LNU4Ir`}7-5FOY0zT4x@EHS^{P3&YAG7d@R4+PE4E zH6Nw_7kp~|>Zn=c0SRmNM1t?t9C4_!L9+&N$`x2%X>s$=qdxa_! zrJHuW_kbCFuCX_)9-keVz%m~C8_bQ+eP@zW1wA=N&P_wa4U_#@ipU0m`*$mD1Fn+U&v&pOTXLN{6yeiotb~|+Mt0$BXDJh}EJCwog z(eE)O{#?dXd17>d##CSp-kJMrc2{a}*l!ba;mxFu^=py)NQh7D4|^JMS!zn|YoWaE z@n5~av159|Y$ChPahk%mxx4@MXy$GyYzI(}R#$6~TuDH|qnGR8H=)G!K!vzMz15yl zT*WkR@5?K3Q3O z2)CXKimeS#lB|9HHnwduB{SI)VnsjI@RNPC=?Q_p_jxdDjjNd+LLJkkxd(B9Z;~3> zli}65g9{$HIIO+~f3s={>lxdB?A$vTo)huEzl72sr$!t97;_lprY_FTk5C{J{vILe zQ|mP76|`4=K>vi%x=jqd(AWI`+rF`iaKCn!G z`sx+>=Xv%Hc6NBQTIWaKGabr8aB1mQ)}31?h|&n)R1_-w6MQ0jeY3Shsxk#mN?koV z*d+bDr9E=Dt}}zbiTK2{!1O^GZW02vu|EIrv-3E1s6Dqv)Wbb6B5DkuNBBF#(k?3Z zOw-{b}yVHlpF{B;{gg(Y+2YCM=lIiAR~jRy=k-!Pr}ry)!X3+^E~f)V zZe8N1X|!Rz?iR)jybRbVdy(PG_Mc)!v|kwGPvqZngEz7ssQto`_)0#(w`2wk2#+ei zIl}%I^dc`lp{acM{Q!MohNw+n0Oi+sIRa0k?h!#3e&c*ZqT1R|D4pK*DGsL>R|kp& zJQV^(JLvG_ai1vN@Cb%p_}S-NqR&!fkJK7Gh%qubpHqDY3?Hrzh@?Ij^yu^`xSsC? z@~3|lT6kf>vL0^Y$dFb`u;;S8F68fQH*r~lTxbGqwvaKhGJ2bPHq;iG*n9U@cqf8Xm#l|skF9MNe4(DvmdA8tg9=5DMu5>5Dt`uA>b&b z&U-Lvh{$I;>Aq5DL{eLu7H;;U685|}g%g@I`;$=rObDLb`bU% z^I`+?PD(%v&4J_~pctqxE@SV>5b7XdrR1=#$=$oQc(^R^lsfb9E=)TSPoo4Dgls|u z=z@C{kPM)|KFabtgc*iFVRTOrhVOkEzd$L#+1q3WSfgHFG9 z@63EW1y&m<#VKszrpuL>xtGOo#iyT7XyaIa*}Q8$-)G{kZ^b&>8c4C$Wxs%6A*GG~ zh|5^M_?@RT^hj}WF@FZ)h`IEV4{Yh=0spYCS6aes{;=%d zW`{VV%oi*zuVR{c;uLleRS)mZM_S*fXz$M}=d(zi5fa~j9QyAmcAP^S!#Jlf-Z|;S z030kOd_oSB;C~F1qqLOLax)yU@7ToAqo3h%3xQ|7AjC4O88fHl>f=M0fJIw=EZpuh zOhW!UUc)F`jXhcY2EE{F(nR=7eK3E)f&_e3>>Jf)&g9g$vWx!c@#Df42q?DkH9tSH zZtyKsZp@>1sLb-zOQ?iFi5s3 z#rVMC!ztqOF{zE;zS-^Cg;4sPL`zv&xXD6e*PpXppM{)uv??0aFVCloX}4;hE~T?7 z4T7m7@~$&s@jhei0~_D-7Yt8s4OxAp_SnA<)Wf9%`<+B@g{i5Eg#Z2=cv-no!Sphca zAMgtqZ5EU=JCW8HySykWDth@ch}TvSw+mOVQnv4ueOerzJO2BPUj(|7CY{%EGYzjO zqA>_vC!=D0cD1~c_=3=1KdB=rB3T!tTY7(YDHbS_3H@bDPg{EnJ8&oLX@gLVGB|KM zIP0;`hrV5pK>2M;7xX>4b6WRX#q>y8rRz-j;+3%avC^L#gX&XaKCVp6&0Y6l*CyyS zpb`5Ok)OF93`8zpTU_kl`)));#^c$tZzZ~S?>>GY*@h$rpj`K7(7};&4(&mH<9ViKo47+h>}9a}e&=8h?3^Caq=)fZ!r&U*9&rIM zi^vW%0Tncxpl4%a!(Iz(Yio1!u?YjQ4_OyhW2m^`{$j`K31Xu(HH|}0W!w6-5gn}N zwaxat*|yW_brD!~{Ibc0r=q9-*5tFvDF&`;W2* zj1cLv;fT>l1h^E2)rY&5+S;Nl+c3~;OBS>~1>}-G?}Vzbs)cM7Gz6X1dnj!8@s0$Z zq((FvU*7!txSyQt2&tWc9koai;RyQjsXkD@U%q@ z)^2~1IxN#^hrV6gk^WFoL7~&Wqs?79)^3dhD1h0pb3KCX6%@ znnt3B8OE6No?a&WH?kJ8wk!p^sf^vH9WQB6uQ*PHS$Y4D5E@sf2{<}F*`&{7;})em z2V28Ln{J;%ulBx#S;yb2<`S{%b6KxBVq1^bH0>L*UVwZ9#*GEg-1s~(xzTo`j?O;K z9|WAJIoHm3+v#27CNZv)fbfi`>OI1WObsVyTHC2pCkl5%L&K;d@nG7&mqXtlq*2_k z<$5H_qsNolgYA9Wo)xbads_c8F`Zeh-CKH=GtF18Is7fewr)pGyjmcoYWKwMK=QAC z|3dWWfDT&92n4vx!2w1if&KP{bi%%)ry})>ck8xTSX(k;Uve2}hvP`NT20<+y)o*uW$wq%AFDIm;! zk+!P3`tZ=wE0-^yh=1ufq95(-$!}&cHBu5=w@GK&A_8mMl(EcXY?AkS8w)OueJCgE z9^N2{$6Lr=18pbwy3(Y&pUsFf-t`ycC=J|y>#SyqbH>s0Y7nGtH5n9)r0j7Dl|kN+ z&IcTmL_7{ob@fm21J8ReNPL=+kwFSZC-g^R-|4&)vVQ@Qj`*= zNh@Lx2@19i(qKvj~9%ahT9}feB@*swVG#D0UhsfT2IH zdup4Vy>g}c^Jie#L{4~=bt}jB)`)Wj7(|X5JvvK%`TL2y#_d9lh`HLz*o>9_b!U1e zaHY{>Kp*{KMBd9?mY^b-Ka~D1qS|8v`j(IJ9~Yb)HVETtT0cMpvR%^!|D^|xB{?5& zxjo$7NgGq8w>~Zjs+pL;#B^ZU#^C^77Wo6*1Jl<<9q`0$sf$ zkMl5W$Q7jhQ{-muY_K6^Tjvj1weuTCEc;b6R6w2sWx~z3R{2X76+=7MWQAt)tZona zo?;;v7Ga`UUa{MB%a)S5A-U=;x?LeoCP{Sd){R}NI4w`wK$jGZIE@aF^qjU)TOPG$ zMDN(L?a=jvHQa%330r>p2$WCXfYW_PzZ@MhT;1vR$0M!T^mBT>YDnPk2gw)*U>h>b zv%W3()v%725&fg%8cagKYLn(K*7mS(v;~h(Nlh(}aq@{1ZLl>2gTw*q^eH`nwiKK~ zd1V{gbg=mY`yW;ZXs?T;NQ<5aiNCk(+?v*wT6ZYk?ezlniUaK`o;G#Wc)vdA1WuBQ z*##bwMCevoPaIatf+KE>$UbMcgux#PN$?vbc zdj5Rq*37t_UxTvmP_h-SEykm4TYRTN(%mVFfy!l5++2#Ga5LBVLgHQ(b|ytVXQb}- zIK%oGUrURQ7sg>HwRhL!*56zA-a?+If5{zy{X3Rg_uUWJ)AS!_-Obk5(HdV|2LL9V zA3t%Ts=-I>U{sI85HUe%j15m_mOX3|P=4SVOGK1HK6xB@kDRw%JYW8w7?IrT%)?OQgXlm?=xqvd1~J{@8gq=t~WYbm3!ev|M9=qX*d$%_x>rai17v+!NKbw}V#d6c_g4XulK1|@;u4+vNC0SyT+1#L!? ze7d0Lh~Iq*fhGhUke*hvK+W6~C8v@h_d5OYqwB0q}u7I~8N>KtI*+6&GKzC8$xpyaeBZFFPQ&*>? z>$ghtpUR%X`jL6wL&*ECtuNzRQ?%AmSq`fzfN%ZRVZkNeOnTq-V{j(Sf z{_fJbX>C}zV}Ov9m(7O zztygU4pFg8D;AXX;vR9Ow7rGUg_73WJCjY*Lg3pzcbAMB16=s|(L#I2eenxznnzp{ zCb{PCQ-4Aez+Zo-t5M-FH_v zSJP(S6g|KlgW~DhnwL_Xn@q1QVFT`+B@<+F%my_*xe>Nu`Evhq{mn0JdzzY?f7w|W zalm-U_U2o{CbfnUm4)$f##g0>4ZD>cp+0kFr9myiHdn*eJ{2VmwX^09Y7O+zY$G@{ z>`b7=py5XbtaLHPGrZtr+((EQ*TwTB6I@r^roj5Ld;P>!CPryP-^#B#p>$e-^=5T3mVTtmB** zxfnV9z~O`J6?$X^%J=u~9y9kr_iH^jEnjhQVDIq-3I&(ienh%OzG)m2*tk8r^^wV+ zvirLqzjbX?+S)Kx{w;0wn$W}7 z+7do2NZ9^w>e3c<`0xGNgD4{B!M5QA5~A7Jd3hJTygrqdPGjoC!Qlr;=FMC&{{<5; zK~75pX8ZT_D?{ii)#o$yu%phb(?8RLR|F)dq*QkD5Y^A|mnn8&#M2g$F+@R7Pm%0U zL_bRwFU|v$K-Zo-Hz@a)R6AcPG+QoR+R!0?zT36y=HpdYr}ikO2RU|zu&C|Ag`p9C zZ%VyLGp|Z7;CswsL=IDOX`rvDh3Y$LFN^QT_K!y*oZ-NP1DJN>>uRfjoy_wPs zJ7*K&t5H0%tUy)0t*k3#T5fdX<(UpS2Yx~T~;gZfN0LtzY602a#x3U$!MTiHJ0fFTQP} z-rQ_5TSnX1sw%W5ASe6F0yafw_Ix;J)hchdrPY&X%(&^E)VM7_`b_JG`=iH>FU$gPLoXkP*F8>0#uI>9KJl>x5_I_4o51d#sM5KMBrYJ#Z`ZKwTgbGpK_3NWz z#gBMLL?|y=@|q?=+QGM8=g+_VXvbx$+@He;6$P3?frRYP7T$2h0oqVrdk5Up=+s+# zAU{++2W>P3->2u#O{upKU1EGpjjrMRO*VI1$elYkeZ)Mbv#FzJ)0+r){sb)%fN~Or zAq~cV{@KJnD0GnYEA+-Xqp4|W?fzVtTRlr&erecSmMt(7htmbBdlm8>{bj|g0lk$> z9-B^m%n{t={ZHz>e!c3x-qm50*kbx)n@yYkDZiTa?p;n)Jp!4W6Zer{eOTJ+Xyab@ zaPzD0KYna^Wg%0~8>{kOv}~D$-x!yt^|hjJtJkfQ{G-++?5=CfYFJUVwJrd=wA?jy zhqvY2-M6>J{X%@a#-H#e`PLFAO+5zp_jXepzu8xrHWM1iP?4GU zI7V~p%>c0PWP0quQ;#4Lcdq2B*u(#=t zd7B3nb;Q@hjYEeIkNoQ0`0b8+-e~;)l^Vk-Fw#!7DDo_S4{`Ph4V}<(*g2a5szOWN zkNlI-Het^%rH8XeUh=8`+VKut|LSn|(_BDHnO;-k)!d%`YgnTUU;c$&IjS|sojbu& zS25Sv)oF*piWNG>gJ2sSKeBQ@&`wpVPRXd>INF;;4Fo$kdW!a^vlPf<>G4yie7wDP z|E^cSqVO+mCkv=_b_t-i+q!Y%WMse*OoNw*QD!dDjV;Yd{+cG-$Bt={|3GkPNxMPDXGEWX($=7?z(5U`x&t*` zK84-7WsN!jfELu#Pp)j+MJ*MTbBafNVMYPE>0zQynZj!bXCzOI-J3);+;v6;-MjZ4 z&j@*DbwX3I`4vI0Gfy< zjI&-`t}3GFd-m+_M+dhQUfrq5O6Qxtwf$+;Y!2`iw-ZNsFWxo%>p`j^G=6wfk^!&8(z`=v}c4QGPr@Z~ho!sQN zVeejzmUm*J1IKMPL`=BxAg5tm8RxO;_sRZ4hbD%1YodMRX_Q;H;qjiCaf)TH^e%2Y z(=fSBtjD%BZ<>4c>Q%9$NF)0AJS`)4cXOv8c73mKmryRrbie;}_T`H9X8D0$9ciJD zF7ui1-q~1LU1Q7pJT_EvOu)U!y(htIT3GC&;3xRR$~-}@yJiiCCh5b6ONx8WmzJ9L zIqZG@{QM!$^~f2N;w;Oo=;ZN4NZ9_z5ldHo{hIy$eMVPNzfIhaS<<$s)Jj_rr`hp4 z=-hFIaJi11AUbja;duG9w@B1jPx1r4&(01F@gWXA4e;E@2FsVr#)T3m9d_))KKFW%T`pq%Tdd1T{lQlZ-x;a_!gwYx0 zU#IFeZ_AB1Xw)MTHTf^U(VYuvByL_)Jn`|C-mRyojI$0KeTY1-Xq4QxmN*l1b>-Z- zUD`4=UF+o=LOD6#+kXFAFFbVZJsnQ3X;Wz6Bh{QGeTsPfdD`^pK{s!Tcj-b;6}K@~ zJa2@`qBwqf)ULQQTXHBptIEpe4be=YpE*=K5VHg5F4aiff}@^N|>?lPEzzKn2xtVSZOo6D8cgCY(e7B~7e5kW$U zohlb0u;=EZ&71HP5gznxPIga~88b-qpbshW`JL(=O;1%)Khn0LME5y+)-b{}iKN4t zq)InYS|+WDa-351-hDut&weok3}3!{p##s{)LG6qo@P*-KdW*b=&7Zqrrx?W-nDzb zzUb=AKb->rZQ9}kHL&^91!BG4dlGXifn0FSySJU2oN^wvNNn|RI`u&$X_x?G+v%qxOAzxpR{jE zjzwX9zFu29@Za3A2+yOBrL{H6*Er4xhHT5uU%5i(v%0G4c4#PF=H-NNlKvGfcj+~k z5BEVBFj7exhxgcT>&U&TQcGQ3)r|V-;w7QKeEE}I<7G|p5_S|W3WOtz4slbcxX0#s zSZ+F9h!^V-?X|S*$aC{B4k5%(nDCYR08hueAV~A~`rDpSFI|AB2>41jR?Dq9`o@ie z#?tg@f7H`v2FZ zT5Sg1bDpIhp&ftE;T4(DH`kQzx=jfTd(ImQ#MJK1J^?fBibX%{=pa>PLd=f*QO^u% zg@vGqOAGinW{9C;;qW+45JlAz1_%#%_}$Q9d;GYSkq}}yNcjO!1P+^A<0|H{jBQ$o zJoM|XfAJd7cl7IJ_=RsjhRrwEEr*Y$May3A< zX)PlET_dONHa9N^dtm{@P80J@o2H;{V0Cbb-&*iI22I5c1=S z-c_%dPhECYq>UWwR9RB;%ybG&Npj#+q^uVbv1=IPT_UC7IxTavrDbCMx_g_ut~-#r zJyjNBFZC{bQ)=fa&E&Y6w%foN2obl~2-DVa=1%u9_h?Pnf^6;}Dk?&UfF?0;qrFdWpIryKik znDD#BG5{T&k93>~o~_IE^_h=?t=2@iM5BAWf`Xu-B4xdJad288O%2{ay|QRTefeu4 zU-GCF7yUpW?fdNG=^^8c`mO2RyZ6eKE2;B`8;SZ&24!~nNPm&T%hB;C(Qcq-BI}d2 z7A;(ulbg$4ya(aoo;6)W@oT7%2_@(mg%7~AIuHF;NQfW+M^T=a=SuM4EP%OHhpQdA zee9UTSTz??*jT-!E)$Y;eHLwq@aahtYjb~Jj2>33UR`bRh;VX=-GzsW;^n6sAO`a_%l*$TA}6?~^BcMiq*AE*sXx{WvLI!3;j_~`e#E2arI&zpvFls&NQ$wVrsu=LKv{Z$mpdxPkrONxlEZFlLQaWv7kFYB_#Ru>3;6+?xfeTPDxUIH*Vhiv{aey{355> zSYf&!s85X-KJ$pWoX) zZ`cBV!|(YYg2&zCg32n@13t6r?`~bYHvRd7CzardU3K#`MH-n+f6bb4lL(`TdTEUz zF@vDlYH8^&)7f8_ttTi*uz$NofDPZ7&tXqGcIDBp%KgrQy@idk+QOaD&yWkyJS&Awk)L=@h**OB_@mtJKQuuf+dj9g|Aw7B1 z(I*$R^_5gUkgCGym+a41CnTRq^|*^eNQMJVInxkMh4Mna?9_7F?um0YW)s5wZ-R$; zL&e@e;+d+dX<@R3@F2bevLNhH2ycfWdbE&pPWGpbn=`>)xu|CHiIXRN-xhS|tCXu> zTXqklOeY;TAr%)->~r|ptop;mgVXK`Y%4NPB|s?mjYSLV?%syJR7u&~>CT{fnR84=Ee#guE9@jPqpk4d4^DOCH`4?H{W#gOou-_xcUW{R4onnenD$GZhux6&|)H6|z_q3^g|IpgL>tKC_j7fWc$DUm#)233wy0LU^;k@|63L0>hK&2rV(E zMj(u$l-Az$aAd{KsN+=yaXu5>7#>%C$Jb0uM88u%hs&b<5F97GkrL7@6}LMEyRo9p z0WczT*&r}}eEW9y!2@<%j8;0zF;O0Oiy0j>G)63nqpT&ebNJ~zf8Q@wF`H12P7(8r zt=qQ;Z5^=-alfL^?%G0)SlLD)S(cX0eb}iTkM0*nJ;<8N9-SQ^svm3mc^cj+lvjui zX#L3N4z5h&rsn61P(mOpCGQlQ+IP>g(HCgh{vW)Vp}b zoDmZWHgTws9SwD5y2>i~l;nB?P~ez8rVJbHfObdRcLB33IWgumF7I97bkXn8LAaO1xC@F@otRb?zY9w<5<>faT5r%# z_kw~Bu}|1JF*Vf?X;V~GeUw!uE69HQIv zusNzM6v>K+3sA+7hXMh%<5QR2q9?q2Ci}RByyBb*A{N1Vnf0wn~E(v2k5GEp?N5 zV66G;VdbNyn$~)yDkGCJy{y>OU!3D;1BWN%$iHwpBhDg;lQZ%#CIyTG`q$Ohvo7G) zfddCFU(QEu!LM?LQxWegU3}eJR1l2fkKF}qe=w@k`9>tbDg~~ovQu;GZdRKB@d&&V zg}{3lta$KXS6^ecA0O!*(T$PCRP1OV_z0-p=g!UhDH1vR5fHyQ&w^-0hb`Df0y)yt zzcXax_N`c~V2~*G86_^&Mtyw9Xx?p~kI_M-k}V;}c}ZNbh+(Zz^VAP1Fe7>-pxAaGT08SgF{N z082g3oJmJ6lr%BYEM;(cMFgw?qWLp_VM$ye^aP71{Y&Br0A1kbCe+&@8p3>p85Uf8 zy$E3F4es3oP|}SJzjf>S?#|jXtZZze9y}Op`xdYq`+f&6^xT;4T5jJi2z4;RU{2DgvuMf>iVRNS1Oj#fm-X1Ei&EgN6^X}6?fj$lTAYc@bMLVk$eME1f54iLsF_TYAmKMPL5DN zucwA^&&k1IbY>d%*i_)oLZZ|sy?y$Z^686JI<;-|F~{2FCMJH&XKed0ebuT=GT$;^ zWiuqHv!w5EtZO7hqx?fcgfaWPyja~gqxN7!AK0Yj(R?Op&*8Vp*M@U$Wv7{jGR@-* zwF7c~zLFELa%KPAZ|BdRWoSM%B_&`t_fgNlAd4J<7riC)XFCCu357*}x|(?a$2Fpg zneZG02FxqCxH1C5#m_Sd@&qj-SgZM@Xi@;GJn*%L2Z~g=# zvg>0m5?S{3-Aq6tKx4a!0D|%`sact@!d;pwer|`V6f7;jru>L<#%C@QRg}=cthmSZ z`yUx>ie``jaL$oDwg%K9M0$k0(VRn$C#9<07ah@G+4=d8uq&G|Ar$D3nrHp$)r~ws zN3qr?CEp1m6{|%fNi*6PNZLR>E|PHX?$Kuh1^u2hw08j1OT#=>b2ns-7PGc)ivtUtIgH)!8JF^4|p@cz@!K(jHz zy#v8l#8UZ*6RW&>+IJFZ-_hp-efu~k!XQa%1xR!{vl2`K0o;jB%Mcvu!8=Wdb8M-+ z>4!bi)$`{MWeyS(X)AfOGqKunuw0BX!d6stI`Rm_EPd)BQf-(W);}@VLvbMcyl>j7 zX)|Vg$jieZGw#~8eLz1RHNh2aRAr}c_Z~dZv@h*W2%0N|pj?h7w~;_CJd1}|vPGD0 zwC~?Oq&=^zko>#>l1A)Nr1b`ehn^C@AvZ!AFu9ajFqCb6sUoAg5 zDBw%aVJgW51tTgqh$8=fO=OBh@QI=JqB{N*hPw`Zu2&^wZx>fr z8fITBEAfv!c6$b9jA6HL&zd!>v8I5nk{3{bz)&fXTA$nu3@jz|f*^Z!?`~&jCp-K) zFNn?<%j?FhVgh>?0x2R1Whv5)T(ut7(tepp~m=s78^kyluF^;OBv zMV*F*6L%ya@pX|&KWRfHU&Q$0yup2A1uF8kp# zj2^LpQD>HD*}}gIf$}^Q0jQQ?4^z?y-B48VZjDuvoHCEMWL|`OG;8|}9{hj_2jMk_ zgtR2I{cOYGoQP6cUOxZ*7$E+WhJz%=fW+|aNaq0sbTPr}iRHmy!CXZakfV6O>U?D8 zYnX=07rgK;9ox=4en#(UiXbIEzCL&f7l_d5OZI~ohU0XZC9N1JO6y79L>cXS@#15b zABVzs8nVruaSlzZmVwYlrM3qZ`o@lcel3t^S`Yn@>QqJ1o}sy$XMwiRdgvP%j2<=0 zZmx#N@fwd85(p_8#}}l*SHsYS%3NEW7t2-x7G=zyz5-bwN*mf|DCRe^91j?W7`6rQ z0$2F_C*bqj3gQO;yugVgAwb}vj)mOFIfwKvt72uj1G?MP`~L0QCydF1{>M8gHSMk2 zw#mhnfp;CnVkvNbQx~FPhlMyn;9<7^VvU$cW5BxaFo_&Rtai@xWub!IlorjAwUy$2qpa5Y}<;R+KmKJ$r<>&7~V?^!bpeke|@Kao1 zAiXTnw;s?MI1vhy?%*ztyQP)Yl)v1WP~{@S)2uNtNKfGvMd>*0#))&tph2wZn2FF0 z=o+DJLkMK4V99s8eF`E`#q16go<=-Yx5@~7|9*9>sGyYlN2<+$d!dHkC2-TytXLP? z^@)kW0+x2nCyWxBug-FrJ*0RqTp%$F2W9#>X+np&8f-?1YL~HC^lL83mr`A-&p26G z|Jc}zik(G{eR7SKEM3Zab}49W;vl!##}HKed>!Qb{P{1bqPUn8wQ^&|Kz*@YDuL9) zX}oR9K^=g7&*fJo48?H=mkGPqhrqBSFlF3SSXJz3%bi?ysG~!u&W96h>yY>G)#wgb z;kHCjWEO4lvSl|@L}?RnCm1$#sAJO2%iJ+)JnF|AJ<~j4ZkG5eAKc!xLfDh%7iGpFy_p4rZS8n?xYi=KSO9mLAe z@G@(}uU-2H2L{k#T^Um;6mE-mL3dfcBGHj<0J*lCH!Fj8lrNq3Ed#|~Si<=W=;-`A zzhYV?>CN;4iKhnZ*2Q3aO*PN)X0p#QX;GY*_OvjQ1Y;AE1l>0kLd8yhyBQUXqgdWU z(R+D{_+>baKIUk6SQaO0Q($ID;O+Vq%eK@c}2qd{!gDa zvm28rhq;K9x`b%|Dxd?l5^U+PwjL%UQ$(hs{;H7R2#}=&U*XfIWhY#wN;Z@oC=#jN zdhkFHz?)jQ5K&EgI?+l(3)Nbo_=CDOF>n=Zc6>UGCRPvxt7vsJzuInwhckw%h|7Ya zhwK@xU$l_9f7svbY5Bb~wwEX#<48YG&!s+>A56uEaLJM|_(H`euk@~{H83al-**X| z<3Vuh$dL>5ACS)_IZgCkE)=dyZP`HS>*)@J6|T^nu%?dp z@(X9Bkzmfi4LXy-q{3RrJ9jw6QhW&53od58v9MX;-McEUP<^_ojB$oj#qf0qICe4l zLY*f{TOzOsDv;-h&6p{pW-0d8aBI#XQ1T6D&3Xig6^_;w8qbh#)QoTyypc3Bkw-Yy ziPy!8Un(m@C_;mR9w2b}@X$8%3c*?PP}NwII43sO9#0)h;N-cJhlB6ju}~MXOq$CD|g|kD#+$@XP3MWZ-X)yfD%^Noi2#Q0B2b|tnhn9A# zvT{Wy?VrL8nFiK8qtJPPqR6q3F|5s-Ht9HtV<9ppo4ySH!fTo_d^2#)xr-MUgA2P9 zbH16L;A2yS0fv_9>I&5**GtG$6&28ncB+@@)THGu1FRYt>{R@Cx!_h=Nz^;JnO;<= zquXv-hfH#cI(brS#fo)0uxReu9ZaAG931cTs^;FsL;NT3z+_bIHs(j~U?_CQjvcC6 zy*+Xy`t~IgS9_JXFy~L06k2qh_FSaJ!JEBzjf+g zTsgUF#GRmNOI@yg^{QUb`KOUuzuj7%&AK(-gXL7r1~p7cAJ;eYxY&~o9qIoOzK9Pm zT|#|%g&Cpw)3sv^!&w|B2nUo!N4(+lPf1QK=jb?IE1@V4zIk&E(xxHB-q?$)sj6Ne zMXnYivNCcy47n-PNGxePIG~_mssM&7H&K!aiDe}sN+1+9%e$go3xCTEW^5{!BJa-+!fB^4+6W4EBBp%B7v!l9T;ki)x$V9gt>s%x?x_IQY zAG5-MYu83HtU5&7km*+|WaO|ij$&%USQW(qYXn@He@%%m6oZbzF9lK4kimm94thfS z3g&}mW)Nu0R-2e8DJbO1`7G{$MMom&TT&r0?j^vYZlZ7NsD7ALf(sQ$nZI|6X?F)m zkj`=3w1YS1&&V#M#^$V%P3bWlKX&X^czBR-=pOa$)FKOx8`=wkGdRuI27AX{A|YYr((RZY)+ z_7Jr<>_MhSmGvtl)ByqXHZBIYeTHz`4Z$P$ozJkz(H=rlxOV-zFoMjq3C0%i&>SZJ z(C^N(Xvy&hfjj9cB9RVywlSgpyalpys-IRHxY=~vage9ziTFOZe(RRLS?W4}fMWZB9v&d~reD9(zK#&}8%K)`AL+Mm-`?yw zf{676f&rI1>%b=UZSbDpvzr^lVuzE5uAj0g+-hx2KkyRC1E6TKmdRWo^z>C?+N!|R zP~f7aB?Qt=;c;(7`2b~*D7b8$99C9Qv2gX==>Efa-a~la7oBHaz3jC|fBfFCt$}ebQ(9YIKo_{W|W~qZ^_F?KPRdP>Xh=boR&r zxI@(L#ctlH!XJvCc|hL_7f5+&DizUa9LPrmqEWO0J+6*o^KD8Q0Gb{sNQo*Hb}Gs3 z0MkRLT!ou!O(Wbngu;rQfgHGMWIWV8_sc_&!QQHObf-*8# zBVoIJyXVy8U4wW}!m0lEJ4y>au9P7HzTrC_WV}W|%yv6wX^p0L0_UNe`{+Uk)5&Yps_H@8zI9zz!|TzLA-nabv_Uul72qthOYbZZ^HZncr_73ruE+gAMo6q)**Y(}rU2X2{Q z!*qN`D;js?Ad{Pd0en>6r+eS}=_!(3*(rvLV&1$Li!ChHnU&rD)5y1u+V$he z5&h+>ckI|H*HSrB)K0hWaG>&_eb&~xH#SWN0RV+22OTEDvA5adB!_*X01 zr3L`-4s~bRPC|F$EvV|>JR8T}B5e_q{g5tNFaf`QISavME-?~FgL3|}eGDTbxSa^G zT-z4?+!5LEUb~9Q{?^xPd+XjbbwGvIS*Iu>dfWW-=RPe=|NB9}HYpQbU15zb9g*lG(kygOO#Qplt06S?3uiD?@EuA_ym0X%T+62_fcK}) z1bx80?ik<7XtPO$<51TP`)K34g*$H9~6uKNXx*z@$ z&6N-;3+*}n39oiII=!DVMWb2%&bB>m@iQ`36{Y59Wu24mt}QP>Y#Ep-sXjMj32VO1jg;&(ba|UM9VHXw?EBCeVF%P6A&3N_En7^Gyaa`H0Ocx>jk{3~$1`CE zDTm&^ZT9Jr>F?_*-8#4K?{y{1fBb14Klx|#Uj{%}2u;9)Fc%Qc`1(+zJOh*q$(d$X z-2B*m;Eo>B6c^}7)Z71@f*-B!!Gk-r_c{zbpF37R+b!Yp)5K=2pv z!CRF>lO@TzZXG(IpNQI;82IP`%o45@gnDdm%REcYeYkVyRjYGh^IRX8!1CoZZ7aD+ z63XRx&pWm?=j*4$jx>DufU62L6>~?JM?UH@+!B!F059K8p7H$h)tHS!dg4%kauU|J zy1Ke}wr(YVI?x+(I}kX;c@H1fG&BH>5GHO}o%xjrhQNd$#}z)-R`Ek+FO{iMXFuM97z=rIZ0Is}VLP!6r z7^gWi&)yA}b@(}zj}PVCShsAhaO9>93wJW++qpwaE9;8}?Q{mtJP>(6xTUXO%bgxc zN=w^@^xjddvXz*9O#xsCU8AG7S z&V~g>l6)}Hz^w93Fzm$&W!*4o%)6>WonEfU+V)aq(ZG$rsFz!?NL_t3bBSPC7 z3}qNaye%Z-ui@7g8R>#WGn&RFD?jbtz3Z{Dl|RXmU;r5wMxu&9Y6mz9-;9X?fv}B7 z^eqF@l(JDrLrjb$zcOIzi2Dphuy`^4QJJ{Kz~Q1_65zokMk!(8tJk6j97$Sz<`Cx_ za#`C@F@m7NuyqXe*cce)O<{Ffr0#11$c`h<_bab)dC_sgGJ<; z;Xzvi??9phK~UiKN2GJr=i}flhpCqn7p|f?M*_kXkVEg@4U*DCj2-vnUpBpa87e6Z zu9+MdcV=zyX!-i)VA#~4bB9mcgadWVeusc($!l(Nu|fe=zG5t%==@uOolTCY>U@$- zu5F&ghy_^7*WYv+#Ki4k%s!P+xzC>I-}&2@f7je@^cK#p;6ubQJqX3J?#c ztg716(<2Wh3SI^5M9s(ODxj$7c;a#g3=6I@H0GKraT{K?w#K#^J~{pwiK6PcFyUe| z1C{`vk%Tt9A3ZYQtzEE&ZOBhc`wrs}Fi&36^Mo2TTW7iFGIGHl;T|wFY$o6Cn%y{H z{0CkDq5om}#2>d}nB)!32KOZj*MP3ntO}Kt7LMBcvkw@E{|gYGpeI0b$I1KMCU-U& zUUTtc1?<3BL{$=A&^d8p9C#k&R#34+XalR5G73O{c2NFwTF~V?I&aK(d3x;L!qUgd z@0m~YQD$xVr=!5j&Z%qS)D%3Hr|#o=Gq3nL5LX8tKQq5w=UQW&hMMwd4X+FFU<8aR z3I-{u8%{orXu80_^fo*O<%3u_X;%z~I``@`e!;`L2$qyzn5ssZ_Q6>dcF0|b?}a>g zl9ruhE)jmWcTjoHp1JW%KOa2o#^^b}!GNB>cH>6JqetK5DTR>Lfiv1MJf)3O*+0V9 z2ccyH7fLD?&I%({EfUNx`2yki`nP`u&u8r?`pYdwtY9#l0>lHt33twwU-tmqJl02! zAj%1C8+i{*pacFqdViR|-5o%2_w>K0B{P`=$qn_!MMN zGgkZd?TeG2o#|M3{0Z_dNaQM7f%WnFppRM@4)GIhiyrO8ZAn@**v{j|vDInUQF(%W zg}sEV>$jQDr@y^@3`g*)tjUgrd5=0vAO{es z)sldN7j_!X7N*h|W!uoy%~IrI@qodC#48~;nnNg?0+Nn_yaJ*oc0b6>?8vcS8}$}d z^l={TUiBth8=If~jUmU(v#c+kIkOwmc_8rk3*ko3 z%agEQ_}DS8Z(>q;k_XBLs0j?`P6qnT^_y$PA>MXm!V;B=Zs9$MA#e$HUo9w@Mu#!A zmvh=1m~8Kf@}uT}xUs)cx&qcgAr%$HWa=;cp{WT~sUdV~OoZ}kRE*E4n`QM59C#JO zxkO!Q!ZLDRhpH8Hx|^F@-_YIyB`@>W7+G&i z1{5QnsCWGN3w(;iw8X?>1Z?ct!)M`FbMcDUF}K;uWA*GDd`I}|*4q2}=l%1d6kNS( z-rAgZ#vuvjm#J( zHOi=YEZ|y!=>WH_^<&B?ilxM7Od5{FrHcy}w`Cs-aUl*w1ikv`QbM5-w+nKI6B=hI z$ZA-QJ>)*niIls21@DdxrOfR&u+p}Ul?+|S=E?0Hc|YRyDH>fqpWf2n8meD)UuSP; z!3#Ijj|vOknd8vjOd+jgqNA$GV`h--34C)5i_Uz@bDUca=LVJ!$Ok!P3(=WCydi1> z5QPXLq+sCGO^_zxH4sPg%4f|%8l@=(-C%?hl%hz`-P-(~a{vzl-a``5*o@kr2FbH{ z=DE&}hG5k9UW&l>+CnfdXS=)G(b6{ zA4mi$j|>YOW9wL;#j8e@bX+hz79${6;0%wEXLtt5B}dUcU|rEHEBx@C8#jP@6v+{@ zv)*KvNJeyG9U(#a<=!+hp2Q z?E|>}YO%uBp=oNQ}tkJZ+?BC|2IZ$jD)0;C}eDJVrx6dv$h7qB3N8 z!)Qf_{Mb-+N0|_}uCXc=RZ+kX>QN;cf-V;BL5N?#UEtTE;U{7G+5Jm?Tm)K}pD&4n z6;2+kNOT1EG-I+(kJ^w2YYPfMcze(m@3NF2R#YL~6R3Xqn;sHHp&?3$=U$YxWwBb# zRaIK52Iqxdk>6SMTxxpiK?Zf6{L?zBADNc-=9yc6P!FPN z)DE8(e=FUH*==$AIy}LBid0B{e~_FE4R{?T9W!9*MNXHSntY`nBql0CM2HrE+@*(5 z%;R!G>l1v;il8H#d1w%kL2}8F^0OX5v*jJn0xon7pE7DOdcgAFa@%z$d6p+bb!Pyv zcbmKVCG;~yx>&v6vE$wFyIPVb_`CXx2=!;ByXgGTiL@vOhLQm+wEF}%yjj=uF&d=_&T1O)^< zAh$0dC~V-{MP?eVJU#O5=|`ZcYkn)5N^;|yK*WUY1f*q)h{$~hq9*kpej?6dr5SLD zwq-=|2@uWDXw>#ozI=f{=LSY)3EX7fSm^cOH{jD~SN!IKP~RD%G9j!UsduLHtWDoW;XZ{`M_N{Gb;5%x#Rp z>h0DBd|X^-GL|R|t%tB}tGzElM~Ukivfwe#-J(C*gf4L6O-xQ>j+`EL8y)RX^V_he zdD3lo>^N~)GrGfv=NDH?BJPB^ck+7@vPKZ8RAIh-U!RM$HJH+}u*eU!^|*F<29h*H z2u}Cn*?mii0u5ky5C$J}bR?T^BUMz;fZf1&2MGIrGJSfg7G4i0N;*sOmtO=_4?p1N zv?hXcWnFze)Y4eoeh4jDh%uE(iDe3v)B_(^rX5pw4=l{S-_ChOTa!fA(9^bHX_cRu z9Sh_A&eIy@S6mk=BEEgvkhRJzXUQEz44zOFVU5)S3NlEz3Jjba=P zIu0x&9&hYgc*P0D2~^Tx9D+IIVS~SnHP1ZjtVEQ=);v#t(Xw1w3%cAV!(A=+rh;E8Pyf@j?w!`?k%|c zG9c)Gt%SXkQ#%F@0AfHXMINq|lM>41xR*^#OxIsKD8tQ-8>yu*z3s8NzTxS+*Nc_S-RLCWsJ+#xp5*iSE-MD@oqh}o8z}81;2K=Lm z0~#Zwp}lSer!EPM!}u`Q%~gN@WYRwNy}d4-tv1HvuYgdXainUG0p(3+tjV;hap=G$JBHPy->!0yp$6Odm%c1|AX@r}@DT zb#)M>Bd7`tu`)@(9!_4YBmi)cn{v7a#0`2(=>7rpS3HjF)sTO}00Hr8nN9CFhI|zvmR|FC z)r}qK3atY;AAzJI!vupVm}ND4sYH#Ti-7tUk*n2BtAWbFnX?Tn9-LVc7zD^TcutL9 zUf$1SUrku%e5FpSd7hAA^p;#1$)F1EFLPy7UvE{|ruMJ&n|f=$e9gvk6&j@mHkfEx zDcABgx2?>Puy8~=VUC#FPBE>H@r%0^&ps8HA>=Qb&vN%a;MQ}z%eF1sVqxsQe3<@Y z2Hk<7nQgd^6_~ubwiNIn@w5^?95EbT_=M@ZE%{p6@28oOd|?08pya5Qnx6i$)NP z%Oi<+V|7V1a3Q2J`z=fP@MZUn`U@dh2i1TeyWV?lkcDPGy?yw>BlN-Xaii(RSaS&&drGsK@ zTB@F)^mWRJKVJnb!(+!eSDPEYO>Tk-Tt1S%OK37Y9cbhe79s=rg!Id@BTts-oDaTu z5k4-)I@E`V{Xjf_az+Np{n$Gne6ZlH#0lT9a1>@ZJ;k&fNUYQNN`Ul`Aa85ymMs*_ zv=#68k9i7=$&1&u44;LoFP6-(`Ec|Ea{og4OR)fU`VbJ!vG6X`euXkF^Xb#r;G@P9 zKyYuymQ}x~^1)3ti&rJ!+-pPNA<=)%qVmFjt5RfFK@< zCNCq}G~Vo{Ax`O`Q{MhJOb>R`!14fIsydVFSaUEoyHv z*h~z7|9f)!378ms7JZ<_rwNOr$9F2TpnFYND=-o<9u!rE>Fl%nt81To3!e@)NLjgZ zRkMcloAUBgxY>eoRPIa-IQykys2ii@G1$ub>h3z~p;+RBG;5-0K{n+FB33ok)Hpw^ zG_-CrpC5^0yL?tX{JRsS5v!;~(vdY@QdeT`Ewo5yuA<4R+@0syV|2nrMRCMa+DqD3 z(a+-0zTK8fjO|rt-J4*Py3E=G|3jn(5P=~~4W*|?Qk7En`=hx~ngWV~)8gn+K^n{_ z$H=$g9Z)WiU&B-?An$#Hhw#WAmAPLKmr zpwJ=R^eW{>`UALutl*`36Om&Ve15HSz`gN}q(d2nA|QdFh7hNBp|6&K6#QS8k~)wP z1qB6s>YJ8Cy4wWMr6(|G@~>ckEw<%}3lA%$C?)y-1r%$|s#O5P50jt62x@i^O^~WK zuO>t{KVjt#M&mbE)R^}}Y`mhsJTAlNXP?!PW5i(F>@NmnVPi#(N16LGTXZ^+0#;3CuDnN+?b7WFP)iI3{G8 zJx`yWLeq)8-j|1)|KwwebQ=Hbmp6+oRS{%c$k|#J~A;s(5}^K zqTB8l%RQvYZp`MtA>zAZUBlhA(~!oOwh7ej1-VRLH>*j_0_&a=#-Bx}=olKt;NK8> zFEVtn1`^)vtSsLxjaR=DeRA7gswSRLEV|8;`}nbdG*41>tmJ4D`9Tl<{h%f0>wm1? zT%XSFMYV2aDT>1KWgyGg=;FUfy`c+vCQvM9F+DLvP8!3L0e54Rjp3{Ue?)#^A@=k* zB$Ayyq@Ck7A}@qTD!WA!B9b<~Cy1r+>_I<1gprGf#a90;UM2DrqrZ`6NzPotN9n1$ z$;86)4YOBKvOV0hTd{jJqCI*sBKUR{v3RTl)(h!B#bttF6KuaW2?oD?gm;0om;Wx# zY7TfPRR+fuElB%K2E?W4m_2&yYh`KqXuiC*u})0=@K0y`A4kdy?##_LX-IQ7hM?CG zxQONs5l8JE9SiA?+hNW7g!Bz?9y*uFDLJ6Vc!xi|TpFXPvNFQm+j|ySGJzBr4nrm~ zhnf|*_aVWaoO6f=0KU8hz1rs)AeW5N?}fn$*3#TuyXV2(yRfI8;RQ{gAu)k8^B9}3 zwNxpwyg(Aj>5ao|m!_u?m*iEjqD>>KaJ}8J7rP+jlaaT2Gh9a-BRN-KmSn9rCN`Y; z8Wm>r&OaBhyAAFM2&vUN&OVKBS5aARe&r&$@-Ux6vTx-}rEzxz`x<*R=_`0)c#ZWh z)N3RrCSo{(`r8Bl<2C+@=Soj-y>T*I(Rm7&Slr5+`^16a9~HlWBY~eMUuTJqhw4}5 za(x@EVBfbW)*_Uv@STgk1QA9GMyXkPA1$l{mx(g8djuu(VVnVsmSd<&JkbsX20k>t zD2f}-{2L6*b1$OY=v|mo7L(NM<=srRgLpwl-T?O0p!nS+URiW_j|L-|z}^eH<1v!I zFopCn#?57AF^rabwZbh;rb?(R(Okwqw$z`Tf#)?`%4Cps=p`y6=JTjNUDd}C2p?HR z5O-`VJ(N7xdQ4cBIn4%epA|M=&CAH4G*WZ~EXkR&NBy=tZl-oH+0)uH8N%5;S;@3Va_cmj8j z{LtP^=Rlmw>i`z=;wq(yu*Jt+8x)A!*LN{8T~j#>KPBg8FJHTO$@idobQuHoi?S82`z*IqswU3?6>uf(hvZ69A z{nuli_KsFCOnU(LBgQTt*&c(rrFa)h^MRuzMZuAJr~iRJFNC5HTw>4)6%7l-ItHeu zTT4pS;1+du%<_OpeV4SWC=N01Q#B4MtNS>_E z8|Th#HX5I|JTdSM#a+2s?H;4`drqD;;fI&Su>43~dB4wj^`F;grRx@m8a~`$NEP63 zYzK?v3{ee^zok;hVerAY=A~G7Y(_}dVdGFUOSmC$^iZoSTcDQQhs`_y^*8cJ-`OD7 zXdDUNjvw=a2cEE|YMbdUAtIxrCks2~p!APCwyr?6XXu0CwRMX;Li(1bp;^Ehn7xyKGI^O7X-p>r4dA#X0Wt#U1KAX{{KX|2Y z=Jeer`^aZYaT*CCb@Z$Tz-|C?opEW2w7d7GesIl~LGTt*vz|tXFBF>ceui7fwc;BJ zYlz|DfM|j~^64&oN(1 zV(H?JxBzxybL1PyxX>4S-a+P&+_wl!dT)G!{tzu))5!!c_j#uk%!lie)TOiBrl{u@ z=JsEu?5T>CxyNj1kaFy~TrMV#z@L>>+t3g<+bsZwafd0afU%;M#pnRF>Y$tO8pv%d z;X`Z!daXn7iJU!5`W8Gklou3tok>Pw%hUPkeqLlX97hZpms&xlwHxku1csc!({)Nw zzIiQjvOW)b(KQ0g-DD+K%+t_$ok~L#Qk7)~kM)x$Sb#+iKSclo9eE0^>G}ke%8$t-QRDKJA5FGTOn|Uy*(ERl2{9TFbf9;A= z#4>$x%@1W9vUYJ94hb?cMkjzbK?09Bl>B6zkX*!VgzG25k!VT=*IiuE2X{M|l$tHB z`w$65M;b9WynigIN{l{Rw{ZT*$w+dD4axQ;HppL7xf51lt!U)1L?u(E62LbEo}tIW z{LDu(HRsb~D1NAkqIZ9tG9f!Qfw>%>czv2T`S-mD^d&5y5bjC2e;Z0L8!>#~+8uJ# zgpFd>uu_gh-66zSEO;GTC7bqk^O zF+kuJL5zO9Eja4%K>(LAICLmkPmoj|*VQRzadUGc+G+P*ISjgjLJiJZ21d{muR}N% zFb*u@1P%^<4*sggAi=nz(!7vQQ6Nmu$oTW~d5-X9Db~Outs~(F#La+gzJ)=LA`)k? z-X5cv08==(*9gWTN3i)~7DnI+rmaTGf(zXdI^{;zZX7;iwXlBV$Q7(8SZc&dToMmS zO2NdhW7c{}aYY@F+P|Kh*`vHCP5qEkr(zd1VWf^%N-WE(gR$jd5Uj-e$(xdRNbZRG ziKz?z?)9beRz`SHzklD7M0(&8cU@Kv6d!1fP)sI!5=X^Y>9b;M4s9KI)R|1XA_xn9URHT! z2cBSP6>Bc8#o^WqQKCrWF4`R+=;(45JaDcNGIxtjs%W2tL@#3I5a%#@n(^yb~ z0u>lRQBK}M_Yj1cNG~x)Fe0|{rpPzQ$eP>oHp{m_`~p@R&xhLbldaswCmi}-N3z_bglp(?!YU=qkW^k56AJ6D9l$k8SDjVM$jo_?7l1*P{wCcz2 zkA!3)XwVb(Jv?n8y80;L@6ss}qSXQ&g*?U)qcG3fK-^opc6y0IDwM7m^aaBh{;QhH zy)1Fd2r;haNiHK+dvtQj$|_D$-hnYGL))z{1O=5|3%VRwx_K32_?{?%+jLQeanojp zPMz|Q-{6T!xxb2m0q)-yaMLDcsvHUMBB#mj`}hzm5&yW$b_==P{qyU0B$w!P^zcx? ztOp%(K{QxBMn?W5baf$Y(){mMl3iWF*Eg4W06?SaV-s7rla^LlTN@Vq4bLGajRAHH z8bjGV>C@$bh^20F@DVTRebADzAt<$>dKV*EH@nbX+XI%v3Fuga+dr7)yhh?}1GC8CzipBQ#nQ1$9j#0zjUy8ekAJC)ERu8ksp--2YUyZ+Is46=YSi#Cwznf;Et%80<+`aKtoO(6x&OXDMo5PT z&pqg_M0v*tdV-Lsn;ks3=jcc1*U&-t2_E(iqL7{G8ybRkJh|46ocs>y@6gQ*DFhP0 z@_{swuNaqsAy@PF_XFkS*tqej#Y+koQEBOq&COG=V<7JWiUt{%&OnX33|VS4uKBSW zZGd>8Ovm&~I@@1ggp#~Y(SDZ5Ybn%*1KDGS!EfX9_m+y zYA4k100zy>``9zeNQ`cL@2~3m-Q6>E`zdd`Pa+K0zgM>0@|>TG@O#5Q#H+>K^@>73 zhV90!n^hUhYb0mCJW}VOA@y4oXrWe;EfhO2ZE6}CzD7I8<>1~5UJJa8{%piv5Nh3Z z-tJh^wa`$}(+$;iLV{BlXN=5~th=wo2z3KSnngUB#9;$m zP&a@a5f}IPI7)C`SayfojXDvD~2W!=JN zBbv!qE77-Xl}gNRw=a43?&`)#q@$F7EeUy-MR)K7o|S2LZ?jBE%@Gl`dA8IC5A2pn zRm)KAc%eYc!tr$EW~p!2?9Ras*AboO0yEx5zu3d257rlemiV;oM^qVqaI7u3x4jZ8 zEp*AvJH}(cNS-0{g=qtlM2X87Ru|QNa{aupz^~hBb6E9!Y`$CE%^m%7@}^(z4~dEB z@`HzpD=keZ^>^Ys;xO8dDPJf_pS{Cd@aK>W$6mU9c=ZgfrQFF4tH_$nV$hw&a=}uM zSU9{YS1i&uJLUU*7u^)S#YTqs3VPxkXr$Qf4oCIIl5)Z|=U>Z@avw=djGJm+_2@|| zm1$6sjD#uFkyz9zz#A1d?l&O+k7oYWn$3vbK{r1E{oA7r zghi)&uucGdajuLzRmE%C+7`7d-ai|GeXM8B`TT?47Y|Chj*kvKGjoyWj+T|ZPXCwPg@${onEifURXI>*ZcIeNsU_^z#K{V#n8**^ zx00BSHLXkXG}^%K%P${iN)yitW|HuKM?#4AX4-cy*lDNh^dOWQw!IH_;@~d~p?L*9 z8T15XMMwzJT(x0Kh93$OG1*vIh5lR5L~FVyUH|PD*Kkmis_p7hq&elTZVH+i{w>?x zwLb0Nw66OFuz0ngB!La<*YlOcjA(x8q@F7{8M(0yYe@oFjHjVZZOldUSoi7A3)w## zAD%MiqIE=miRT6@=Jy1TJNHar$1cAU+h$~nK1erCQwmK>{>+YSK0W1?`7wKc?A|w2 zS2%8lNPE|;pL}aoPmTff9jjG!%=zg49GOF$8#d1*at0U84LAewz~;0PBVJrfIBzd_ zWx|m&D#*}>K;1u1YK6Sdc^BZ>mUf((3QC&PTYRHC6`y*wHcX;RH$@` zUKz5jDH!q@Md7;QPF|kAaMUV$*EU!Ll(XU8LG!gK>1;rN+~lXFH}>=yg1^}XIpCk} zMyo+kSoogdYSSo^m=+QdvAtt*`kw1>ps#5mZ02X;V=I8to~xB-Y_rU z@uCUkNuZ3ZW!L=H%GLhSQ({|pX>Q1BD7kR)Tx$=aO|{k4V?-?jfCOvuvtoiP1Sd%9 ztG>R}trYKbGPw@jMLQ+ACGLET$MWzizj?k%?VS6lp5O=2+DUK)%4GU58!P z89t_=!5;xqYi}%HP4*>to3*rPf+NH))@&yO#tfHV3JLLWaUq>32(uLu6ts&inqF(5 z?KVF24F$P<>~}$7t|jrde_xJ8=6~DjqyCR1-F{Y1K2-QRIDcKqdBrRBHFInYLv7dQ zOD_g?kDvT`QghqLjrbe;Af(lA*$){batP#Mfd?b;1d;4;n)pq=;vmZ&3~wcGH&-VlN2gwOXi1&O#sOaCJ9x1ZZh zBPvm3mj4|TY-Re~!yY}x0W+gV{>u%X<(`XM_RzYmF1NoSEAnIx^u5T?mJn2wxE3DH z9rYG!{vb71*AXC|kj0ftS1?2++4CzhoL|E>GCm$zVT}?ALYJXKbXQpXPCF)o{#BhH zdQ>|Y*v`Y8n3CUT-JVh^{!t|WUJYHG_jGI_8lySfM@fdIXEd**oI9T13d~$hw)V5!X|K|9Yca?3G={}7D%MEirM)>#_ z4U71OodBK%+5v^`44UVrhd7?wD?$@8a_OeT9sbAPbYukpw_oG7* z4L1R_UA#iOD)xuF-AN~jLKcOcp;;m;>t-+x8&TK?&|P8+r|e!l=G7+tmj%XVrl)~Z z1NBEX&lZG{Vp^tRtYOd=SYku_Jza14LRyXq3}vrhUs~nw68?L0$0#}Quon(S*O&e$ zX>>#-g^S(mygKcfv2Fi@HllvEPVql@qcY7uyb%S#teBOpesj>P0|Fa4#mSi&G>+kK zlNXtYeo56DH3VXs2xCCRsXsOJ>I43X^tncub-@4J_(2bQYIKGPsLPY_4<207dxEBU zy1zfEmYn46=9c}iJk6=R_K1xQh;6)|5fPN91?-=T68_iz-n5=a_o?gn6-f7XT$(o_ zdRLQgkd>HcW$*hAzZb17kNX^~YK7BzFE4)Ex!E~<+wcl&=w2Q50v(gdBqI#nMV?OW zo?N5!o<91{1I%m@N00e^4b)9Zx@^&nN9uqczBnD-3zb4copJV;yfSv)Ki)Vq&IFHk zJn>uA;a|^GG0t)S(4(V4lV_xew%xd*$1cG2;3~)~piEYUD?Ow6cLz9}_RRM|msBk` z^BwXHvmCqqW!ww;#>PTXZ-d0$s|VNw=XV4GtWN08+?OCusF}b zNld$XHO8nHcnsa98>+ug>#M>*ut)xq+DttEEwwQ+t|$#tOz6er_?tIB!f9MGu~VAy zI~`!*MZHpcdpim$?EQro%{of@%wM&*2U@j!(6knPx<&20gp?95k z{e@nT!C|C#ltWdIj!-x{dxerjV?;ez+5td*ny6nGSEe&jE>=&;H)c#Rl8d z8?SgFM~L5Tt~L~#k8&Vn}~{f|ZJdUn)ZI7JT$ zlaB;o1)Fz)My#&$8tUp{Z@(aL!Fm`&J0a)5#A<~4@d}XfZAPwO)p2J-C`{Jl&~eBP z4^v-Kffy70s)}|dxE8>lFafcx`gQ>2+s_{4bBN=ClZ6NYoTTM8Sy|I)T8)#=7-0cu zIES|aL)IT=XOr~=Xda_IKE#=QTM#WdMpd3LT(4B>xA75F1sBivPFV>Qf<1Z!?*>;? zGdJPSMRp*c+dX!YssLzB?+^q-=ig#4d^evd{pFvkOqd2HDJ8XrMSPR6a7ICak%@|o zKDV-z*s1pqtWNj}F|w6;2F8chOrTcSF0@Xlk{wPTOIXHLB$#b~u_c@e(m9BAj z`@bLc#t*XQOF5SC@EXR^q|^Avh$S?fi!DNt1!y5~4}Mr{t4Xj5;Qw22ticOoejyI? zY!OxgQ6~HX-ECD>!SZ`X?klpOl6HPNtO7I$R~`-x>ddl$g_n(-oQ01N2wgzBDG^4w zq7T~La3B65>$v|P+tGZp9*YncsC7GHoy!Y~&DU0p?O9l#s{_s@bp%i<#l-jY9E(0zw}7Z)xHrx(?IcyR2Yl8jn+ zR~O6~m>=f%_vsip5*QdCaaOfJ-}a4|mF&6i$B`ja8_P5!_VPZ6b3TsPI6_eZnxr5;{x&ieR zp9|lZu%g3^5uB9n^j9|GgS*1&=ZA6wlcBOVv}qa)(O0%!{Js_q`iIi**;58XCjCrl zy**9U`ZhgZhMqZ9tGEbn<`DJW()T#~gX~JvW6}z#IXKFO;CeABn?h0&=%K~Rnpfh~ z3?^^;``$Hw{8%qAe_PV++;xPnGA?wk{f|x1KiqJxX!t=-yMv3%Hr8VXi#N6Vp+n4K z3RSe>Kk&8teo-B#%QUx6vMd8qfoRBkmmvekn9i^3lU=I4?!G~=8I$#VT6lT_h%YHDWAw$5cb6o>NrKA@<@M|8(Udsla= z)vX#nW%%)NTZQw_VR%TvJGrB|EiiMtKKol5rRu4Z^kAZleB!*D|+;x;loDu|P1DqFYZ^&c-Ny6n=e;%R%c(wAwHI zWBOgTs>2M#HS$(AB;!FqZH%Qt?+eg{=_VDSLMy8o!TB=x>FvSTq9Q*O-{AkhuBi+E zjTJ_SPO?m{VCJfrc0>nMX%g~SV)mB495-iAChFw+QlQEzs;ZbCz4AU8q{0QHqH;EH zi@aKK+)8_1Il1=I(j%XXgP^HROHS@R^oDa~P$%*mcwJC*`TKK(1nD_^$N&S5`@PfW zdWAJ;qeQ;VHu6&)@A>Gts%Bl17fA}z39`cPdpZf{+~Nn)Ml`o03<`xe=+&*~ zqW&tBK08UD?I}PN;-3D_F=#{oHtX{Mz1(SjU!rC>A`iC*78P>L>0Y5cFLLijGWU*$ zk*;KlG5QZWI?jj+;AGF9JzMB6n!hZ^T^``@3K=TrXgQpY9n)&Z&?3911qGhq!SQ+_ z?E&udP7(L8l0{8G1@aonu;;yv6kTO#LSrG3cn0p&F=wXln{0rj^kN5hFTdTjmnMPF zqj%_`@6f$55$)a^Z98`F_?$o^-Qjeg(Wl}I;-oAp0{_o#sPpzG< zxTI**U*YqAAt?YIkZ|b#`bZpl3?a*gyEwfW&F|rIG%~QwOLPe9*uY}Byi|?s^<+S0 zWFmd-u=1`2PTLWqas2@E&>|&2Dr0G55x=31!M2ihO)kA2fWT;dLbJt>bBo%eMybH` zpXn}+g>sd`xC}H4+2)xhujMm#e3y*eQy8Vcg)Vp0A^LE4?%&QZ>3+qB`WPy*S9t9| zdne*~Cxl+4deW)a@*59mp`laJk%VlVDentD&N-C&CYYkoDvlk4gJ1)ZO`6t zEo3lY4&K5TiEmx5Sr{PfoJsy}&{BIXij@%cC+@nZ%M*F=NY?IPpiM;5CQ#GD^y@6V2Z|S7hN2Ty;(cwj*>oh^Q%Z{F%Pley#BRkx3mmY$i3Lvhr(nh#$KW@k=4q${Z7Uo z7mz3e?lnGH71t_gMf~ZNXzTUHt~#6+RYZd;)zPxp8fmMI{#oeW1i!V@Zc8)`{#-g1 za_8pf=gFv-;IC+{QBR9cK#YLO4UBPWW~RUp^t0ZV*RirnBXt+aYOd*+6Vwk4MmAbu zc(2iBmw!VJ8jJMFG&Fjclh3QW8u)-&{IWW+50&4`Q_vzz&&(jR0lGxODv13absuHp zh(#b;D%qS|d#9roN^IkO_2(DTFA5j&_C4?%3$<8Fs3eyev(9S^anOr${G*{-yqYe! zVVb0vW0NQ=>rD*)gj;H4t1j|R0NBB0h_p7iZV|(3r;pMeW)}2$rY0uHpM3k~P2esi zzsoMeoqKfspNb9t5pMl=9rw;=Tb41*Ny^Gfya|~E3kGDs6>(ZeT|FUHY)0wo+e99z z{5TbKTjg<1U^A`VI&E4NhcL0lj*ld7$_ITs)NeNPMedt+sE=DkSgij0k;YaF4vXaN zla}S#?adTZeR#Q@l;o)-hZ8nJmEUH~_ICnQ$|@`@6y21E7R-POUOzD< zUhmE-mk^h>x1bq~+c4V+4INu{g*VS3C+t`l=qOq!dbtaU*2S23hFcgo6Z2Ov+@Rl< zeXKiib3ui+-u)Aptyg|~KiJlHw7hTK<#%%7)W|!VS%oJr=vQ18f5)4{osaxy*lxt)uN!g89W>aHU!hh`V zB10i@#uo*-nVFg6I${^OeCIH}6J8`{j$OVVKYpBIT`2C?Gt?gO+KjF)i5HSHCX)7k z3qR8dqv%Lt}`w5@9bebrMIgB3hMNysite+jP0V62fsED-cd-rqcZAQ(vYMkzk z^_8m@v5wcxirnMsR=NIqE4yFH+R|h0)2;jhJ!BhYl_g=bS#OxrP zvK1rY7S^vz@94?tRoj%-pL#z;?;_U^zJo+>`rlO+O}5@umyH0cGig@*HFxbRfp8Pub0AyX zfbXnD%6b(9pO5yZ0Aqi8pND_2vbCzRbETIy-<71Izdg-R?%$p!$(GqvMz~`el|sSu zUKrj*Z*mZxlQg#9|_a+;K}CM>9~54=e?gYmB-A(LtCL|7*5=j ztrW;#{OXm6$rFWD7^W103@zbH!@1ND;Howp2GL+Tqr!lk2yrt*LrEwmx!8Ue@g?$Y zt1WUopORp;nZh3sZs?iaTtyUQsU+PmXMF6~*1qo;A82|Z^~2G86AW7?(SvsN8)IJr zx2$UG=&_da@_g=j^c3G})BMSBL1Ik*Z&$&rx1Ahapc2BqHKGF0H^bVs$jWSHAYS|e zPkl)cIw%OzO0Tamwg3~MAVO;zvEpKc$w^9o?JjI+1cRySL*=V-H=v#8hrU3XFP|l~ znASqBhuLF00k_cf_I!QQ*s##2?e8E@sVQ=;PfdFHYkP|poHBWi;?dn_e@-yw4kWCn zoIAdi*7UBeF{|%#d5(k!)~}}H;Ls8L zH%ZZ4km18a{Z(#771-kf1b_r1tL=yCG7Cq~JaQ@9cmG*R63@g<;q&7qm19osjzvyL z_`z?*Tf)pttfs9_wSf*zW?+I4lesRXfBU6B5}P$=HHez@D`>C?f3kiK-E)}{N`~-Y z4a#S#pAb&5Tu5m$X1Z3S^w9Ci!w)VB>Mn(e#c}I^9b*I$&)a`F@z^qdGwSqBgxVb{ zh8W49ldGU_|WPifpx*6izEd8%7?!;jMBgV%5v*0U_p;+e_k~K$z#fE&p=@?*nYW|IK4zPy-1J4}UN)4?2H7dp~u;#0sM?Jv||83)c#EMa0!-_CyY!UyB>w z+B8qfUzpp_eBCh~nRWL4#XQ9V$^2W)W>Rk%79OZB(z&r4mc}BrLk#N}(_)jQBK*i} zNfmpZupc|+z;pX$rmcjZLs^Bw>}syLY`^GMXt4n8V_qQ%{333!tn7Ry(tQ4lf@S*A zN_x|q`ht-NOv*$8405#=r7}TJp!xQC3JfAult4n@BMO%L$B`c&T;p`@k1yr9|M2H_^udDn3FJR z0nd<-^@;wIOOh;C!z@h5faB9c$88H_%27|Tttu72mi|5!dq6Pv|4VB{S9u=lxe!9h&;~M!UUnS+Anq zo+Sz_uWMRXj80}U-tCR4>S%E(xgE!q(<6k2!gSYgg1#{M;Uf(O?V zj6`RR%T!reSzCKe6+?Y)-+u$YL2`WlYzZG+T6tQ=37yH`>BOa;r73pOA zz^gT#sL0sCQomv}c;DhKUS5<){O1*w0oixK*uC3MkJ;a%fW=ylmok}SDD^CI7JMQ5 zz=jc7`~+OX@vos!nOKhQ3NrLS^iS)dQ0MTQ-NqWZZvxE|;%|0T#Yo$}xsqbfN9(8U z*U)p{_VqhZQ^H@<6(5JEiCoH~cc*W8T_JXRXVNj=-=Y+GrH?CA6yNBtiy9?tE}JCm zZEktE_11-X+tIUs3#b?6%<2wS7X}OElkeMLX%O}Vs%DSce=ZGNr=w(HixtOcN~GdK zBZS!oUH|e{phOgZ_xQDVu{Tf7!3hH$jueJ%=`Z!Y)z@SC*|LdA%GvBLnHvGu!_mN|QQNz3m) zc7V(`s z9&*)e1)`snq$ zb6y?cucGvp{0rPHSROg)Joar`H&ZczlZgQv4PJW8Ga}91u^W#6aVwl($1}vcb-qm) z0+nGM&s!K9SYCHfQmOybJK&B%8>Rx_N%BCq#7oMGp_(7bsI>#X^4nx^4Rf(swp**& z*w|o>AvEgPWcHoOx~Pl=IaW}OYL`7W2|7T zI9bu4etP&Z6T#~bSF)%!soa|cp0mroj#ol(tLZaU;?meh%;?h7N!52UIq~Uz;gI>R zlMlA2`fMAmIX}ebXePbQo4bPVNYe+R;EXj{{KT)f?|)5s^#GInZ1Zd<)8-+0?Jy7i zko0$=MyhHAJFU@vB2-1h;h1l1m|!vExAoB9lR;uJnqR+sfo+AX4z3fT+i{!!*lBj6 z&5Li~+d#M5KPk6!XVmxEe|#M_ zrg#Z{<70eh$O?h>FHcl2mONH-As(}affYMmV?9m1W(_%1$a z078KVU?-A0$jFz>Os1Z^JdRBGAfRz?_a3c6^wqGH28TU)f&zXU0!FNL%I8C$G4x=< z%U`XrBF0i73!o`E2Pn{z5{S<+gS9aou5_{LP3ta^b+kt~KRv^J`O-BtZHuKDyL~@Q z`*|Br-HOX9f@{0TVvl^8Z{BukV0$OLB(_sZ40a^OCVSgCq?`~{cA)z-98bRGq^OI0 z&|h`ff8n91OBE3mOuSrN9lpw5)Nh)b5>8dQhjCbm9S(ns}?xfTZ$`wT; zgD>Zvcnq-{8cfO&5HkP>j}TX1l-VO}u31WbRcffyG-#ue$QA#Gv-b|?`fvMyRmdy~ z30Wa~rK0RnWS6}O*;x@XvqF(VAuFMbghU!Q}$(danEVxKpa%`x-BpkzJ@WUoAVkX%Gh23!eXRC2lN1; zC%7{1#(l#{Uf|wC`to@EE11L;0VG2tc*Jco(J!492YZds7N6R$2}FmaoxDTe_9!nP{4c325&o0k3g#LF9x&*rt)>Ki?lzF$ACD zb>ks9;B~XhJ>JXl#l*=%@4$ht@2!^u;Zpz|0T{tRNDotqHz!^>mjChHGAnG(KSFpw zSor+C-9D^O#cy^U_Ss`Ksf|N7<_}~Fc*RaZ8KMTGe_eSEKmRc+QTPX8&uK6`QaZA2 z`s`6ddO_lM^=oXg^hJ1JW@hHUtwxL`2AAyEt@_)>w>FL#CBO)|kBOcF-= z2N)rM*nf!ehRC>s@D7)d$_w$OghTeQyFu|Y0L<80=QD##vwPLW=@#tg`PyNPnxAyJ z*gHDwf@`+FSc$oPiq~wkH=#S!wZ-uC@-8jt)?yxtGWMR z*;g>Nv4H#oqT;tg_$gpLfxB=LX@z8wCHn@;%InFJ^RRQ`_81DEtK+TQ(%EzsBW|-xnNoS&v^HHnn_&EHRAa<7_Vb zyX*c~S7UE*HFSANC1xE2^>1-PosEL7eH?~T3$b8;-U*xwiZJTf|2zoR>Aw!bU&uVv z8N(s*7(db0KpU^fR_H9ZOX^Y7ft4+1?TTjZX1F=HGwj5v$iFpPn!@Fdz9!MrLaSJmGwZh6%!Yqk%equ{NTu z(mg`Z%dpOTZOMix>VsDdW@cu#vOd%UJ4f}7OwZd8mVfvY7@|xwvrrp7kq+c{o;9Q8sYoLZr@;Mb>_fc zS%pQ;t9%oOSQs<*0}G(Rq-AG!?B(6ZG6R;>Ct3)|k(EFXNa0plNkb;w4h~z&w`ukK zVS!~g6AVAd$H4;Y9=uqflx*YJ)F}-A++shN@?M9S+bfwVjg$`ec>mJ&_`@bt%^WeO zWfHFxzw1(o&?aH#+Uo4?;*qIP7b+Wo{@XT_V|nU%@&6Fm`vVV=g4r87`~O>DZ}Uqp z5?Rw*xt_W556t{^`Em=rrN2yz!^6S^i)0M^u-7N7^uZk&ZxyFsD#$V$q`&CPWrHnIebN8{)xb0L+-zR9E+*xY#kISOd1^CPnY-;5lg*xMRO zz5}jAvcdDd$RvY-6`sryS8=95N;25~zV@y~c`N6C>c};pe(IM{{B5+;X1?y+cN~x5 zct$-e$(`cXUmm{na4#H$tDJj?T?iW+wBzvacXB76pYG9(vaa0%t{Oa2_((4V+fa~c zO&?pujQ041-!m+7SAm#Zko%g!C7w#nI$Vc-;cUPQA}*N%!L-{D;wyG>}b3{dhwRVAfxcz&}Y80!Hy z`n}Sg*}FIV1X_ZbM^A3c%CR=$Q9t~or6tNYE|UGUqV9tybkQH8=^DO^k(_7!XPDh{ zh}l5-+O2P&cadIl0F1J*{YaJk%>BMTR43z0UATpZ;ewC7_@>b(Z{n>Dt{4D+JLIha zGOOjn*$OB&93ShA-e~?p@RaUwf3m;!cVMy?V4(88{qJdPlu;nW{3&dfHAno_;V6FH z_w50eH|vv3r6$J6#0fIb>m@KZU;=XH)C}pNNjZ>5)mLDeSK8@P&W9&F9MkXq*}dw5 zn*H$BRSHJnqQ`a3*7v@92ITp zyY%K=N<$xC=g~8*|JqHclry53VH{>l*t9pFfft zM5?tSlla=elkJMiyLt0wUy=0A?;{TKS8th7M)$6tBL+(6secB_(!l4U-M%#cFNOLQ z>t%_!=R#MnUq5s1`T!$ zRSEWbW4ZKuVZ~)3x~Y4?X?3Lu;)$*DDFf4D)ipH_3Z`gn-hVq)8l+Cbr|XuXp7DH+doHZYa{fL>RMl<9y%&1O+BuLD8}6eB!2hPvX*RYHJ5WJv!i|D<1t4 z;V0q0#;TXFY)LJ(ZrAErAEe{ZH8nm*CROvUbjL#ElJSPr5|b?*MuYUjJxptVSg<^5 zZ^t_(54;5nSR&gvQ#$v6-0RjgHd%qU8OOz5{)kmv;K*8L_{_0Zf_h6|?eR#yX^T6O zbAzO}M7=M3y@jPNDVmplwL2G<;6U`So8M%bV%6M+t1ygOT3tSKN=-u6>CGoTu~5#N!*Qj@?q-Wb=3 zFAuuH7qe)+;%AVy=fy)Vfmq9p-3zNE;|q@6UV(8RA`#;?>~7quw*8W`{Hg&M38Lk; z+}G*}{dloYWbhH2eX)O;;ikiXhMl$1WQ+_<0DG+}f`kdxD9 zvNIQ18Avb{p#6&V7_e)NQCxg`MwT@1Kce;Ql4~~>pDN^L-$EP)6nEp^KQJl{$WF@0 z^%MH-Yh1r;|IwoY7vyQ)mf^)ctBTz!7>EaPr=KX2Pm%X%Y@9uN^k}ZvA~i|DADQ>B z9h8=np2`&ixV<5TV;7!1DXG{P%H|dti>l7xphVNlwY8>w)xfT&UtAXw6~zs7g~%0% zft?+9Mrj{plft{xceN4jgw9Zy=Szu>mr)_wnTdtvYL`>9QYml8#XY+mpD=Tk-UxezZ-A4V+&T_} zleQCCJ(Z9f~L#n!}QuL$@M`tqSKHUip zog2Drce&`DV8&+0g2NLb>k4(hm%h7d{%q*k>`T#tHb<$3Ei~(-?Y4?CJpKIr`{nEq zjm>noXPB#^|-TiWO?p>=b5HkzVEvS>U^5ZAKu)Vf4x>Oq<^b^Od{Jv zu?k(x*tDsE?@Kkx@EZZDm-OA~y=tjAQu%xXukE(IXt5|SEp(U{dk7Q(gLTf=#Uq$$ z3p;jxpbBYm35l0njRbm4g)of@n=(!eOk(~&D^2LBAXH<4VJVMI(1-qxVEreS;PFF0 z^ZIgxQQ*9~fRIoS-X&=JZLMIrpXX(qioYtqC%UAy9LJMHUfCF8jA7fjv58!h(oVyP zTR^}W$b!AGFbUBD+fGk*b&5^O)2uco@ep5jDF<Y>btYL@)|I(G{w&Zob`_PIMvg8uyP!@nX%)D?c@YDaxz>+s#z4GL)N5SiIeQC zn`?5H-exbIOxsQQymVi&?VHS08FwwrIEC3Ek15x)Nz-j9{W8~i;u%#_)dhs^p=`#m z2ReaVD}JV1xJM2K)7as{b?|oZPrsR)nQ{%s_9p!t6*qr+(r2rkC&573c7X3=>D)Q< z91$rT8VMV#7+LKHlW#;w>oxRUJmrInwm*#+rVZQbq>n)!otF) z)cp)ToA}*!X5_YDX2FC5K#*RhFeOXg8|GCIWa(UxY#AO7#g4#}!Po}Y7MOx!$Dbhn zyo#|Rqn$h3haqM%^3;xj0~sO@xG5r}x5UV4r@MvBifk82rs>vXaL1biY__5bW8du?`w*}+kv4>;m5iL6Z`-zP zxDP&*kvj4jID7p_=I6=|dDh*&MQWW5H|FCx=jn$IZT$x0Eh5qB_EU|14>_|_6Pb?d zLD<4qhn%_BeANQ@R#;pDN3!5lBX; zHb_0#J;+xeILYFhbbJ+~gfRI9_YbspBnLDNUffu{v)5kJy_zi^1;zJwA-ee_pMkaz zXIa$p*23qe_0uMPWk$@7!WC~V3t1{2q?(8bDJ^eOqD$LraXpNBo}N@mb_?r?{mZcq zl5~&2QfhPb0TtC|77H`Li?kFJpTB)u^FDL$cI~$8f-S&yA7bi~!T%!8EEypr5>WEO zDEsr~oOY+_%+n)W;oMeI0LRY}Fv=uX&X4otLv477T>VY-~I`Laa2+ocI? zdEmn3>ksEf9xpUDFkFO?Mzi&;`u4E<(a}Y!U(!F_jlIz&Y@?fD98aQuzMtZqx=kHU+R1bGDiXDxUN7#%$5gXa)z<3I`xlk{ctKDV7sBYNc3 zNsjl@9t)Dx;o*jhOGI?Yw~S%mPcMTJ;N|N-+I%wqe2Mu9mmAO%Z9_h`*y8-Ax)7{4nIPQ`c=*x#Q4$hFEO) zc=XvM)5OtF4Nglu2`k^7@ToFga|!J464ORregp2xG66gl_NGrpaI6!74|gBpVZ zJJ~;@3`a*rby;e+LC&eTE4f!Vj58}5C1>D8EGNS;=2O~idv@DSN9?j*`j&Nc;DP+0 z{|u)a*J3y8vaGk3+rqM@wD&YcD074~W2TzrIgAeA+=pKe{Ln8UzK*cXOjD#gF``^a zJ8w!c+KnPZuX4Cz(iChIOdCAl&QNdffJlui7_XG|*6<~<2u{&cHFm2uO>d=$IJUcbZA$Yo zx|0$op(7n~+j&-s0cp*-rmy{{G;X0mOnC=2N>xUx!2sHd*=8Uft z7&wnL`rHNzJ8=uAYOlV4HA=Fi=w0nfw9e5%;^=TJR%LZH)`G|rN(y;jdXq`iLY=Df zt-3DBsj0_S-@G19>^9Qri4)&MJ$t&wfiHqHR%oQWP~)u1%iyNW5AWYUzpBf|N;Mry zPwM5|%t&36!=Xgi+;d&7i03{L`KaL!{UTOcY_MOkO1^PqIE!g4!P%@MPc44+nl*&` zGagOrTfQ2?Bv5o)!;*GNnT3a^O@O5CgQk~P8jt;{cj%&4o#qv~Z$s^zN5V6>YYdvO zGRr;HKVRt+$=juo^|S>`9#B;&On0gfCd+DSWQ^Vq=ZoY|NEv%QRxAd6=*;6s3Ob#Z zsi0KhxMs9Xph^7}5SuaTxbgwXi4Pcx*bCc`vCHk3v`hBMP1q?ahCQjL+sGhz##DYD zeF`>+Va-@@)%WIk?;AXJ4t5rath-Jx_MhqZrxu;uN4M(t_d?lhFlA7pdk|Jh8^L+H z;cew9W}%I|k$5+C&Wo?wfEJf9M?&Gq2LTNQdLLD1d14j`%TUUli5^PxtO7<`QPa+A zH$I~MVx}V6ug^of@YC0AEies#dkQ}&smj8b*$L#>`G$O)W!v7PUtxnHYFTL}%}< z7OM)6WU@ugRAIzu&-j5z6|q3Ngw?$94G7|5E6Z{x?(B}{sqj()ltolfIDq4rOujIj`j(m zsi4Ul6`8_`+Y_&rPx7U=IC9YkB}K79PWQwf$@P6Rur50t&MRhm5x>eF;5p zJ-iXYJXcQ_p<`wJiL{HJAsFygPo|fb`()PD0tw4rg%+rOW8Ks`>pB zvAV{E`+C4u{JZ}~5W0R(d1Ira_(YTCu8lML!Q|gFC7mQtR33A+F_vAqG62sTjKfND zdK(NJeCTKI)1p6aNvxqeHcz)1oq-8^$lM6D*H-Uj-EOkivL194efPue7=CSRQ?y!- zV~|Yuzr)yj@$x{}s-AJsB-YE%ak`qy^xuCDZ!0Y=8vdq7Ey3^@acvonx{ZQ}?f9mxTLzJ&(?V)o(fj+L9uO0HbNu#J^D%Nd^& zSMFt;gBl;cb8xjp!2uq#>2%)8vz?Q55Rr{=^nk^97lJZhBmuw2PeuYR_MPrXWIunY7l1Wr zQcwv<`ynR@?Mv>mqC+=0Ns*PE28st`rI}HE_-vE`vwl8MXjk|B;m~SHA9}Y!SYek( zCmnO`z$z2_csM?;-pZq(z)`R%ofjR!)7i1x0pIKn9YQx?n!DBgHsSSfW*@t4sM9HB zO#p1g6&2pNf5==z0(r!RR3Y>R3BP*-yyi8F!dD+ybsxO{rQcAfM{YOhGDv8K6|84= z+=h{9{i4Ha<4g`w3~~;1O`|hJDI@=(2*$t|0RGXaI>4rjz9IPUo z_frJEmMW$2c@zwX7zJCFvJmxAlVKuU{jH2O6L(Qo9;{ z2#+)%VMn)y?8!weS-UJGm{oZphGpC1=Z0Mt-VEqJ@YNnLa>9vnr>yL4p#J3ul8{UB zY4M$U%rZ{*tU%cERu$g-a)&6yKIo{c1Brr|MORCUP=2&Ucwz2y!tVk?9>Nc+ zZn_tAsBftqo{Q-1kqiQ!29Y>RG?Q5JYkp$`MZA$Q1U^aNc^!6MGQPYm>lk6=n;p6o z;O_nr5;%APXTXozY3aeH817byaw^5)2Hv`(@0loUso%nEJWe29nt?bVKt&ecgf1Pn zdS}4Udui^$CYR_s2?xvw7cLASVAIYf><&*lFMP_xuY)uR-eOC0^9LBPJ3bQTSod96 z-@<~1%%=6x7RNEAds-s7@jtILKYz{|y^c@Ai3ld2HaT12N-@eM{e&qh8vax#4Dsna zn&I|8`Ox%Sb_4AR33tId7d4?HPEI7|a`N&^m(#3VOe14@_T^?Vro30};kCca5Wy~!ks4KNucRQM z7mdbPnV1-!B2%=@80djNnJmNK!!pQI6v-(JN(C1Gw;8?|u(3UbQ6VkF--xrMq@sG) zeYq7X5a{MqUh|!GMk(R^f=Oba@(rLPtQs_WLFdKEVxglWF@>SYbg1#Gq(AV&Heq2m zY(`Xd9wM5@RgUXD=DS?$vLpddYt+~mm-eln+4Yf=)(mzhrmx%1lmL2!4ItbW!x~c^ z+f3E3Ba{iIgD^3PE7q~a1ai~0?=+REjpD1-VZB#K$yLAk7r^nXsF9S}ev;t_=O;Ar zw#PyRL=+7fZ7c0nRykm{+V0fJskgqJMazzG#D|ZH%`VhOOVW}erElEM66t(BXqIfn zH*Va>MQg5pf;3L)qPX7NJ>7MCeG^YTf@@Y}@w0ZKuktl2E^LdWiU@{Sbp5UtXMb z3()+w{+-GNygIlN2w>?ESCtZylBy~%PZIb^EgmRjT$W#lksG%Ayl*j+vMYpSI-Ybo zO&RVe5WV_wb4$y`-AAd~`(Vz;sux5|nw#z$>C#rjM?U)q1_{8WOVsmR+Dy|;YOB|f zeQeBW=)A7Ei|!}atq1q*F+&kq2VzGBo#eQQ+wg>`1?@lG&E~h2MU$YR|p;d-64whz5w%YyE$H zGyt$C7iy0FYgC9Ww2RD%p1W&(jsz`FX-UcJ%Wc;pArGAt{h=?%w|uzF`ku$m42{93 z3-Ml3n8^ran@0|a6oTTC9hKsNbMZP~Sk0E+x*Gq_Gl)C%&rLy7lpI-73+h6nzEphU zGY(c(>iM1_klmo>IU{ur>%GgSil(LmuGj8h5h{yU7*#Q8xbJZIRaAYr2)qP=5wwiw zH;?onM3umvZ&4qlQdei0NJVdy&TF^wq}uUo&EB=3f!*|}=O16**`rbHnqN1 zED`WH9q<${4^_Hm5wCe+!QG$oB5jiEMqI9?@=eeAGIe}@;XDq!egV<#gk38f(yu$5 z39XM(>KB$96EG^9BGZ0x(~-%y%90Gj7v@|F>F0P1IjhHrS!#i3?kPsuV}+PJl@xGw z3r{HVk}7?O12{DLGem#2uvrzqxcKL&O;-K53IH98Uf4@|EniZ$-hfS$JWynQ{)bPs zKv{GSCx)F=1nih8Dw1fZZ2Xvk6i1i7vMoX9v{uQ1B~*Xi-f)#0mv+d!WmjfmVh5&} zf&COOggiq-Lp!rqrY~Av4WUR_=L0UEgwzvINRILufNGPkBFL!m2|yhrtkEhJ59sNU zP|_*88%%xtXbHKWzet<*#!1nPR^>_tl~r#sidV#V*74+)DfyjodRHKj58WXkoPM{R z;G|`Cs0^;d!^TNOB4A4!aHUe|Jx=?kM%!xs_EY%Ld3CbY)ZSR0qto)Sjaiw$DD3vE z3qmnKFf4xYsqnv812`*m&1KA7MO=43ZQ_jtw1YSqEtq`{4=c#YU8HC+ZZz1y!Ep}@ zKj~TF%H|FNa=smjSu&PSTLZd?1 z=20>)yeMqPsVXWfF|gR)%0LR9|CGg_Nl5p!CbkR8yV}L%J%=`2sV0wr-&97bY04WC&5Nt+_{Lm z+<)^SJ~E%P4MFF*pTPANm$?)U;f{}N7&|re^}E7Wt>Ii{erv(9%K||;*zE;eY3WAY zByRB#sAdE|drH~5S@-2Z{KQt^YQVGyVs&;^NMM&^Azu|uPkvS`yh>o@Hji5`@ow7|leU|+ ziXA8g7n@`J;31Evhu-zaF1q+_uP5J`(I#yXyLR;V3Q%bz`u!J|7FLTy-8W@fb;l^w zn8-(_>0R|`cC7q}4!h|(yZjh4<)8Pne(8R8^4VH5B{Q=@@Gg#BDekJ?+FO0&23N^Z z!Sd%)Zr05;1!y-(WYh* zvskT&vZ+<>O<=wbu>{~!?EZ1nF}9po0QCKLGxZrypt$r#KCQ5;ctqBHx4wHk0F8Ly zajt(Ie#%{0>5BJk*oeXF1i8xEEw42>{S<*PJVaY@@8{H>e; zVQB&epv(w>$h=ECXuRc2N_}98h5Zdi2h_4$B*?z3@jBsnVG2TW#NA2;d?i#0Fl$L; zB8e}hL_@r&II}@WM9o)>qprYN?L;c0`!n#SP zIwovi`TafmzU8GZG}$>7z_tr8v3Z3(gBM+?kL~(?j-`e?;*WPT$tFf1b$~x2$9`$@R45Mm6P=MIS@{;a41o( z7wr>v7DSqPhX=2Jeu{zser)27HW1H{x?$tF z6Ys??xBkzq4Q*m6_|@SEzPPxEE_VHv-KwwAxTyy7!|w%usjY6Nxg|21-&((-L?Dt% z2HUqidork$-T)-)iSC7F7cs86Dr@_3e6rZfIwSS|EUWY==e84*zqF0GB=G@mACs8v zt*ohGz8WPWL`rbiva;B>Y@uDNY^^wQI4dBUX}hyhr4w&Ou1#x^|Iyz1{mow(!nq>C z!H=QJ4)5QHr-_BAz;FxyIeTyUVu$C>m9|V!x|`|718>@>FE%@7iVkXHNZh}lY8&YZ zPe5CldfSZrxd0jO+O+MJ)N~qwhVJ^A~>=+mYzp5*oO5hwk^8p zQYX^}H>-WJIfe|8?BJOJc<9qn)6&R@znSx19k<(o*>*vsZCM-=96$8gcpuSTe;p9% zs?uRR$gAx2+U-Qwb~Knbo6mf?&-bJ5Q?FfJK>f3Nvqa{_N)Ds-YOaWmxEND;qU0N$ zHp7F#5O&6tI*B-|ORo11-&FmU?3&`r_ovdG-W>^iz;0_9^V9Mzas@IGob75DYwqJ8 z3Gqa;CN0UIM(nx0$CJm8A)b0qRD_U4JgzO}Vmts^j_k~UKmR@+lqUO>ZESPxdp?yb zDA1U~IuW;O4LMDJwL7a!W|X?qkClPV)5+38r52Ml-m>{0KfZq$@B#4~Gqlv~U4Z?h zq@;ia^eNe1Vlgl{Xjb8RXp`{%w%U0%4yd^!vqx#Cqz*SI3Rr#7A?Tj7iORXv!%V^9G>`X}K+hxAqoH9*~ry^ZDnf{P#PD-p( zmY8Pi_C}>d#BV2%dZ2icra?qC%V2V=vA4R@E9f+`TGEslcJ z4Y-&>^}}v7Gj-(B_-_j#6(0ezzG^N-pn|A_R!7@lqk4;t}$1~AC-~1 z8D4i3O4reiz|G7D!7KL+8aOM%i6}bn@%^{zur^0BKyvjRYL~Ww5xXBV&yO@UHcn!# z1Kc8qRl}7@kxsWh%2EHeE`9T5G^r{^--hR%-46B~DmN^7`^J&gPwC#EaQH`xM57H~MYPWX!@-~Ad=}1}qFyw*oX|f_mH*>IYV1V#6UkMqlr-DQ2RIk8 zp^A)(3TNc$tv5~dU|T$B;!o9LPhL)A8lWRocCX~ewn{VGq=EC>r`0M8Gxhv>eXZCf z`|YGknfFFL(%!)BmYV0-5-T8BI4Nr#Nmy?(CDE3w9&op_{A6}nW|igk9sj#IBBykb zX8u>j5W04|0;(M=7m`0+vS0@5y#Q&mg)!?eCUvgzKC2%>O(Ah<=0Nc-Xx^2VvcuJjqJdX-p zxA?8{-Hye)fShtI951SBZLDKJ7^NNc+Tq!IiFMyHL+?dpi3_WQRgAKF;@*q7EA0@f9cnguRb-*Rv02vWx>MMrWjhnLvwD z@f>yYdE*z{aDOCCx25~p!t3=soG}(TgQmXGpxYO348_7_iBk~AQB zLdGm}{SWlC$7Dkid@xR9mTOB`m>DUx<&+OqQ1i*wzW8TodJ zbTl{$xELjz&-0FJ|8^9Sx&WT%@ZZlMkKIJu{^rS}cY3bKP~UP?^-$>3`ny=75#*w< zGftp;sz^sl4-S{g7mnpG9Js`bcpcggGyi=Z9#8D``f-;Zsm5iolo1%^Fldd>^S0cd#jVqjvhrLj?aJ<2)FH|oVhimScv7Ih1D9!e#0jImNm0-taf^m|P~ z4(3T0FD|01K3mn#meTy63*4+5%nrp&3JOJy$pO`x^ByE{*aNZN_LSc)?bxec*7c# za7UE#fwCgm6ihVz`%CvEnj$K{>4{hSFvpkO0xApG%%0?9O>*R7Nl`m$GH;_b_ zH!Kz19uHYleDcH2>t+5-The`UTpf@6e||=NE32isvBYl&4%ryL*WZ5sOls;*L{Hs{ z?|%sD#}miOEdB$mc>#{}W3SE?H%b60O=&wd`ZZWznR&Y-%`BP8m-{2_U0{b`W@z2d zj{>^Fy=Bq_)?6d@ELjyCk_Q~2TH~F!=G-mf_-n;5@PYucNzCdvY?#1bz4Bs4v}*r1 zT)PL&&0&(67Q&R;NL&}OzMJ_W4xe7-pHDwM5N+9W&7|#!z8P8IlVm&>Nl8hKjmi)0 zLM6_Pr}rkZ94Kn;>q|>FBpmBR_O@Tm&t9!}o@nE+mCUP?)YQ`D5XfupUT|JbAS@Ff zcBcYO!h-U1chIE1itc9ZOvxo1o@}|G)Tu0Kuhl&FmcA2avK>o#+oJyYw(`%Jsdm1) zA5E5dlu}?Y#o^IwDz?sp@2@`dIhQ5rk$6biq+;H|JHM?XzJbH#Hy##KdZBGedAWFP zkJ(S^MXFX<(8;eldm}%elqMNhh@R_ktyk}*mf%aFe6>dl^%A0XgniEuKQF_}=uedb zs2he0`ZD<~jZC>*Ev7v_I0P95&Mo4PwLH{(+&0FgwAOm9K z>H7avaT5k(7To9=zqY@aw1l_b6~pzlM&YfEbj`Ma=E6BCxVdjVh_(YxfDqHs%lGU3 z-go7bwT*57o0x)z1_@r<>Q0AOx6?B+eg_T9yK&9hb>$pM?u-@DQ=0!h{x|Y>3GdDa z!v@;~?4w>nCrSur!+~)$Hd^-(ztv4F-OaF7bcDwR*4w- zTmK?g{dz+%Z|473yU7~En*CqYW-1rBm2#TuofvR?S?7NQ{waXDpl&^AA*IU~@z&Hj%ps$3 z{J5;aQ6w8nyFgDwh!?%v%MM++b}jMb$$+IFZ}9I`60U-U`K<-zL^POm3F1pcoTkZD zum|b_z7<^lVZ0r9K8)V#Bl*arOjm5tCiRR5kJ8 z)HUGBnTxXS*-{)35MLMQsi@0nN;S=Png7zmyc!3JR-Mi=ui&a%tyG_HJ8|zJBX6+P zJxdIuvvD`qmg!u$7ph^_<=vmYEFJXe!q{;xaxWf-R7z$wgdOrIJS3Xd>37fGgS^7j z;5}BdFT#B9vX=LIo!s+JNcb4LrPPe9m|DmET6SOI!Kf}Jg-U+O^I#KGx1DW#XVQm~ zx3^`5%>=!a(~W2@J$cQPaj9IJ--YQ}&p{bAzq?Mnp3aLfIVuJq73PeCz$vq!*$gJVY_d{ERGOdj-ztg7&mSY3R|wlEAvl;+C&72GS0>SvDfE z8|MixG%~uO=k!b*>>|fHPcY~&mTW7m?>L-(m#3gCg9II zBeiSVuJ4M{7}!DTb%;$SK5tJVCp-1A$PHXOy9|QS zBeu3xTg*uUdmB8+Rrv+Hj$M8GbiAQl1BcA-eJ^b~Ai+=lxc5YJWMORl9Zyb6WkFzdmk4HacEfTfBDdw80sNt#Rp$ zrVKY}YzJ72e-?4bilv(jQ9pP^tfY=BDU=u3@4I)yr>;bcJz2*3PWmwS<^x@ltAr?? zoS&ZdHFJbXiOt4{%*q$4@4H3|x)jcK-#RP6w>`{Z;zG%7?$p+)xW|A(m*9L-TZJw1?ja!7tGT)x6v#jg3SF+MCT3~?NS;V=W9)DQY}=yVP%WiebX z?|f_DW3#O%Id3qXRv>UyonvJ!wy*~3&`b(Csrk!X6lt3Xw6h!i&Geq$;^O2L#-?)$ zIUnG_GMdF)*VfUw3kXx>0=VNRNVXs}AiMqOBZIsEtEaI|ntBP_tQg&o8k$t?Rvu3e z-lcIr`&p#mr6SedV5SvD*q4l$ODzg_=>YxeW7kP^w>JM!!h0e3Y`d^MCarqQ(>s#>9&{37BP6(eZ`MH<1Ka4d^t(w$S zRe3viGbrM#EowZ&pN0N6r`&Hx(|)@}K8<5a(Z{6QT#B=jEuxGnHa_UB1gYlh@RFT@ zcI8CsyU+7_FC-(?BqZWz6qiAxsi*}w)fAQ*tDqt>V$&U^5u^1h3u%Ohf{Z`R(yEPzR^bO)osQ11|YL- z{V8QqJeblVnIqzKMsAaf)RwX81A8mIn~(k>O`d8Z#`>90!^=qW6Uw%wVdx!ux&6UD zx4@PohE#5h3Y01zN$JzoHi80+Jz_3dz4#>dwN_R{lrU%y4Oe--f?F$IhHm{AOjT*^ zMg%fY;6nTtSN@nEcH*?BcY}&{;J^mCNFG&y4lA$~b*lJccomism}dV%qK{)T~oGhD1z-;a$Nb{QE*m28c>D|A1*N7eFV$xmTy*BJ?_ zO6>axqK7%%;N!?z9b}M!!mXLUWy+$j z?oV`AadUIUQwVs3LnYn0b^{3eQFfhM)nQ9~9Q=}e5;-GXlao`A8>uDH6h|4wZQLgm zx&5J^0uN8*$GattQS!o5n;P@N*zU*Oaf7XyVg*Co&@LK&D{r3MqJv&IN3#JEHsS*- z^p{5eVRFUWGZv?Rk>wjo{Xv$mq5Vyk_ir}zu=gz&=a}B0sd!z{06d!X;l8GyI6hI(o}ejU#^p^uBf2~A|# z5tqh7e&Kt~?2|7qLjwc#m+loXio}TIJGjnkn{^6{Vi9)m!NSjRP^a+sQ1TZ5jTkDM zygHl6&Lf+Y4IwO-ieJ#&rs4l_(9nmA%-u5oFMB;UL=i3Wb)>`awne04%c$8cxpHPW zkI1S0g}`JJxDt3YD#;LGSWoe!y*&#VgjvfU4T@G(OE3rV$N`aa`M#=C;LDS^zyl{g z+!i zsAInL;`^W14uUl<|C4>%>=tZ40jJ{Z|9tL3b=Y(w-)GadO`eB*oXzOZ*w}7Wjx&FS zTus<0#*n(fCj_=QT#LQtM?@@Yk{EIxyrUHAvNT0eS`&D+bHCT9Q`9d#XcY|&+4Er2 zHmYEg7s8P(b}maJ3b&}!(Gi`kQojB(dR2?&Xf;wkuX63~y_%fNbs#g&A&qFs? z(Or{EJA@sp`1N{PR(kqXx+9oUKl9R2@`=nTqx`0v<^8)K5iY7K92Jurz9=8MoLrSR zULGZ-KBwFkHg0TvZJw_5%14VGQK(RL4_^4BpE?kJDFeit%ABQN#2c=lng?hJuHBh2 z^Yr|T9u^BZy`WE90~v}05s$#jJB|gBh@jvt_!PIf7}iyokmnW@@NM6|@$m`1ob^sE z6BQ5H#&+uOHIf<4L+Y~<-62e6_eXkk6)u8-BDRA@^8FWMR_mq0HAhMoTK9il>zwpC zDqX)>PxV^|ObCMSQAEE$>3S>LGJI6lLL5F)BpRwp2E)sQANZzjPA=!7IBLD_$B0`Y zW{gvsvqAl=@P$DOm3LMzZU>xo)Hk|j zCFk)%dgh+Qj+C@J*05vddO@8u2TV1ZmUXYYf%ttO>CO^Vh4(?$0Fx9^oLX(2OAw-# zTc<^wjy-Jj^xNGxYSC`To{gO}Rx`I`tT@d-U&b7&V|bJ|edrAc7l4vMDz{+CRKqTU zh5*P$nZX5kow+1CIh>XM$%>11!(F}Y1*xQK*J8hYVL~v|;lf!Dm$x278~>vH-p*QFw-yOUN7=-tsGXVFE-El0Jnn{=>O*aSZXX5&-AMNVXR?JR93rdBH=d zP*lWBr*xnCiAb@hG>65@V`o^;%axoWB|lNX%V)ObX%$_@p?`y3iXqz)ggBFb(PuQj z^(BE&yKmga{;}4k3xl&aE;8I9F)FjzylK<6^wAHZxxe)UZA@YFZxs&w1B&f}=_Ub+ z;RF~5V2m~K&{M(cGdNhT?Yr^az}Fi{%U^#Ava){|ebaC(V7RwM#YFbU)uf}UUH!~;}6`yJ;7jkLKUJn%iKJtqPC$!6*-~*&0$LR z`18Gwg#I+I9AIN)Y*sTCHEJwK{W;e|twqVm>Ck`VhL4mr#aa>-SsK z@Y9yp$?N0b4Xp<2q$_PZo?f+bdwE-ikB|J^$m@T}-&;T%MD;Rrz>SZw z+V+NDi*2AFOEPe{`Y~*FV-yy`({_$c5A0p8GcG&vs&IC)>%{!eU+>V=PP{`Imz>p9 zm6_-dtkosf7T6{QvJ}sPo1o(&AmLgTWKo@@PQ3PY8+73J| z>5OT*sB9w4H`4lfr8r11?WEynHIeH}D9Yuh_Zs`wIQ7_rzr|8_qx(NkknG&h&50j3 z(yL3`9#+}vcKI3RIH{-do;5#LEi_8`cd@dST2ReFvd&hMb#l zG035uTw`{uK}z&tL@ist6*J&LbN!bRirh`{(?|R)8Dz?HbzJ4n+PI$WkPGD*w}*faq?f zXGftO4|;uOUw>#~erGbcMORBoNSheTieP9L9ZgmG!}vJa zmV5^j=^c26V3TR}56Y(Dlluu)aJGB6vj+Z$O~R|-4(cH3c(-HU6SoPSxpCS!>cg*U z)H3HYbhB*3uZeA?ANo>cYVb`)+4j!SKDD6-z1=HZvetFYq;~wWF4Z_|$|y+$0@x7q zb!KMjS#cjImkoSxs40uyKP6p=0)s(G1-PiEdH5A;z0Z{yN7USnd=NVJfIX-LBwqxU z3|>F9HoJ6vF=O?-BE6>{_!k<3sV=3`y>TiOMjZWS4788|?@Ft$pUloyf6su*@jZ}H;>A8-6wui?B#E7pC-!>{W zBYO)vW~YVON$!&7XJV(59ru|?QCGR^w)kCHIsO0;;SWkkHfy}rKpSKlm#!Av+{kc~ z()M~-W}O=$tV1LJs4=V}{FzT%EK9`(iL}wOH&H_=Lwa#_S$u=yzYAsU!@48ir7wMS zAu|$k`yS5iR41q>#iL`LUMEcTobe0kUwrxuS;|b7%+jl%N~_(U>;86OXg@Z-$jA0H zY@7h`umm9H!>!vY4cxq*F<2Elk?5b?y`OCQ(=dlYgh&cMi;K_f`PC|E85w&V9y7pA z5_+?WtS7J_2D8B%zR{mmKmcuU;2j>Stg86c?l*#xuJS%-jg#_g$=|PQCYxGMZ1F2I zCEA)muor&oj6TmmS}YFsPg`PA{|RWBNXf|?<#hbI0#xYg(6*6}5QQ79#xnFIF&*OQ z-RS#6zS=C`=$Ko2&j3n%$K4nW>hu=ghqE=nx3&F5+Q{$!@(Q3ywfFPenR4x~_$KO6 z=3{5WJW{Q@|H8H8;VN)Og_v8xuiKQ!8@7eow0!)v&9kts$@lN6CoBMA{6BPkWmp#2 z7Or%sbhm({k_yrwB1j8Jmw+@VrJ$5Z2qKM0N{e(zw-N%4d6;8sm-ZDR|#v=Ixq?XMen=I2;w z8P|kS31YwXHb4) zrfM-jE~RAvyKdx!Ix0NdOd#Pp&(+a0{oen^+O)^OZ?)9KaN;5z>+IZ%CXdyZQmNr+ zv9j!a`i~gc2xUMx9cHGgpY3?p_r>X2Ne^Os6S{*#&NIKb2rdI#3t+6%aUs?Y@Kq2G z`HL=9Z`6&0Q2-o+n=zziy2{{D0>$`t>vXiE!=qiZvL)wFlD4v5%F`H# zxFxnzQ&?S0-N979YMo~1_gQEba7K-LHAjyw6yr4bmR}w#(58LR%7~grU@OzIqT~`Q zV_D7g_UZq&u#xXX3wHCuc-`&^;*}Q%5zhed0LebU?wV%tlfY7$yV@frL#y&dpr}== zFutyZ{inf}r) z*80(5O4&JD2DPBrE~!}ZUdk3`k8(o$h?yZ zKI?J~W6%lVH#0v~H8ms{{RD}zSNl}BVD|zt4-hbkHHd)5W$7K}*U+_Xm@B>?Afz5G zNR_=@x0uzS3x~-Y)|R}ryXu`xV!x)|2Ty)PQC;>^VmerhDeS~&*Sx2Y8@7zVL@umX z{;Nl_9WM{-fM_sC`T_YnyL=Pi-{Q{mHzg$M!2|;Y`w%^uU=H-B+woUe+1ayU#8Nc| zkxYgd&im&V@UPG`Vd;_p?u_yWc`Sr9xb(xTwPY4q5N|II{7xWFe7dEglF3VZyNepJ zI0N+URNY`FJJO9OV(*-BCyMIlviDspGaoxirekj)jpky)Da>GWfNev~jW7uK!jy(A zpfpsvc(Zt~Fq$xQ^ohF)8U{xHH{c+>LhTw%v9Yj#P(v9Q*i|pF1M)8ME3MGtl6TA} z9_b4_g-|Mc4T6a*6Kn6k3?JDIp2{T|$(^blqu$4_{G5i$qwvShqL$vi|H(;Ve~`&m z!_KV!n(#DY^ErCFKJHuo;A*gnwVwVwVX1*GnpI4`b@watRg=q%6eUN2#Rf!oB>$2O znT_nTNBl29$o!O@wW4s1S>1lQEt~^-!Ig@ z=L}LzkYj9tq@_(M%>Vv5fsy^Mk|b3(%B2|$@K%oQCht34bQmA~IriA$H7>#CC=~j~v5RP@i+3bDDqX&TreICgjW-&^VNN3t-Qj;vF+Kavwe`isf&WzUPU z+gh}nv0D&Un?|I_Ygr4R;C(TcNtgMznndU8u zo+OM~bP1?Mgg}NB0yitAFw}o(slW9>{7qcHoIGY49_}6SVtr{O&8_18`|&vT4a7roqK`rwLaE_+e+rX}YS2(N_@^Jm;i0T|PG0#j&mg1_pxK?%MV1Uf?(9 zS;v>}a2kghaVj# zYYssdCGl%Howx45w3F#fa!Xxz%RYK%$Vm~En`4zEWG+^=P^MkptVO>?1YA@42ySC0 zOoeO$jm+UT{FscH+_@psud9w=E$A3hyV-;T4Kw?J$KYZYSpsP}Zp@wn&0n!hEup$I-rH?G3D~5aCPFLnQ(*!o?cm74c zF0se4O43JK_K9Zb-x)O9UQBdoD%FK3dmNppYn{e_?q;V8e6v7^4iKdw=KCRWcDyrx zwF*qv5fT!#>_A5?$6>5)VlT#OOeA;52W^7}R_82Y+<&A8*QCayW1=43GI2`%!I?>_ zd|5s+W{J;sKg{gE#r$9G6;Yk#myjbvqr=$f`HkV{r+lXUmmjAt#vxa{eJk=Nf9lAJpV{t`|tNL#_#C5(Vb&lGAH{WJ%-2#@W=@I zHGIv8GjV=HThxIzR<<{?ScRiapNv?o#>nAEB<7=KE4|wcflXl6;XR!;D2meCd9UWX z4wgPb-40$FR0ERU=#iHjQcvZ7Gp<;!Uq6BsF`IP}3xdSe+=cFD^&3p`+W%~MA#P{{ zD*~;f_skPk#jx`xIP}Tr>gqb&DNDxm42&Ar3jYiYPjIWMa@#P}Ye*Z=4P0EyKs;Kd zH9`E<1mS9NOFjoP7~qFK(u9IszIN7Ggp%f?MpE6W2%`b;isQPHozB&{sQg@i7(J_~ zc6TGml+<4|%}S4J-M*Zl9m>MZYufeycmolvYJO?e=6$0}ya2`By#TOn{X?T@7}8#H z^bUXJx>B$7gGXHy96V^tiQ~`csi^cI=A(oQ@g;~O?9w)e>rcyk&Q8zvea_nNQ(*l| z#GVE3p`d%9rz#!q$jQG>a1I3%O@*qv)@hPGNFhFd1X;LaGKgE_I;EL{_gCK=5I1tN zy|q`fYr#CfF8Y(_e64Q!x&s6}#H0Uiww<3n4HX!XZ<3Sg6~Wu=*$D%>5(uwgUklIQ zZgy%`DBE!9sZ@|OE5K<`{#c#>#`AN1uC9+CHVl#IXut(iD$${Xejb=eU%!Fc;psg5 z4i6zd72(^aB+5-9)3M?+#ecZn$?LWEy$p;2_2g4aaJxqp`$}zDNMkWV`aYg5r-x?( zD8<72K(R5xdLTD>{T?7HplC6-t<8(O{9 z_M77qC&l{=9+M$jmbt*Bz1|%b+}EoJ1InQ!-&eMj@wYpDsVn;Tn=;eS>IkZt8Ie`)UIV1n{DS$cqTFVX^X3PgBHzWYfhnBp*Iqr;r!m(?R_O(j!S8F{ z_K@gK7&pL-c0rb0H*Z(c+l`m~!R-V;i2u)ba|M6px2Cv41wZ{qu2y99CoZ0gV+EnA ze~ug9&3!@sp#K(95!P%Ls>|14)ABzGx^&T0mHZ(v9FYJobZF{~F?ryYw1rU%bh;8i zPziK{pI=`B+wT(qCQ2{F*#na1dbdU9>qj>)<4yOIU+W8zvJ?UO?AIMwjn_GPsSbU@%qz&3-rOT z7QwC2U^2QXx#So6E;ZF;wAiATP>0L1#AB?~8k$;`&fqcI=YkO}OCfa8Vvm;1b>4># zVg$nlxLo+p#Qi``fTeny^tp~n=Cv-evM2TfYn7R*62>9u=;&Y~vqSk)HnZg3uPR83 z^;s)w|M=*~HLKnfh@4mTpiaw5G>r$-5^(1Ta$aKU$M}G^+S{*O5Sr$9<;{%{-yQqY zxivJ5NmMtw@`xdDgOt9n`|rCc5vs&gdaIatG%j(Tk*M`(Z;0oGF{xRi_B@kH`$~y& z-qY(=;06t!SYYRMP|kHgpZLF$xsKM$VYj9`AUct&tIN0qbg}2Qn5i!SNCUVmq#fDO z<>Yj~K0GMs0xgVdNM9}wqzAseazSkD?c;65xUK0efSC|9C=CsL%}|8uZ+d1jN8?gu zJHo#6=Q>~jsMzFBBPQ-$-WngC6Ys{{=Da@3b-oi)8#^N&k`>*W&to%bYA0%kFL_ zr+Ai(P-JjtGv>Eg6T<&ugHF*Y#EkHAu(AeR^fjpa?H1Z+`&ALbV(snM0dfZ8O96m; zm)?54wCuaq$W#wKngab3l8YB#gF$U?ujD*{pKD4+LN(3H%8#Mmr+>f@cKE^q58_wyHh<-=8NPft%*SAojW={`Am`5QZ3SHU%%oY9N3s4El?}Zz4 zx3sl^n@|bB>I{LXBhsQ2M0J&7cB2Q#@0L z7R6?RXE|IF63MYl_^5OtDrd?TcjN6ygflVPQuHjE$0=rAaIpn9kGDsE73!Jf5s);B zWIX(2f2Yj8`1jH1aGMG;P&1-lM;$9rQ84*$`34um+g*uqzrm5O`M=3of(#4|Jw3dl zqKBX+*dHvX@d0%rLzaC^cX{TDE^<_Dy1#gWT-niMDcba%SF+Cng~oc&9|p zUJv08dWmca3#~TF+|OTODoShcHvvZZNn+#Y>TvkUk^z}oc9wH4X^7lcTIA5fP|B;z z1>DA}etvJSC{N=fCx>PHgFDM3Km;Jc&%8r#ezZ!oc+LI7mU`gPjnzSmku1IuVu{lO z=57oA&-6*y%-SYt>|6rK`wW@ih%R1%cbJQ~I)JjzN0Q}@VBRvXvJV(95QuFyK%&8? z0=g&cfAA#sqThJZ34pAyfd36BwZN|_HF)k=8VD|IDJowk>_%TCvlioYef7LLXi}d2 z!-e^}cABac$->ENrh>EYmSr6WeN!7o+b;4A z;68QdDi9nGD(8_hp|?p0h#5*;CJPUhTB(?+a!NNKyNJDctQVE!JbPHSOs8IuMYa&v zTRQkmB;IBmNM(KJ%c}2yP}dj`pF(r5Ny@%Oa3`y&=P`Wpq2L`RiW?f_vGReepH1#45FYDM5YH>z=W0=Kh)(Zzw6 z!NJJF2Qbd6j{kRLYgv<` z=*mSolhmTZJ4jndPp0ns!$a0(KZ72&8t}3HH;|(gQU7PWIy1O;kK7-AOW+elp-TU1JmFQM6BRHdIme#fL-(h>qFT5`9@_0Eg_G7^t z?D3(~a)Il&icQqs2v)x8c_S+Gm8_~cyH3;m$M+g8-HEOqv=|XJ8qed!q4VC9&cu=Kdx9kfKhL}ydUCo3~TJgMfiuoVVfV*08yr5 zBq2Y{?H8ZBf_>1++5L@)=G9A-!zoUmm-wh^ce-OEVr7J9TTxb84>BT<-@rrlb!U*Q=UBo z(N2~6ZCjkeux+Mvit!?K!RQ)<1%lb2rCH;WA@o@@=J5c5-Nw*m_8%h zy@)F1emyK%bGztl?uxxM3otxd7S0mk;gj}n`?`!S<=blT3HDKl)j#msoO)BF;Qy<8 zwEx8R6YQNpqZg0}uooJZ5-5Ckp<{^yLB%N8e8nKBy`T&V)eV}C08??vBd3c@caFD< zCp66g7y}7Pld{Yu0^~k`!DE0`-OE*th4ffkn~VnM3-22Xkzr{hSx6)eYeyL5##A}Z zNW%aTa3vJHbb?Mg>l8H?0&LI(6RdS$8)axnXDPLBfi{+bvPG=C@R*XzSi=pY65AHwdX-Clu2un-hCt5``dS@VHN4un>1M(X zzDaKq5`F<$Gd3#f80O}!hak>1MifH4eFbzxo?4A3Z2Z z^aXzz@79vfKQ}4fYImo4;HI-sc0M`-cQ-xQo3Knn^G06t9P#6(qym7TxG-JeV&geMOe`2mmk(KJb3h+v!WM?{M-0q3eD!sLg^b-sU>oy z+-t3Kzjhv|zmvYRcdba&jOj}zg;#>iPOlh?5xTITpQ<3iN^$jPS^|%s%AkQ4`R}3f z6?uN9PS9?gm6+_NW&xUT|=7 z`nG_a$Amlz0|TR?6opYA4$A?vbiTy_tvI9QgYj~12_Gcuh{DodO>>w!KsmEyB+5JR zSyg;tus5_?7bI^mwSXNWtOj3rJbFCfcWcW1HZVeQIx%%?9s{zP(gV&?P9V|-8@k6a zjJey=WxiD10=S-xuA{2YihFM_IQyo4fB9olWAvt#I{3~!V0zwek8#^cT|JV$j4o`S zZtqTL*Tm|c1?v4pZ~}GA0@#sGvt>D$ zb4(^>EzP@oassFW41KBw24QHnnd8mP6^)^}f_hEc$T2@aXmtvGJp1JK3y^4@H3 zZ}))|g8U2RgkLHactn60UCt zqv`eDAw-?|A>gh4S%FqmMgWbG9<>=z2dI0_87%&{ZKci-E1xr$^4s$AZO~=g{d6e) z07jV$r>Cd6f}_1G&GAI3NY2?Wp77&7fDlXYLOCQQ7Lxl6zGkq=L%b{fzYhdtyaF)a z2D75aBLTmT+j9#t4~ju){n7k$B&dv~y4R+D?NP*#=W5w?C@3h7dy#`rFOThO8<+}W z;yV^lO-E=GPiTPZ?ubVFoJ|nZw~)=*eeDqpd%|XIxN0`yR2$;o>sM?S4IMH=83C$a z1E^A|lT|Iv$yAFcxJ_nmhJbS_Wq}RLz2v(scDS_8O6jX>CGRHb>(P|46L?rTyzp@9qFghOIPILHS1o#cc1R7h1=`vyK9LI zm}ynaA9PaCPN3bIRGGUJ{W!y69O5bB-Z3V?j8CP6XiDJ(wBLj|^l0#d_aIata0gji zvz*u4`1cwXu=cW1-R)E-m6Oto>sAtnGINO5`y6 zM4C>1i;=xgq==JTZZ36e6C?V4`~(YV0K)(%?S-KzKlsJoC&=WL zW;hMH=MSAA7V01c0q>EL(fTMn>w{K(+sH+Y;a`TBk%1royc#|~dHscV|9e~@5&`H* zt;$*r?o+8v%u2RnCLFzQX7!hw0CaaM0n-&0SX6EIc>gQ`)HjW03+l|(u-Ng;k3obU zT9X{+@89MhNA41C-3i(codmpDsEpH6*{V zny^Jcq-%QhN1E3-O%%$Fnl~{QIhT)%OZC4pEyXINtEZmq55CY~o5gK^yV%RAY!iqP zKKRk$mB-E4Z_4WeA@`^7nUj;y``ohzqEnefpQFx{eY#9$B_#o(rHcLoMOH_{#wso@ zE`KXRZ{S4-PYJG0)t`Z-JgB0a01yIW+tkF%mr%d2u0n!EdnhFe;|aV=sd}jmV7bZ2 z< z9H0j)i79g2pZ=NaAejZ_?A%!ebz>yB$iS)=xDL-81z_F32NDUogyY49+k-e1uesD?T5h&*VH1xnwgHS z4!}kTG->9|SZHdOlt4@NHs)wL>OB?VMnDhcqX>jaG<~Nhq)unV{X%KHv;I&-ev+UrbgLOY> zbHII#N}q(U(D9Om!&$V_HgVX+JZCilIw}Gm)zJjX#cg;@HN8V7@vin8sak?I42-Tu zGV8>hr_fRi;c~y~eIa z!^Xuf`{ox$DR=Jw^b=S#szK&JW^4G24}Ks(FR=vvC{%wjFh3+@1MdME11-^1WZw#) znaq%P5e12w7#)z#6Glp9kb`>(fUn>L2!=)&B@Cf!fYd_39D~lcN+)LQ)Nar)w#4M? zSAjRqI@FrY#Q69Z)i}y$KCZDL~Ej0qp#20Nl&&gPPIUfPF2-HkMc4LyVv5}F^5X_=|`=KFX#0fx;v!;ju zREmu3X9EfW5Pg}iU#I4wDVVOWdVIJI23U;K{u&qQ>CZqcmXK4E`c1-V)*prcJvKqY zKsGQ{zvpBb^C7YZ;5no6|K)RbG-YzIb@shCh>{XZr4zO`O!<#KZq!bi zQ>Ii_y2Et`uHv-j?%L>1^j*VO^$j5@vU4pqh-Nr&6JsHdl$i5w%VH~Ha`F`JvMi`S zJ7||^Kx(ew${S0+#v7P5n0cf0mQr#5OP$ms&X+Wz$Yrz=-ZWnk#IOu0->Tzh4ewTl z-c!4{F+Ng#sK1T|2TH?WF~r8!>@)|3e{_fL7ClaV?%=VImoQo!q00uxlMk{FhwMk{ z<-7so=CY>X8|%U&l`?hK=@3X1A!i4-`H~AUcu~-hU+_ByMGx&Y*EqokWcOGb=F-dj z_w8yNtqhs+kgqp27-&A~%2X}xmTfl23d2j(Y7flx%PlfNyKKW@ZpRG1wf-&$5iN98 zjk-6ye%eB2J0yPVs7PyM1%nZp^xB1rZ;(z`8Gg3+!RHAC@9D;%l!@MkGyy0Runxd) zPCPp+LjQe{A@rA=cd1QtwV@7wt;x|{;gYW%Ayv9VqRq8;qxYzFl?eN{Qr~oY*Q2Bw zKI1&7ZMgE(<%Y}R?bCoVWjrCtx09MluB5;ahPv)c=-aQAr;T-fj}uQ4KN^4LHTVdQ zY-rm1;Dy`3mH(RZ7-7)S-oA6T(hhf6uhh!q723T}Flx0bVYhqf9#h7@`_PW4O&)gU(&@swnHt$CaaPF!Tdw&Nv?I=%BF7v26nLqy(!P#)LPoxBHr~H-DH*$Eea$ zbz(+(<<{L}6BdqD7LZ{@46fcTkkVlaR2(q70H7X$Y(U>%Bs32zVvsD`!Ey+ea#o2a z$>EM9NZJiH;=X1Okc=gabw?II{F@4-20naP_Iq#?Cm$^rAhLIpd-JkWb2vkwerMK6 zWE#=Rm*v|%hSy%wAuY-gL%Y!5ygmO#bbH`^UA3UKhIA+nK2UcLhuLkI_QA7^#8f=! z4oExrAe;**(j{EY#+z@A)vrA;b}%8A`jl=R7=PulDlTK;q7qK73T4}zExDGtokn}- z1$K}r*28PNoTHp~@wN|S`9Q+mr(n{{Bbk}qSDaD!lpb2iC~xm=M)T#5o!XclU>2CFVs#rRk4|a>wMhpRvVxd)-&aU_iiO~{G+k|W*W$z7 zbI4{LaRRH1O6E;)MOmDmH@4fpS?x3@4?E_=R~Ig^^6=o#Kc=Q|^k|X`OSEi@WZ3F^ zd#icN_-exW0R{`f-c|64OGAA*4y!EaP>YmhSj}P_nWst4d@bHJkbn7W&#-9+ zNM40q8TvkQ%w-z2Ha?|yT2*|!Y8?I>D&Tptm5g^m)zZx@R zikzn88g}B>s1g{xcxpn1Xe06d+eU8BV`j}I`C&_s!uf!@VFtf0a4C;3A&XOm+_tg3 zu1k_6n5F!yGWmmt;-0A{rab`--xt${Pc&D|KeH#EurRZlHP0o*7FZTXI-`P$} zW1>jj#4#&_0}N(Z@JU+g!cyN68>S{??9mDbBS_DwXGZx6&_3_l5rDgpEkjU$pVLih zq*N~);rH&g@iOte46H9mob5=MsGiiH?Vq*ao)-g`S9Uli#Oky&Jo<|vo+WlHx20nu zR81C&W~8)T0kH!|F2v6OoDhI#nC3d?e|@S2DlLP5&^CC5fC8p1>nPV))uouBfQy5J z=$%`iaPw`-8|+ZGd3ks&t&xNUcGXxm7Imb<(K^I~p?f;FT#$pKrF% zk4gry;wez!5{S(41>62STYz`P_L-3yd;X15+|w1R^!nSRByoTnCd?&Yr| z$L>$j(@u?Fav73YF`FCex+{M4C}yL>fyuMt)`B8-*-G<0HPqVEW#-T<0RzWijgC(K z_bX+oC_Ni_zHelFH!bH$aY|E?88Dm1t&cMz*LaC#nYX@3m4TZZ+(6*R$;!*ac(DsJ zwJBCl3-)U&>iSXA?W`>qY{Pr{k>$q2<0d|D?L|Hybqu$^tb&CZ4>vlx-6*dtyFek#QkgwIti6)u2^dvGxfX+ZM0h)S!M#elq-7Q?oS?>Ps`lPxK zW)}buQ~_HmumFJAn5Nj12Y(Li$eM|PrY1?fs!YEn>0|1yH~4hjUFhK!)n{Loc)1Ne zk`QmgO1Lw|6%kT)ppIob1E6|WUNwbe0l+@1V;cwhAe*OH~a09cdw@(H~Go+PB&6x=h}Pk zwppCq0&mnTV4u<(J>F{V@i}$b3>(eN#8Gj&_7Y$S;AN5Btq@W z&@oX@U+P%-2PWOvKRVq#7&8hESi3V7FmgK8Ppt3W6*GKwtlX|s;{9`hn>u7X{^FZ5k7ocuGon!#4@y}~i`wI-QY&1U<>z*?lRO&f@e*uP2W zk1=z_D9V;uim;oQpg4^%1ZjNWR-)MG?#c}%xO+7Eq7kZ(u5Dm$Ow~*9;6P4^|Ib2!aK&hB@xj%3 z0-pm|Y)XR&nXJ%yJm2@v+ZjV%XuA)|kqTi{7A3sXz!XB?#rX>Q38?>+m!ER`t1*UN z?1}^s+FxkTHF*5Ja{Zvo;b)n1>=EOO?=4cqlj&=us_E*wOL;xQc-6Wv!zKd>HZ1Vpx(-79kpF?B$8)yv?9a)QT~;|Ki14r&*8rGEv49!MuI(4s zSL0Y+#t16z1SFp7#0fQtqxB+Zs*Soj^*H;3wec5qd7+c<)jcAe?GiR)cz=TR4b%*b zv-^XYKYTUbsMjII4ejbJG;|s)ZZR%JFw{_cv?6maU&8d=d}O8mf+2{l6<)w+K94Qc z6sc5fxJK)DXZF=wrGFC4%+Mf(bBe_QV6yPr#qEK;`uN;QGQwl8 zllZ%E)k^w}(!!8l;~Sk*Q$}Sv^djJ96UnLs95IXzlMVNaH*ek2t8_Gh&+W;RC(6oU z-`UxOzm24CZ#$pLjQ=jq7NF+cs5>fPFJqY(Cq|u-s_Y_X9luE^Thii}&yMOBxGK`E zu_d-;fl*`n99Fv$~3$L6g8NWAcVRdS;#I?YZF7z<(dEh{a1$8PC>`w>*oh~h4f&_ zTn|0-W@mj@(GB%9ZzsTEsAXEmdZ26Q{;k?+5VF?(fQ4%!mW-34Vx(8Y+NQ|TBI_F ztiTUNM?>4<)q^&R^XAC&wUguH0|$KUMCt3@GN?F=~B@Qlb z%|AGMZn{pr!avCM9d|m|Y8XyF-sx6O6ndeqG`ljHZZTs=E1D)$twn%`Hz;!G*uMr1 zl+Hu`W?Fdn5bpAqFDrF1OoVklRudkR@3xq|@a28Cfk+W~4Y#vtnR0OFSdM4}rxI(0 z$JWW0S@#H1Ljle(ZaT`6%Oz0=;ppEhh83-NI*}mT%LE}V1VV}d3VsQ^YwPh=Z6WD z1joBJKf;(25D@{l;Wu`W)Fj5jBI}NW zBSmOg*p$)s+~3`0#0-Atgse3D^u|H#IdOCOP4A@s{{XefK8{DeALDXsleY`9N2}hhpG&2wGbzy8W`j792x z+UB}Gq5J1nWsS4}t_-RmoMW;=X}%^z<}Te!otsV1F7HD92Ra)*4JJ)`4u|3Hw+OY`;v9X z+e(`hKoV-+uqf$qY-*r@Kb>KCLQzJ%%VMBMY4%@<<~$k}`khPVu~)tpmj zy1zPe=C*%3HarMaTYQ~{r!KP4Kh^>Pam zK^2wZnc{M)F0;1r-&uBv1x0@2C<2jP9qACuFXx~0U#zAOn3DTbVzQH;EIlr{K7VI! zv}D8Rhat_+rIo<-2d{q>EPmrOWYV-}t3i8x6kC5B@Xq5u^P9u#kG4S*=m;oHDdJx! ztzGc-EqG1ti0=&mAbnC%e}X5bvdMJ@#VC3JfR?1Bq_Hsr>NvvBQuZ6yT_F)f zizhkU(?j45miub>QV4JwT1;PGUodfFjBJ0xSOlOtkYq$;-Q7iWq$fh2EFZ(AkASiq z7(rb^0UzskFxl(Ap?l#7)ccWImu<0s2)I}&`vr8^{cJZQJofX3CjGkYNFm79`9uZ4 z;WE{3tn`^7_(c?A1S3Pc0(TG*xB`eAyZ{B)f?K^@A)!3*hAjhE5UiibDQrQ^N%AhH zMQ}1b)E1kGnHgup;5&9A1Ieuf|EW9};=#@V8i{!$mC*rX6snCNOF$emgXu>Ag+9*J z%0o?6q|wOfK1ELfTTi&tPz03Y_-1~?s3qm)5PMMqvmd%kH}6x(%Unoy>nOGAYht=1 zOi8#cnF#A&dl)^1CWV@&@7%oU4nD7)9UUVNkzxt-Wlcq~FbY&1Ur$FKgQ%=w;$)8g z>|oXC>=#gwO8$R$y6=TC_58SSJx6cv5$y~zjIm>DMRfjMu#NN8@rL=6{jMC8S=kqy z6j9BJbeP0b?sIsK3aNO2`UP$J=vpSgII9YwmIVedNVhb>NBejo`Yzv%XzIW}*V*p7 zJ0;-c6kv$AhNkCxPe)sO2;dw9`UrQUyd$|i!opVI9?rz&#xzS~(kjbro4 z*EV+qdCNQ;XpU{z2<(17z0AcGn!^OU4|EjEoLwIyZpJv)Z~;|X{oJ*BUJ57?DAgFw z^!Qdfva&7ED0yh*wMAMYE8Da1s)b>Ad-i9FuLz~fY|>nF#l)U&;Yw34R(4{J_@Epu z_{cX&e2$Z)Q^A+qF}SU=V}RO+>p1#t{^ifn z{Ywk2C)zz|`+G%#I0ENan(dz}z4yx4Iq~E9G%K2{y{GqRI$r;gg2g9M7R(QFhDDM% zzkoDTLpyw%6V^{$tgLcT&QFgpzwo$!=hiEIs=WCgO5Hewd2dRYw8N=1QN+B;#KhEK zhxYuf+dU5q0YJ06$E814OnFmF5G|OU`R_uaSjrgq9fE!x?TrE3QqibHQV15?Uy?rV1OvSC3&;VX zh`?}IaaP8kqxNoAC5Khk^Z`4cRjbOv++-nhG!<4MhO$^R6+kr{UiaP@RQ()BN=*$u zw*+R9wMBs%$7hYf)}@VJdtxbftVr!mwJ-(Dz!%5yvUyb#kp*svrd~A84so>f!8(*x zO8UC7wW&iqe0;LH83y_Q$LqkQqIRG**$k(=Dj(%+RdD^P#leG%p@}nj@^*U7tkhZ) zXm@>^c?uuzW-exUi9##I&CVVX zYqurx?Z(o=f^yO|t*9|_TZn=}Nno)QPyo1F#NsEe8xj}+w_iUDY{Y5qt*vk(#TMKl zZobeizhiJ-fG`m=j>yqy#ofb#w+m5`E;k7cL;mta6BOUUik!~qs550>edg}Yom$J~ z;SW>KP(D&M9Q})2!>$B)1YYp+Ad>oEqC0TX*)-Lnk7<$xnfw}leW90}Tq|&9;5!Yq zfPms!V8)M}{6T|rm>N&;2nZw~nUI$QkqB?69)JiHETz1z+ZfC2eB zPYIQ%K1NMD0v&99yrRd_XpsU0)b@;dn^RijQ@uVAnE*28IqF{s1m5czwXT5y9`qJF zdpcn|IZh9#=Yu*F?n~YWwwaR)l>P&Jp|HrA0qB+ye_DXeQs5P6zf$E$QY+;C;q4OG zQKr~U2-tckDq@v}y~D#{aC`~PC~7JKwO~`AeRLmox?s;x>GkN*PvHDJzD82^4aAae zs)hM|a76xfgNVP9WYnab&$oDvW}`&o`!E*h>Peba;)ZdKqj8D)to)d$dTn7{!232X zj$(5jGVPGLF^*ug=$dZ=eT4LsQ4Auj>66o8CU8?X?fBAd!eVr!+ls%1hlZL9kAkQ| zCTZ;vBKL-ZG5-SHr<%h-T)xDg-U^jC07CgUTj7#ORpP>42U6-pfy^>-2TZ^S_J<(h zI*1i>);r&*o=)FNG39GBA@p~V;tJ!D?Oqyjayj~)yL7!wkmeyMk2PNw{40|T7TFd<0 zd13;A!lJ(Ui^B3O0D#VbfPaaIfK9~6w)^Vo74TTKr~=R5X^-O4?o)pU=p`$e0TK%z zI~=Gi!*iBhNWYo_6o$Q~ZuqxN?+D)d%dAEmGEKu1h)g8o*7Hvc<%6dAH2I2Qn|@86UfW%M?hew(^!?hl^qb*FR=v#*O6%#e8GdyN|K{FD7&>_qO{^H)Ol%G+-O!Kx)s) zg?<=G++b}K)5{~LT~+9;$h0p_Wh;xTEUWKCV1L%SpQV)567}}6> z$m6?7f|#J^Lhnz_R|`>_CvNcFKw!ugf7@pT!5oqb%TwM*b#G6#t{wRa+-#A41S_YQ zh=^WGfb%a z;8Khe0W4aQui^>iAtq*-E3~2$Xu^$UAunIvFvB2To4FXH zSrvtdT}eHK4S%}-2m0f$pxuG??M|Xlm|{xzu{1Ns)l@}5U){P4ImG|V1M==lYjt2 z<{7J2ppu0qBe%Y%BY$z};;&hR^Jo+R{^Y5O&}p-i7qF$0|2jRLA@Bj!O?E*+8?sRU zpM!>=%_4O^g1wo~K(?CDQRGXow<&xl@fW-naPWRIfYPj|Qw~#Bm!ur%h9MY$6 zNKbJ3UxZhDAhaq0i|h8m(b3LTS+Q+>znbePo^Y)im0+2A=)gt{bf-)n_!h-63IBc_x&2Q~(A-+l6zV0Ub zdKR7+2F&ol-^zy{Lv02n_X!ih>H9+37X-fY`|CCoA(ZGg)j<7Ij?Rbkx4sBw!1AcD z6rrq(!rzX3FhgB)$aaRC2tmGY?Af%wsifq!7=K?j$MgFo$SeTS6&E5L!?+;+12z~6 zIl_8VCs5%ntJI6+Kbxk?G0Y-8} zX1CW4mM>obG~KU+C*9|O{znA8&w_Y@k4*h$pX1F$r+HKdJU1kxUH_<+xr4oC#(&(myZ5#OT#FphH939Ss7U z(-pvtamE9-20{qyUJLL?o%gsBX4ieRu+0Y@QFDWajGih(JQMwW`;F{Yx1BRDa_vKzKdIXC#v2A(NQCi_n^XGp<2`uZQP@r^yMAffb-n9~%l)Z|G@jqfbu5-^H85P(SUlZODG(X5zo_aLRQcg#7@7 z`24(%p^K(%GrFgoK>q}f;A{XDtBevjQ^NuirbcjPLdc@n$fG{=1@^v$AxZq_h}rSI z7D6uFb2t+#wGqOEfx8MuL>wfljO4vmS}q9!*slnXm~-L3bBy!DeSX`2+$o+nw>WGO zTA|-;W%LpHM+RU$INRZVbvP;hN+>Mrp;L!?BFyip# z>c;3-z7nv0`oZD-jbVOC1LN+lNaB2 z_SkU!mPEHFpI`%;NjP>FTj%qFNn5VnNZ3)o|o z@6S_eN|KVdVbK9a^bWAOaeOXV`d-2I0wZ{>@n7(<`6zh{9!=!u;BK}EPqxm&ck)Oj zcs%a*bUPRiY0IVk!@eZ~As;P&J^@Iw`uy_3Adpu`e%}{(m=KU_eaCOeb>5A5)4^I1 z+M_bl2ww=i<{e%!fVjUMP@T{ERx*9ts_jK{b2C2c!@LJ!9qQ$ma^ncGt1C^(aBK`o2!67Ah(SJa7xQckzACU+> zB>JQC3mX-85Lj8|>cp{gI-rc6qW!}zQ~mPS-|1+ad-B;TKDA4*&OW_=>z=^fwH~tx zR-cC&j4q=^X`l|O=H|I%Lp^-`GuN8Wabp!`#3PVqC2)!xo z>;dxd&^Ipp&Qs#)h^OCZANu9C@~IK3?z2ljPU`w&6oJLg=BZ}g1B{p{YH?gWf^sR=US6`=W8h59Mw6wN;t7G-2_e9^Ctg@ICS4a-~ zFZyyS*IOwaJLn`&h+p(nQ&7GUN+0w;k5$KR3Gc1gGChYh!IF!4^P)bMk8-K6a|lWX zQsK2Wt|k8og$S76jOXO^5af-s#s}AvWmXyKnPGNq$mR+x%P3o6V-7nSUZvx6Q=LXc zYBmNOO5)H1bY7ZT`E>$gb@~@oh>*cCi`+LA#$zn!0bWC9<_`6)O@qg|^$^*DwSxAo z<%v;r=$U%Blk%uz5C*JqN-Z=yY`0VZ0oTZv9QW-4(wB`qU^ zep~XfSU`^rUz?uVN~8QnOF9MOrG`l-t+Z%zjHU(qi896i1C(CelUHOS6=&8tNUP4^*Jp^eL#_!_K^Aj`D*?DGA)= z_W^NKS#+zJqVWYAVp5wE#<2C(yz)iYCvyfoIT9ESywBLft=;7*fco42FM!bKnkhWp zhf11rb^-2*DYRt#cIe~#WB#}No$vBq2wcb0{+VIsGrl4?(`+xVgzD+S#retCCaVye zxnE9V@(w}Z{3}5pfm2$VdwKl;ZT@`U69>Ym^B*J-1cl8m$BxyNU)V?co^|RZR>A;O z!6|->oi4z~Bq>Y5B>oGFB>=N44kC>_Vm;67K)EcT83Z;3J(YdfvdA`qnTp^vIV#Wh zTWq>FmUrwt`6YB0W5|u-Ahu9OUece7VPDbbO=0=`7`C{XXJF?+8qRXQ?q@+>9;ccw z;iPYwWLuYM0c=EixUPP$EB=am-w-SnqGZT9Zt>o|``Njv2cBs8fyfZ{u+tK54irC?}`?+*al&RwyMV8bdfawR^+M9_T5QbU8pW+$GFpYPuum=lZmY zP=c#^K=&%#-n6u|h6u9iW0K!w)hqgvwiL$>^QNkPHFA0w#a|FZG{9fxC$}pus@MAU zkhdDm91O%@R`w!I3f5|1ris6*xWpx9crVI39J*vN?Jl}gOw{!c{<5gwU)B?W6oAb< zrTa%tO~v~~79edv`aT!Fdla(r!Mmp>Okj!j8YwC1w_(Y~h9BY#00an}(~aOVJgBYB zy?Ebma-}QgRGz@bjS)ApNb2`HL1Xd!k#`h7RRZSbYM5LQ@))gKp~ULqH@!9JXJm9V zqWUH;>u%oUCRG9eU8Z z)&wTtq9I?=>6$5DOG!ydP7Y6FGH-Lkv2ZKyHz>_!LoIMm4kV-evv3vDq4OQ&j`hmA(7-Cttbp8vVb9 z8ib&Br-Ict11}_w2S7f7%LGaP&2D}D1$aAIas`TNG-P@Qr5E#q=A4nNzTIc zQCfFjF+uVf&c24B^E|W#zCNd zShA0$w3H(cao2?YUs5RL75%88v&Xvlo#vwV3cOhxJ_F1x$VvGR|L*N6dzn|&nd6jtJU&X7 z@yox~VK;Y!;i-`a7Rs(8k7@tI@EnML_T<&CeNso(g|RR*qi}CvVw!;!A)lIW1sn&l zc2ZO0ZAI%s%R;W^S!bwtz0L`)0*|=Xbn@Fd8`jWA_`~i(Jp94*`{$>~euVGBtfPZj zrwLC#22&yZO?2KdFwS7a-l#>9nY;treYT6OSJm;^%BF)s3XG8dCHp%kx{~03p?l4s zhlbSlj|Bbt4<$6DjneiwEOtT;6QLm(c))7YAH(Zliaak;bnbxGaL$q}R5KHLtyeZ8Q-6-x*>8Xji;*SD^?cy3=*WF&tH ztSRxlTt4POtMhYAeI-JKDJ#b3_;fjiCARc{K7a0i(CkxoyW zqVzl6_q~5WHl@CFDBq&lfg7b5*9(46usj63CLJCgj-TNJ9DS*E4SHh4!oB$X?S!fE zU6ty_@A(Jo|}5lqaZW&S&3SH8&s=?A*+IRhKZ?}hi@GT&eitI-MKSD}I{ z#}RJoAg82?fyi<_zSeMfF=9}^G+o2f$!Wg`gzm+tcStRd<}ZM}hw6hvVG0cnumx5+ za2z!;Y1n@XpDk7;(HMLB%8+IMpx=_@q1^|~SEgyR@4YWO;YJ@gu!y9KZ(jxu#2#ap zb;{LxcI^%pI2gt?-a)41ct?>V0QZ>g)daJ7177GDzirgZG2J-0Mq}% zMB(6!@9?M8q3p`MjHB()!y-S7Ap*}4I!u}mTmzanO^-GGF#OtQn{)G~n5gJe>9fO1 z>w#V4k(WAd5ulOVDfnOCVaoZrj9)$12sU<;r{BWFO}{Tkp@j;A=u1!RVseUSZ~6z{ zee#Bz1vM%*{GG-Al4F@9bEi*i{L%BJDeT0?+C8m*A+l{g;6T*gXYHNjBdLucEB|kj z<944PFJ^v|9Gj$U0rKGK84>w|J7~kI&A}m8{GJT&h-$v5-X@B{W{gcS2x_~5OiF@Y zX`eK|#`8gY``)(7;6+=U3GCe(={ymT`UWWxgsMEam=0H1wMo%sbJ4EOAE_;rea)22 zxIE_a+m2nDe(p+80;z27hRYw)XAHw;jk(Ng$YlY>p(k1Bn2HQy>u7*ABE#WvCs^sB z!wN)s0B&XMbEkiTM9rqMT_GzjUytrkw(+fJP@Ns^l3%UZWXIZfM>suCZVy;kSOBFE zirwB&|4>Czz@!oT>f`bGW9-{stVn>09oAf_9k;8534_R#4e3djrT6^o>^g$+pzeE9 zC&M0tZ0lI3%`T4X@1n`TQ+;*2Cxb8D-Mfl~Za9m$qJsJ&8OQDlczT0ShheXsQ)6>- z$WCD~F=Wk_7*?)XhxZ%h`u)c7wQ^u~<;)E8@<}R;w=?X3l8n*k56N)AugUbS-*Vek zdEDcR^9Rv`QrU@4aU6W$!zK(|qjdfHBbW2i<=ZxoZcudGdW}lEi}dZNAae-!Uv&J* zb+JVGOLxfR&u?oXNq<8T^ZsEJTPmN?M5&{psFmHm!#}gqhmQWC5>h_O;@geA&JL*~ zm$1np@DnzmzvxIp89D4n!Gp-lp2stdhntPY2APcK1uhQH|5dZkOvC*YC{Ejc(wixR zpO7_k*zzALpwrOo`eLV`BDhvl9uSh<^yXGf`M2cbbuJA9W$kKZz-p*KY2Tk9< z_-<4%K}?n#qe;B83$T)JGv9SE$ZmV;T2s&xp>>9%rX z|A?)=2V0xNN0qo~UhklMy`$a*1?jxi%+cm+j}I%u8W<-PsiJ?#Z=1J){C246HyStq z3>s*lFW_V#yL9WfgdDBY-oJORJ9cU1Fs>%!9mV1qCb2j_5|WZIHkjd?EU8B~4aOy_ zYxf_Yr&)Xh72<@kK*WIRY_042c8*x@y(d!{cvRj* zF!ielAE}WRhQUFfPn$HJ$F{O0fo}T`CiIeWmHz$vd_NNQ9%(h%?3!YB-~eqoZNXCl z0&E<1)=S#4mndcS?VRnu5Sf8x$BgDhw=5AfO}5nkM)^F7{*CfU8Z$|?d?6yb*JIP7 zd>+~Z*8igC@td@~M~~7?CDuK?#6?5FWx1=_#kaz-TFJbVXW?PW>*V^)LHyq;pgh-E zp4@)jLvm%Z8eJa!H9w`do)kLvm^&;4$gEk<-b}bCp>JxG>cH`pA z|9>n_E}aogOls(9_aY{mJ>D+U5O+_oAa=ME?VMYeb%=+A-)m zhjgczRae!x^uiQ#*M)sco%Jf(BI7$|v4O7s5H<1cqp zJBposCWsS+#dZf!jVST@zAU*Yl~vW4exX6Mp0PA=w~=COF_(F9_5q{GDC_TIm<64H5s^;7gP@&P$`1fsa>!f5@A@sgO>+-yDfEvHS(FA6cL?+1Z99-(EGixJ8*|lcP94J`{R@KavCserW@lDld%S$V zFI%EQ^%)+$}ay-fSnlIpIQprAd>s%qAsbhToRYGLjnCbh?e ze2cZV(p>AtfwY4UfI5>^4`3E>Vxys;z0(=i&fDIy$K_sd)S~e_(4+3Jakm+Er(c+| zB=Fc(t{P>43a_c=+V*atBMNH$Wdq!j&J2Dw&n6B2R(rp>2XhwZ(NYgRoU>V`Z7ZAF zwNQlqfbq<`&C$To1Lu#*ZON}`Y}f0WvhTDz9r;zSL%#9?xgEt{?O;h?PA4EM=;-hY zjXqcSm3w?=oS(_g^eq`9`ZY&NNMkt8T80vJ|H!_Evi5b)J>Pme0>74`r+(#Y6vCg% zM-2K`!QY3`PsHk|&*V1fx|vvlFIfw(QLqzX%lKM4HXYxs>NoE z`WN@h$6{*B-?~W1D9I@(&WyL);kp9#WPi%P0@@H6DXBY)N-PlsW%6CFxkl@>GC#P5 zRig77meTQ1AC`smq$EMq@STVcFiapqo-^;XFV~&~BH;hIPodm7@4&Ojix%z=cNlo3H68x4mnP9$n7jE@sL)eRhd6rSRE8I&*(z9};+Dcn#cOYXzfB?@ z!d0Zq?t@2ETynA!yrPX=Z2XH4KVfi+PtmYoD^+Y;vu=x%TgdJkZ)T*9b+IyK^UD|L zh+lUJixGTSeUoXf{^Gj%5SrK0JK1tGRJ`HGUBY-t<0~LOlzrjuhW&!JDcZy_xj+o~ z>C2PVTYnbuj`+Ua|9J#2z0$u#1qxz`cuU}Yb0IB%g0sK%$+x@4pnXA52GtoxGWrkq zPYgbHaa!_-Z#%E-drR>fhfA$g!xf=&T2WKUHJrt?=~8o#o-5w5EU4{Ts-i0lJslZb zr!s5o%6@hCw|+f(rR)wd4aVo1n9HUCeD0b0nW33`kLY})+0HB62_ab< zy<+8LVZqt=09t7G8$O@QA7t#I%6k;%AqN6v zK`2+|arEVD0#A>Ojfr8w`VXV$KUmNcg@0o~ROo0G$~%OgmtI^FZJ1_e*?gc)V0S82 zfA^c;hln6pl?H}g+&y-5cQcho>dG=6W5e?&cga z@5Gk{-&fg&Uz_QQKil4Gq^r*dbE1a)cU5`ZROYyp%P(&dle=E+;}0X{B9nU6LzkQl zQz#F@P)OS2GeI|iMV?kv{X+@yNhE?iBpz16(xt`o3@!b>?Wi8ZZGUIJ>sL(s&X(rQ z=U*YPZH`X+xr6d$TNiFcUdxYF{7JE#I>EU%_aeL>`6nw8(%y~H;o->05mC>V9?Txs zuC>3eJT2B*HT8^1-Lt{O#%A5Jp`M;M3{P$vrcox^nwQxW@OM3{q6;R6f0Cv0BX_A^ z>WuPU{YSDL4P7kAe-<#24|{-SxM}H?|1w9vj@GSv#@@s>#^a~$$E6p8)~kX8bJfJ% zyLX2yZgHEvMvmur73QJ!tw&x!@m*W)*P{?Yw0}zbO#o|59$^7NU5XxY?ODJAQ$*IN z)#5N&x@l_G zZ`gkbVL>4`6sk7-$7_>dgiWhUl8f$6DR$}*1o3dI2hTYdivSS!ff}`V#%4iN&aE#` zGh9t})$GU-;q!KI&zJyD!@-$6m7G3!l=@UX4Y-G9uXowLSE}|YO6UFYL>8!)?BZsl zyBA5rl2hDYyD->w0t0+&p7%`X^$vng#m}u4uTPG*w7E=<<=INO6G%$ZUZNP|daj)AnYAWH z%t+MdWez2*?t($y2!%AMfnN8r6?fu1XR@mQm*;~w{S%-6;-_aWiOs+{_yxj$eH+9S zLk~7Wa&=>ajm;p~eE~e3QU(>*O9*IJTSwDcRX8i#GkB6g+wSINKTpDRTPrhOl;> z2Z}q+rGygkYOsq~^568-r)=Pbr6xb5wu@)D3ZLG~(t<#3`yb#bz>d<0<7ph;`7$ol z1k%-W^SDrKg&oWWPRpHK!uA5&|C}0`=L+F6&VueHCnQZr<6QX(?$D1|dg1=SH-+LF zjE6`qxr6wvgCQyIPyP9*_vg0fS2b4ueM1fb#XMd^Ip6M?40r3BA?JKEe7~C7_5Fug z_wKOHms9~Y*0YeUkP;N;_OcT}{1-+q{iQDF>)jYH*b0PjgOSAVKQ;9=&$21SmwLtZ zgkS_S3Lw@C3ENRv&Q~>#+-2&fEA#>H42r$|W@e$M91X>&^PNDgFc|b4Z614DnFiZ^ zobaVDo{w(lFc%B-O*bT%*fQDr3{r?sYR{gZx2@jInyZAs@Fg|2`+IzQkXR zvv2#5QkK*Cj~aHmgx-LigF{D0rwnX1N@X#mZ)l*&rKsF>JGCpv_(Ji1Bctb;8o~TC zK#2FFoR2G*b!Odfs#i)AS@Ii#<&{>^3V?yHESN7L?qZm$s=TH9>BbYPaKwc+LM-JT z>@k)C)?J3tF{#4_HD3!8F@1Ty9%SfJGz3`^?(CvQ>CFbu;28_j&l9x7ftEw+GdUfb zyz+5ZnQp{CSLlnaCg_yVDLO^-CmYlY#3v+lb$0gVS_h0F<*szN=Qq8Dsc#K~FFGPG zk7C-DYw5q`rPRlOG?*UcZqs@B{NBY2ADLP7SBt!DD19m05i&Ee=GCSFK=(bW(wT0X zLI)Yk;A+y-32nz1S+!WWn){~H)%|%7@4LCCZWil%|DUZkFME3GjuLU1C0Z=)tPUgB zW7Ob3u|}?bySkelhA}`mXqTJT?hd&L{ORy7n}=!Qnj@j9KE=_w>rZ_UXG$Hu>>i`e zldE871*&gY2m!L?AKyY;^piHL)LrTq4?n!oc%QYSA|i7~3PfK2b>({}S5i!-x&C$K z+e|~R=!t|mYKgH5oA}3cRHxk?Op8bCB+hT6 z*yx_0$dQUC+$8~giRZ{cn zVxjgR-MV#y_fPPpa1j{K&EFW0ROIoxHEROa=xJ$~Ztyz#oBj0;XkZxK`ub8xf#BRY zeSLST!2w0CQ+5pn0Mvf7fC)N+Ub!2A5xuIf*PPylX3MJ~<1gWg;}7A=E+dHCryI_k z4>g~WPLVP!cd049fm1Owv$Y0{KN(fp&%3*Viq}M|P!*a4_vN7VB=^a!Nt;{@q z5jv~Mf2=LvF#cn0Ig}F!Q3^3AhLTE*kpAJ1&I$}2dI>@)D47Paa-d+H!Qu@REOnc& zoi#630^$@_31;uD-*^og?B=|mx-&(d$s)`9K%GG|B@KmXGX-E=L%35onF!I@@=<4{ z*aeZ;Nn39uh&X0lLZlYKlwy>lTNWtCPj3hga?;!hV?;TJXFtAPTX|+sJ42WNEPk6{ zVPr(76^_^p@KC~!;^Kde5W6}=s}#TgkoQrb9?x#;85ocmh$J~FpNb(*cO!gp$VHj# z&n`KhpC^6Ench=dy8|e*B8uM|BX;UCM*`42=@!y_IG0xn9$nU3^+Oz#Mf%@=NO>9J zjMq4P2j%7-u#?c}81yLa98n}HA^GY)RqE?xH6{=`))ZyP)GkZ{uAqJ#d$c8#o0_8D za4khWxt+$}@f!rg57)LaF4SFyn@aJjLW1ZpHnh23a>%cLmczVLZbR_7mg?KN4)O8v zwR#UcCYZa+?VBR89V5Evc$q9hqEsT)^DHi%5l(_H+S)eAIqXI-4YIB-WifSHb4WUs zrWz&>i@O^UN*{F5N%R~~xdkPkJWYr=qh9+OdW9Y18Zx3k?*RVlYwg0y zyRrsG{J!j@pGoFz@!%{?PJjv}!1=7!B-A`B_En`}A(X$^ z)@~3Zcv8VnNawkfc^>gM{8kpG*(5^l-;!$%(XPADzYwAzf+l6Re)X{xYV0_;qVhTM z!33ivl=5bA_uBNzJ4QrAV@~%7xQ^~7x5?65J@xh^ySX*-=*r^JHM}S@^kGIifMP`J z`0>wpF7Ob9QcJSUt0uMG3apI2LaEF_lTA(E_O?$;Tbqq-`L4tL($ZN+^~KjnZU>0v z;^G3nEujXid7CU{S!!EHD%GzGQ=2FqUT^Xm(sFMk!ug7Ja)$6$24IJLBPZv=zWea4 zyn^l=xE;5oMOylavnx{XD{Iv+1={FFz2-5BU_8l@lcf=u|F^U!e|0uXF-Pzj3kz9c zX!9|IROOei*ZdCa075<)kaFuZG zr+fP-j=$wz`zTdmt>SmrONOdub`JZfjSZg+9h&`;f9neD&OjF?n2gZ4U;qNJY1fpl zka2faqMV0N0_AaR=4A~OP78~fTEj~KS}!1AK{b|}&BY}o>hHgAl~3E;@H*tQ4_HE% zQyKx?svg^S7%kWCi$FF#L6aBymOTgM!yDEsFW!H??Y7VUGiS`sK+xy8-*d1= zPb9L>oRJ!lNKCN8M%v&DgF^0z?@l~O(FJ&4)4kaeqdQ&@T`p#a#rT5bB%+O)#Oh*(xq0_W9-|zFXoYb57@>i zEB7)}`+Jv1%%M-;vQFs*A(40Z(tMC>b+Z(1Kbh@civBK?p)8E`O{jBP+v6m7b+ zbj>vBRvX==D>4AXmF;1se+_vNjyLv@ig8hU$0Z>B>ooA@Ui9nh>H!%NUO1OdD@$gP z;GA_ZON9O024r4-`^p4XRPBmYz5MwKr&UQ?V3tL5vlsqDAZj)X3fmrBw=M>|!EvVO z__DIoD0aV=SGN0Es>KTuz_lY^(8l=7m&uO@lfd4NKSe}~%%<|x4ZI$%dQN)y`;KRS zblZ1zvI)WyJGQyj`<|F0#$Q3&L#b&HOPxoN_0>bEa~XM-KPd3Mz!-Sr+JOpRxm z9HoXr&ci3?+|3)5iP4!8!@_s{47EXk!fxJs<1FVJ8qvPJd&$zh=XS0Io5q6^^jiJ5 z+s|O|KqC?-qyzO_ywu4&n{%HPX8W7bj=Y|CJ}J_qtvu_$_*rQ)2Xi}fp9JSe^e9Di z+O5OMchv<2Ngsa(3m1a}95E2{D>93%2iO!#mZ90u^@W9m6f;NmGV8Z;(#Ju6ga7Mk zO=a184-*BPujZ&uDr4&a2c{8)sXKkJxXg$t0nSG&}ASOC$0m%7*Id8hUxPesGosGqjHS5 z>s-slKkjN&$z;%a7ESMLoZ$7%>SoON>j-Mn^etb$eDN?Y*lTUvsgj^PYIVM-*K?B+ zA{ZyZOP48buZC|(M+9rUEQf{|SKMLxzFjYNrmW*tfrUvLc%DekfZ6yW)Fm+DAxK&y z@V01$-yG>q1_q-FkLOq9!fT9wVbg=rLedULbsmcS9q=TV@+`c2xko&Z4MqpcG47{S{jlO zES6+r9_=&;NNPV3?($hwdz@lYG%x9h#xM%+mkm4dULSbqyH!%7fbUql;z9}Yx(@wR zJEQi`nv7bPUKfeR6uf_{#3~6pY!RuuGOXLZrunQj zNc>#!dv|D4@fa*Lts7VNmgS~}@6WEa>*Iu~p0EpmjSr1iO?Q=S#P^iMM2h|F?Go;` zH*<1Syru)B1NjYibXV?N4N322&oavA zPHvmkv{j~9FQ!)Vl0eg8g#~VP3T|&g0@>{@>V1(K5tS7c;+=7_RKdC-M=P*lf#7oBRA3sLSrxd7ZX_Ca)Me6)(tJdewk3fj*4=eR5FKp+x zMZbOfwvbL4YPxOPf_OTGqqsl9M`7;q3-qbb5*oy_A13b?JZBPlW}wm>bj_1T#jO|~ z<} z9`<6tsEA01nTo0^3c$GF6A*40+1YbB-`YLGt-`{u_R2fkfSNbwK~e%}gWU^I_H`Mz zu1kmq&l#(!BpM4i4z2(Mb&@ker=yZ3*lSOI_YJAU7 zp3zcP!u=yKa*@n&EOAI9pkF$D;+me3k*LX%NVOi5Ph3KRoXrpydqUta{QII|Cf z8VB1Q*6!MSN80!$E|;(|%X*_44ww;0%q-Nkj=>5F*~pek;s> z+}k|Fg&|@p@moBr7)3}sON_a-g2s8%t|44&g_@3T$$w>PWoG?LdaD@xl^Gq%w2hGh z-ziv9!TvenVZfO&0ea?#u_Sm3`vtYXO*U#78n%IiTHnwB*zKU8-D&FlOZlruhK*i* z|69+J3|5J_=&ftFb?63LSiiYzc=gA5W9A-3A{JTKxPM@v^0hWLp(_io9`SdSA3rd2 zZy^LcNAwC+OA z2Oe;*(n{yOulAcA+HklSdsh&MT3h-75VkU|wf~U4&TPO>aZbXIm})o~cTzZ5y#m^pQfC5x@9va;ieIZl1S zM_!kKa|)j~xG;ExY$aZ++nWD*tu~}lNf4>v(fbeek@JFJ3tk)eeicPUMS#2eUs`SdL%KSps+DAW`5T^*62nQD5pMyN!7}n6J2J5`_^ps+`G3O zeSU33sK0Jk*IAeg;4=kH7SPHc@;%nMy6ow}(4US}pL1VIxWBt(H%tngtjcpL#HrT@ zq+-Ro*UXG<$#bIf15kWHOO)!+r)VJP=m{!3Fztg;x2-#W;qK$p!47-pGX8_`zm0Qr zbcDN4SPnI?qF?xREUC549^K37*sDFMVA`Y*lN2Yvr<3<2i%dQYODDPcEE{Jpkawsm zs=MnF?@vwl$CAt6#a$>hVd^|oV^Mk};-rACd4tN8E-KqDywX_h9+|71f{Us83F%A{>_**M@t-^^yzb`7<%Pj z=(vQ1g_l6Yi5xDR#)?X{@Cfe8&>rY?=Rtz9DIyH zeV{#Jz#bbNr98{Z^LZ@;Pk>2ocJ{k_uMVZbcsQLRJJyX>MSr%_XN}Q%SQm)vowjW3 z(%6UV0~(<5gD0EA!o$m&Sc7*7UcGZf*i27fpENBtafkOlvTvW@c1OX-qo`B5<4Uci zjiseG4jhh4Aoa(0?`Gk1FWx!O_&sRNfxrzVuCKQk6>;X*9}p*KB z=>cw;9hux0_!R^HJlf$m+U%zMZu%wx(#yaY8%;??ix{5oFpv!Q=q@+2CGz@~M{BIf%nEh~Y%qR{m9^xT7G35?Qm z>OMer>UhmBX;Z(}Tc1ybz-8@kiHV48vMdde?(k~lJ(<$Kg>qfvn>XA%VrO|1DM;q& ztT#fKs76+DqCg-o?tsBQ) zfun4+Wvkim8%QC+I+l}r^QPzLzC<2P0HHSyT$bO{;TEG@>|W^M>G=o*53&7pawb`N zHLM-GJYw4RU}n+OB$dABBXv~O#W}36&x*4J*9)}nQVI{jt4_O$(fp#emN3gG;BW9) zf25Xzihi;1=j-?W5q>vm`yKh$*Z1FLqewJhzKn17!Ud}MB(I>!NUOGERfmh57At2T z-Yz$}tozuSJi|#VsOcVk@#mY%s{2+({|s%4?r0GaSHi)Oj7x=b>;q&1vpa#e3Mk>`%f3^mMJ%O z>EId)wUcFLjz@YhJs-sBF{!lo8WZ2jCn9u9A3anp^-+;xs;BgQqhn)AFiIU46{nA< z@R631qLXJ%ISZ{10v;$;-N&A9(5@mLG{WmsT3Whv^IFq-)uMo2@|T&%Q`zRM8K|j$ zf^t9c4!^d5Cn}5SskuqZieC~gTmjifnRU%Il!`b0*F7Ce+%R?bY~RYy(Sdb)eD97n zj*eE(8wzJW9`qi|z=U0FRJXvT;KHhq?S!-YJV2W6d+>+yv!AX0f37N+)qJW8V+L-p zU^(|~9J=ay;@Wq2W45vbVBvA78}^V`VrbDS#Q|{(P9u3KW4Q!H#>kZIOX^oba?=26 z0v78GHqrdR;*g|Ofs(Ooq>3wmp6JEF`tbFp8Qc z@p57!d@k#rJb5xO;0L2@Yz0MTVI)#~aK*ZAnyD9XSt;{YKymGTXc3I5Id6jyl{uJa zwt+nrF+>yZ-gTBa?wQR_6{Gxg^1X=(VGWx3ei|d&uBvUU0opRdJR3ILigo`wYUspv zkX45=RTjml;!v!$Ta;kFCH)sB8p#eW#`5imVfbc8wuZ6`g>RcSficIjhv7CRjPDW} zx@7m2r*lE6@7q|$Wih;wuD3P56-2$*AV3wa;AHGRTo-rZ^7cD-`D5OO@qDFx!b99N z1*f#fr!a9(Z*OiLC`^Kf`eqrKVvIg`rH6!C`D)8qeReVP98%5zl=CC{Ne$#n07XV` z7*g)G>~YZu43KomcpuSRqJ6weyjOApdiD79^xYi8@`1F2aPPQv1T)lRwuF^2SBnVu zK&@zy8-I|6Isq}bjKB3fobiG3fubbIhGEg5OEQ?2-bGWSx5w~P*-y!<=9xko^zy)o zpFe)!a$n+B`T~aHWEvUxJPNk8YfuW%hCZCGr#-@@>OGnWIJzB*5-|6p2IX#G{yhv) zS1iAY?;0hg`zUvDN|`tX=YB2y#QD2=^=f+nPQMd1+fJSl#D_Tu>3{|kT;9<{XMc`sKN?op^c=axYo9Q;#zXD=lqw0GFxB` zp*zxVK4eSAG6Q6^{nU@}Z;%r@wZOEmr-cPSmX?7bH!6P+|v&&C6J<|2mvZ}s}w+d6%W^uAx&T+Un0%+Mp{`-Q5+(bXU-Tj#`iE``x? zEg@!C%{MU3WAnWWQ?pQIX);Q>A5i?YaA1bPZ$>a<>ei@g5^ zC=jKBZ248{)@@orZkgi71JXHkRe@BU@iK3EMws3%mg{pVk&9Z&T3Zd|F4 zIKTdmm++nt|H5z|02|1rR{~!O$QNeU`6%g!pz2`EmTK`s!WH5yD8i&t%51m%e`4ac zYyV#{@#c{%0ux^XYZxz&!Ja+-nB?zd3(3)JvOkPr$xeLia6&3Ei z4c@8o@uXs+SWR#Re>~Hu%tN=Xtm9Rnkf9FIGhxk|$92f%yKcdg|3QPFAth&ac6MBF z@pU^|wqQ%`vf3>IgTKr}SRyyW#EuAsfBe|RuaZhia)BZXnDw@}4ZRP}-S^sQq;mRJ zV?)DE1v(lIhA#!*MB0$ca*=aeGpj}iuXnK6BNBW%Uy)`70Z&4abHwcfv7GlkKLjCzU=IWs!qrq|Z z4I2!vu5}jc}%BWXw1iy_c8jU6WUMFl& z5s*GEPpfyX@uG{Fef(I4#a2Uut0tX3xdyk-)2Mld@Cy>#!(iSAKV^TWMCJE5@w7*j zZ^UH)XhFntLNm=HUnmPnP9cm!ul6HWxR`t4^TaQZFfg3|d1`9UsR^rv z0X`41joapF|NHFkR?B(U)Z|2r=V?3tp8vwkeZN9k&L6wES={2P#bxr9So4goYZ)0E z*w~u%b9Y~veZGB4JnYt2uryu8%k%STp6N8n1g{{|^X4o%$g@FAItLGKuxOb4L_@V# z&U@YM@bD)%PL=Z#)v*=u z-EwqgsSOcTm|m}IfCXS)l3V|Qxr0w)#7qVt$OgcjGG`~o{`2ExwYElF=ZR{)J|Q>L z+sp|nQ;koZt!C4iX%}}Vn=g~2L~ED=HPvQpG}>`InE!%zaYgxSleyzhVmQ~$TyG)p zs#vchr#yq7vh8dEt9)ZvPYZYBu8Ultb8Xg52UJ(XwA=1w=hUxEZrzSbn|6Aw*rX6* zoSlBF1dP$(UsV;S>QVImQUCArBUAA$h?B=3E~t;8!CnMyg0O5ZrqP!zEfLSkvP_OQ zKg)V`=p3k<5k>DNCM=DOH8{4O2f-dqLDO{A1>$Mvl&OV8vTlv{{bh6_0A#=qLCeg` zMPkfGik>K#W+EG*2?v8*+N@&&z}cDmzNy#?`7c1gIBb05Hh#ahza;)YNIa6J_N05g zV~WCy`Q>&gzDS|Ld-x5v&3`BW^?yr~O=%iy76*1EfOyR5P8a?kAl|lb>W!cxJ*5I8 zc?o2Ry-P&nf)3%s4fB|!@4aGvB#x>!U2U;FE@IwnB5xzF9Bg_ zJ3I3!s8A>%S`{)^jlwar^$a<(qv9UWB1Ir!x`5#A0m`_tlYqEy;+I3>ydETpp3aMY za)(AegmiysQVQP;UJ_uhimcF$z4QEmR^&^5=a>rPLjB#dH7wOz%e}2$Y;;!by0J}} zbuDq$x{LqktjTWkaYzrx_saKhuJ2eZ;n}LkdJH5N!nB|fRo>Y;s_4ex^2r@a)3T<5 zgVN)ag1QFv1aR#&#jU}Zb3^F4MJ@F*pxL=g=6i1)pKY9vig(&eO`NWck=51PIg%ry zqnDt&r-;Ds6?vye474%W-*sxE#mvu_5M7~G1O-T~n@HmzI^Z`a9zDQG$A|@JN)1Co z({$*|nwpwK$^B-0V59VSb@Ik_v@&66He?IZFxfzEuj3{K| z^=~LGvckjHa<`CD(sOAY`pLMOvA9w3(~aaqg4Krz*i}4iUXK{7nZY`~qVBJjc7yY6 z$?(+FqjU3aON_$xK^pYr8U-u_a_GPKX0Wz+_=fo&mO>qEuP2;26ZH8o5<`ALphF3~ zj~74;&W!3;Ekw6P&^EfCL3?|B^aI{tXFJssy+J;`$;;?UtiJzx4fuq3Ke$}$AzWAV zL|=~v!%oB}U~X|?!Q9j|z_2OxNxU72syRbR*oJ}V- zM~K+5z|!?wrFqF3+TO@_I?qJTX_X2IlhxlN**#xdTMO{1PGa&Er8waZEUj%t>~7ME zxD6MJS)zXRSVrWi(z{(=Jv|51->4LhUA}vDg85BL5Js#E66~+CvF@SH!=_7i9hMjl zbBsWP-dxvNr@Qn)+FwAr8{x!S*mDTL|85=tU7Wp@TV~@j(}1K0+4m_94>G34m$JY6 zzFmyu&J!2p*xfbNLFIpNoz1lKXW02YdtLz0?P>x#4-RDf+}vDl9Y2G#^c~Ec9Zj%3 zD=8Z$$vX}BMtJ!#_X%HY4n zF;tAEi%wq02JDxrv!5l5=I>GgY03|@kF<^i>F){g3 z1@9Q?cMr^<%s9H;=w`?1&&W1BK}pA1`?fr%J>J$1rF066AM}L8;hfm({fhM-X}qf7 zYo>S-CM6ObO+ld7oIa8vNsN2^ywCh%* z@Qdvw-@ERPY!xYVtg3K`B0zFM`;(hoST48}Z?t&&mrym z+(5B{5Xe8yd70d*tZ`XGDK@8rUW-vn_I=Mt+@}7;a*6ibV{JGv4A+lyRxRj9Ny*4Cdz=HDmL~=+ z>$5tvW%2z?Lc1p4+}|Tx(`|>EvG)MX^>9Lf2Gx?sL_}TC1RS&={r!j@CGM=}uU+0;wZB2y~MyDk8w5Id|?{a#B)!6S9`BoO8Xk zvH5`H3k3$wB8-yWAp@=in|{{uHe(tA6u-cE9IgWKkT>FculK;Srp3XvpP0Z|aZzQi zeZ1!D)c+vi8Px0?7CyENfg5xU@1fO|(Zo(m`&&$2DB+(jD5$#tib-skOC60BA{P!Q ztExW0Cw8RE*1c0Ib&ZJ&I-E=+)M>0TD$wbq-otNAOjN^btCZB#e!((Kiy@LjcR{}&czy8Fla z$R3>aV%}DHO@D}VEg3E4R@X212_6U6I=@=u6q7e{Z|=eo9q~Rg!EzE;TTjn-t_cfI2)pPE79F|j^%+cM?(Q5Lq>MnWHx#hIJ)eDc4 zZRXmpWSEh9x1zka(R)U2RiTu+4Z;i7Zq}{YhdWMR{kZYEd|Aw(g-7{odhDT0S}p zrNef^>a{yV{B@OXhf_Vv*p814L&A*d7Nm$_r{)La8&l0=Nfqkjl<`t{FvyLcc`0}w zp`Cwtac6%BlY3&O;Tzvf!zli?@V}cDD-Dq*#{D1DW=eHtwSK&c6i1TS#%CT+N55ceZiC3L9zk%+^SOzOpgw1;5%KC|#@U z0I|`+;|oysqoX@`|<|-g5{8(SG?MK)>P%8>3dqqs+(nH-OVD zf$0MDsl2?L-RK#L0kFYa>~7l-T*M0{m1IOz6v6Y5l;ujeU#Vsh{q}JK+KCHo932eNPgWb(22{=&IZJO$mLjpb>%7Osf6jN%N{H= zm9L>KhmT{?N5k{qTUuMMo6FM5AI31(F04l8Y)O!NKRtfrx}bhsJ)L~z)WH8k*;_|t zwQlXhlG4&3Al;$T-QC?FA<`ge(A|xMbT>+ihzJM>2nvV@NQWY+f}n!(&842>KIgpS zH^#UB+G99Go@d?bo^xLF3dgkQe37-tGqTrivl+dpX#G992TZ7< z7mCXf61a?&jN;r>n^5%Fk-ZDeBVw}dic(7SGSD#R^|R~TVsBk(l<-=oUJ&z^c;%}I z&9eVKlS;T|G8*7s{u|!#qPy{`q{oe8v@YO4pu1&>BTA(K(+%y)a!8%x5<_pWw|~s= z>VxO^O`D_cLC~TzFd`2#Y_@OLtRth<8uYzbCE1^VJ4?PBNF7~8nHW-w?lx+WEdL2OchbLhK7v$U z8X8xCoK48z;y9O;m#4D3!R0%{&XWTB$Aw_L=rIGmo^ z*ZMj~6y`CVNuJSOSVLRVGxLLlvAFh(wH&ZyClCxHC55ocYRg}lfNG(!oxxDp!l@}a z7!)_aIcp$!N58Ya?hE+3;#ESdlz*%)P%Rrr<9yJkJwgXT(qcpLbgDXHO4T~rOwgLK z?V0S=7S*ZMxKsK49pw$8gZL<)gQu-2*6+v9iN6sd<;-HnTKdp%w#}q?Gp=S-Kc_AL zt0rgXr8_k}G2UfH^1ikf{P=O&yNWWx4YDw!6Xp&eBUGEmo_VU6X$@vUJGNpeZ(ja2LU*YKqn-$i0C=t`$>})Kl5I}B? z5;!UL!!528r$LG zLC%!R^=>wYC#6)Blqx?aV8Vvg`_of+9Np=lWnj(=XO7>uEH(k3T`rsA$l_`Ek;QGm zGUSH!7_>DCv;d($ZU^&~YuDC+1!8;k>iQqHc8Wl8ON#(Ab3}$t%baWd@Wamylq4kb zg@U$M(ZMDOVFh@C!ZsVyg7K47q71-9Rw-}AR7a=ii>G-bXZ~^gp)GWxA3l8W`2r5+ zK=ym3hziu%0qoRFgkE%BL~40^wY*J6zfM^Vk__R5^+cR`#RwrJr#*n`@qU?ZBH-{U^KRvw{7Ey8 zO=>!p!@E4z2K6!)@S(vI^MW(IPgN37abWb)jgs4Z}#Ee9ecOLQF zY-+)ia3}dZuu+GcxqNXdxW^hr{;`{4sWPy#dSW+3+(0TRApthd|ACH*zrHR=^$eu) z`FVNWQxJN^T^LQThtLv!tV-=A6O)s2YjdlanS4#YSO`hKE_l>JP(+h2Hqohr`t>WU zLcx*OK=3Y|Aq2!`rloRj*8z#`UhPWkppsC627?Zm?;j+fxQ zC#9lN`{D+f)gal>o*;$1a*fZTq@ZhnTM8}9No4a@HP0C777>uhN1#>-#=5t(Md#Pm zOB#haMp7jr4U&l@G)POG$3YU2?fW0kIT_x(lG;(|buM*yrXLt?Ady>!bC3_1K`I`^ zQ`6{~@%_QU>z|3g6DnJe5}tpy2owfnOTu^%2mkn{N zFqn4CfIPX)aoo15oL=1qHXkrPX_UK(wA-ek(@cA0_YVv}VIaZIrlT9ee|Cdfb4gtM z7-;i8iaesON%5N9B}T4txNybX>tQ?&B@j~To>wn2O=DO;BZ^li5)E*rdM#!nCui#3 zr8WxaltA+siI}m&k*UgS0*<*JT4Ct46!bs#;FT}!J|_aDtLRG%eGI$HrPk=(?2`T4N(?l!HU6`p)4b_`>sWjt$3=T&!kGxuAs0#86i zBtL5R69owR?cHgzA>YA8c*sa@X_lJ~WokSrAz>Tzr;A`8-_*p%xt4<0YSbO!k{s^S z(#n~26voOd*zA=wF);y}SuT3|A}G263s-3_e=iR0Z`CY3z{qPuLFU-%7W_vlL`UMe z){r>_CL)|ew(+qD@Bhy=Veyvc&*P>BHBT9abzAKa(~kcl!%rO;B{L^hwx^2CsYa% zk?f2O*;cQ6E@ts1i&`x3_^Rsb!B-Sg-zeF#6olJrz{SkE?}E zaqxoyy`!!#BBrD~)EdE8O|Y{fg?Nx2w2|R&58C*pC@u3Y7XvS^CwP-GUjQ%;>_;W; zE?Q8IPht*%i5Y+~fI5G}Q(szJTie?!EGT&4K!2DBRN{{7w?YHed)_Kb=>@8z994@W zTuuOPKsQrl%I$&r6PP+aL;@qQ@X0=5EBZw^z4QXymP`z#K}I?L>Q#D{6bCe!XC%A- z%@{7zZOHJpmTM{ieSu#8jO? z3<(SnTE%8*Q>z!escm^5CR-U8Oaf;`rTY|^2(dbRSa3)I@>waD%l(pY1~jj0fPNf( z`4agf?e1MwG!X0$h0-_7EK&>@1-XvsLwEIg6wp?@;00bRPUU_#iSJF4vJ%d3z)iA&WrOr zzF*8Jx?c>Itsx@SQ#oF^nLPQV@x^E9|3$w%Zk!B{+!O(&U>3($6WmCv7)AJR zdEPTUSr#7Z2eJ&&eIiB}8XCawfI#!6uMqWd{PnBH;sPJlZR)j$1CZT^_!E56N>fCF zLr#AD_=eZl1+3nIw!*{XfP<5;u=Q9))%$zecqeO-C%9}-OJ0hyvu^-FrHFlrZsMS2 z{z>qYtSn;)i-pkv`WnQe33fMWWHdAuIyy4ag~s~&{2oh)2~r`uCg$PgNhJ6MO!Hdse?Id0AopAYASGa`gGEBrFc8`(K|A6Q9Ge?* zfe13%x?U$JawoS?!ggo`jz0L{B*3XMvX$h-%)n*4l=l;^Eo;(5DnT4lj3HuNVWJj> z+;c4qsrLQ9WPTXFrK+;?F(%l*T7jEp;)(xg1&Gh-?jAOUd?6s<*vgwY-tgh^^yOSe z3V&|jv$Fs@pxnE7q91EVSR@YgoUsBBVuLgv*at+SZ|o(Rx^=Cr3UhPCZF(c1AU*-o z&w*c=)$rfC;s$6w)k`qm4{;E&x0evm9(ab*oZtpSlRoH*$EP`2#3xlhhI zQUe=NvE|ok!^x{h5MdrstpkvK4J)hvyybk=H@{+H_#D zn2_~0NW`hTLa~MjUk)_t*49h<+LA~nFR*`r;GKh!#QXJuySqE$v;y=oprpr0u(6%B z*oDk(U3?Gd{J~_9O+WzAeFLyr!|)j(YjCrd`LW~*F20$*HPPqj7C=A(Zw0t###3Ax zUT@&}OIammd^4eI23OUqiMO_`b#TBK8+ddp%YSoMCmUeAG5ZFG9e`ZyA72g*fDXF^ zFw69g^UkHlRv^a#(+EgW%WH8AY6O}qAT#d8{Tm9C@C0Kxd zf*~8$e@_75b$8zdj)noQ@C7(;WN_ZzJ^gjwP&buG!a9f=F=0jt!==0Xtp)+OvfB6K zCVxzRCR}&F^bB;Je;oHtsfFFkykIzaz`!Fs$1ElF@#pd0Q;}|Iu1PBN{;|&A{J;t@ z*j>7*&p@&3=z-pXF!N#Ujcg-X(hOTrS@Czdhmx$F8Yosa&D=t0WuHKx$4>>P3)Tnn zeQGVE0G6C$)7lS(MXPx`Q-1O>UUyt$D9*> zssXMJjif7)=K!kKhBB;lZ)y-5fbxnd>MEcirca3mM@LzNBVh5m2*lFQ6^zkr48$Ec zkvI$}O79Vp)ES7!T?N>^oB7&v3Dd=3X7JB~#FaC-WZYUNo^V*o0>GLLq^K%64X_VE z7>;ScjI(e>I|+YAOh~x2v7tgfv`H{KuUi(*QIdl@C7sY_5^j>6QMJpV7j@VRftosMHzgfN0i~iERkZddbIvrI8LN)I_)af$?BxlqKj1cJAw zEr9^x)0S8x%9dJ+Kh*mRjtLiHw#A3>MR8t5W?n^S-l_}_%3@ms56|#K(XmtObV_nE zCBBlhg3enL8frZ${3Ou=+Zgn>6GFr{m0qu27SRqafqQ_KF^qmR93c^Ge_41i4v4D) zJPgA9f2?|$tL_9Z_W_|*Qd%Pa*O7(PjrYE3AjOimTex z#_w5d8-V5QsTdY|;nWo#w?00+ryu`m%z9rF^0E4!y7`gEB_u%k5UmBW>93_p8L&JCz*kafA7 zC+Zzz@jUNU8a%TS@8DwmSQ9kpVOTndIzNC)(&c!W`RjG}msGw?n@Z@sJikm2*pEnL zxv_pdHF_@~@*!|~o$T8Xxxv5~^ZHju-+46Oka z`rkLGB~0xbg_h41;r-Y57gf2{!h%&?`ZM4PfeoE9#mt^C_-3Afo?HMo;R&LNZlSzw zLm|q*3I$Rt(W5wYnQRHVNBqR*nG>whl_-h9l*LHMJML=zyj8h^1 zvo+Bb_Hr~#>d-}MJqpzN#NM@CwlEXIPjXiU2-*mL09R)asAO;7azyDsv)4^`U@o4a z^pZZ2mND9B-QxDt1IBoP&|mLS;%_p}&F8&q$8w$DDe-4puxvU07R+%R&Mz+mc3@wV z{zRQs`ggks>jxk|RKx>5QW91A;K5BUG*})dB_+{E3k(r6UD{@3i$HgH0SDn;6x=4g zQ}0J}v-0x;zkR;OdDGK#xmUHJicD)lt`?pLl$d`%5Bg|^c~J4Q9ew^hQ6pOyr?%!F zx1$KR7!VT}Ji#y(xPP3L|567Z#<^i2TpBv0TY_E95xkn6ljLKtthVozIIVr6zeV(m zMU+A*;guV4uVkZ(<@Rr#D`3uN(OQIfytUMmgqU&Rc~i`$#0XjonH#7JE7@IK`$J!0 zYdWzgt!1yGE*we2l?iEMD< z_{C@ge0Jw4ilhR%Y#GugW96)8Af)@o?QCb(VRXhzPZ++~Jkp#E5Hso-_U`hu2K8I#3gl<6{Dz{C8=M2p6 ze2`t=y~}rP7|^JfzuN-eAOQ(6G4PrxUteGU?UU!qQu8h^lg3R22fjMD-v9)PZ|Ow# zk4R_&}EgZrz`N?qSb+d~M57@;5;U>Vc^%}V$cst^#3q;*!Vt=7M zM~sZ`WtWx~h*6NQbeB3Zr2-}9e|al_kDP)Q_HIBqBpyge2aIegb}xSU8`*Da_Mu-H^F^~>N+XdA?4p$piC)GWZRou+_h{$-ov z9twOokYxjfBixXF)Sd`oI$w#K=B1o0Qqgj7Vfyc(HJLIN{{ouQnJmD|9>r0x#{Xkv zy^MU1q3O7FSn%dMnkIi=`L4!H49q0<0%Y}j-f%<(q! zYGH69|MQ)~aojxhi(OO5%yX%t?jI<1S0E$-Ho+{7ia{u|`niGn7h+4A&)S7lF5iyy zyKGzfF4j_oigiftV2rUfafo-vCTd*T97SUc?v+=&frf~IH4SiMC?#D;HyFH-uG%OJ zxdQ5bEw!{!L9#uc`%0LB>-v8YL83lD z&w-e=RCIy>3TS{ZEKmTR-UN*hFxoe6BD5*6ojC##(pyY=7Wy zFg*dDYG6P>yY_kxe!iPf5&&Ze#&V~)w$?>PrW+t3pz`B<1_jmbdHypOHDJrijPDl& zYInpq?cgB77bJPG$QXe|Qo4ov9*HBlstL|(%qpD3Ut1&3Nx$|NBM46bv?KwT;jkmP zi{v|A%YsqQZ0agdYxAeHN~f59i7Dy-9GKUWlX%e2gXRjDzV)@W5J?8`V7XOk1=-=& zn{yfzI=26sRbB4>Iz!`83a+F;P&VuEygqZYi%z?^C@7idkcs+M6+PS!@&YinE%$SM3zBExXB<#Rq8-v zmQfmARh6Mk*vE+6s)J^Gfz1ySBh4+huGE|8kx5?5d3})aYpH+3wwWR32mL?Uf7sK$ zKUMCx%z)Vn00aR-^8eQi2VU*PfD*t<2?sZsl6M7|YYNDcg_INoR$R{gVRoP|*}=!7 z5^#ia-9kJ*QBHirx2+fMBhWQ>!l$;*2bq#p=dDyyv{y8L$rjUFD>txVdUIPcqIe73 zxwIbAP`B6t2$J!GyF(QpQ66S2LKHRPV`inTtxdTJ>zszSuV?jbUAVZoV7CtEuy=?o zdmy_hd{j7rS6P7H0=x68EcWsaxrt~7E6^ z_yQ>;NK`6mIIWh7$`X$B>B&CyuW`$QqChf;WcYsn^!t54IAHOM5Z0KO!WYa^T1??z zn8uV@?2)dktwm#iwuR%mIx4K?`_(fIX)9!7Yzjk^vOl&7U0g% zdzdL&$)Ze6?55JE#GA{*IiBeMybD*maIb*o+^JdfH|#VL(=7}6d3K|Cz)TT~8QpZI zf>=`B2Xjw?>3r;Alk)shZLn2&qlfu>8V{zn+HzXOgenWRv_v7g6(t_ZM>>3>@?BHb|t6 zyc#|T2*LEXAATWBoV>h^9UUF8_sO;7>3PTKKVXAD%L*b9fa3iTkw`*8EOczNj0kWh z`RnLz?gdh#80StsHft>7^cxna{ZLzpQqiyFDg+(P-!=gj_6eoX_6P{v$uc7WHVq93 z2UX>JU9Beh!Z6P^18fa~b+7dKwJQoB$-8CLIZ3DvCN94;dE3-~HuR3J$cEmL8#eS% z@E2jXj(+y+lcNRyweU&;Z8>HivLs9wrfXC8trj2Mybg^sFsyV?fsYY2(7ghqzvD-< zD^CGR0AA|azm3a)q8L7CDx(L2CYxULUu*oE>`!j)UD1O@12VYMUVks`3Ru_XWObcF zFH~71b2;h*!@oA%k7k&;`1mIJ`^(`@TWgiH%_Wl`k%Z**L!y)GbM2}32r#U9>FK-2 z$5U}kVbCW~W^&C}vo-)AZMraw zBffY*ujsW-qU1%LfcYmyhPR3Y6DKO(U4@On`NB(37ru*qe+LF;l@6t&rYBFNAGcz6 zFMK*Y1jRXP2D`Jl4YGeDp``o@M1fqmoo_fw5|2f>GD25Q{@Yj!5I5Z-cZE6{>WPxy z(=TJY*V5V0=L3EMW>;dFn@|nQrb?<4V}6%*{iRZw>SoDCZqH(d_MAZd6%(9C^Vz6! z*_#7uGUpm&k+T0=RgRSXKJp2t`_A*V>uS!X1ZBiw&NuI{=60bQKFV=nPHj-4cPj`V z2q9!XR#6aqus-98Wh?!6^?x<3h}a|#CRR9K;y_q}%uJA>ekG1^rxMIw@<+$S1asG% zm)4i-Q7r%IP$u93)vDWkiJ$Oz0Pu*l@^K*E9B540*1uT@*&7YIM5cAo?>mj8AL$F_ zuhHHl5{LitXxk-C&+`;>LHzArN}uAnffoW|HV3qy4aUIIw9Y69v_d;e(9P-5s|E9W z6mxqUu0OSAvIldoK%nk*q9Kj9AbX_V%fEtsI6f~~?xhn@oE&`2;JMy2%`vJGO z#qQ6vpJ|MD)Lo~m>cHby%gc+;(gLW9;Gdz|0cV#@tBOtz z{WULx$!lK7UdzqQRAM`j&(YY34yVJ!X~PZ2lz+DH{Em*kKGT&1FwSl1f_-J$i=JZt z^HGe5VH|;R;Xh~w9Iy}6`uSro`03I|J!+JC<*hPZ`8a@Dq<=vzj`;%4D&T(;gItmx z%V%B9(03(HTpsS9$y;68?fDi2v<<|#Oj~)4_&%aZ1jiclhvsS|etCR~9^EW&UvJVs zi2JE2Y*lGOk88jsJ_z<{%+J@T1r4|5w4XAcJ!eZ}RO0siTIWit1kq2H*$UB>=+T=} zwg=k8E6pnUWKYGP!({TIWb-3A8JX-`l^mWTe&-{={ z1ED1RzT@)1W5q=lysCSFd$2OTKJfh1GqYJBfBjv9C5M-}O66nDhsMt{C!1&vd@4Uw z+%Iu6j=$PZ61FeO~H8>q0M~PCr-S zSV4_%08)G@?zXsSb-1Alz3zE3~tI;jH7A>{?{llWcD%H~{e0Z5lOWL&W*)IkMhn&3ZctMBRl#f`-rN=3+Et­bN!l=1pViKzhrydG6iQL?9V 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

6zZIJE_KKYL20}Pw)JMpK~Y36 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 diff --git a/diagrams/All.puml b/diagrams/All.puml index 388552b..7c15818 100644 --- a/diagrams/All.puml +++ b/diagrams/All.puml @@ -6,6 +6,7 @@ /' Objects '/ + class Circle { +Circle(float radius, const Vector2Df& center, ColorShape fill, ColorShape stroke, float stroke_width) +getClass() : string {query} @@ -293,6 +294,20 @@ class Vector2D > { } +class ViewBox { + +ViewBox() + +ViewBox(float X, float Y, float W, float H) + +getHeight() : float {query} + +getWidth() : float {query} + +getX() : float {query} + +getY() : float {query} + -h : float + -w : float + -x : float + -y : float +} + + class Viewer { -Viewer() +~Viewer() @@ -327,8 +342,6 @@ class PathPoint { - - /' Inheritance relationships '/ .Ell <|-- .Circle @@ -387,17 +400,22 @@ class PathPoint { .Parser o-- .SVGElement -.Path *-- .PathPoint +.Parser *-- .ViewBox -.Renderer --> .Renderer : -instance +.Path *-- .PathPoint +.Renderer --> .Renderer : -instance .SVGElement *-- .ColorShape .SVGElement o-- .Gradient + +.SVGElement o-- .SVGElement + + .Stop *-- .ColorShape diff --git a/diagrams/ViewBox.png b/diagrams/ViewBox.png new file mode 100644 index 0000000000000000000000000000000000000000..88bdb3a1957139bdee7e64b5d81abeab6f87a8c5 GIT binary patch literal 102787 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

57U-pDddEl{3CB=QUBBJhk!*gOiX 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]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 literal 0 HcmV?d00001 diff --git a/diagrams/ViewBox.puml b/diagrams/ViewBox.puml new file mode 100644 index 0000000..056641c --- /dev/null +++ b/diagrams/ViewBox.puml @@ -0,0 +1,82 @@ +@startuml + + + + + +/' Objects '/ + +class Parser { + -Parser(const std::string& file_name) + +~Parser() + -parseCircle(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Circle* + -parseColor(rapidxml::xml_node<>* node, std::string color, std::string& id) : ColorShape + -parseGradient(std::string id) : Gradient* + +getRoot() : Group* + -parseLine(rapidxml::xml_node<>* node, const ColorShape& stroke_color, float stroke_width) : Line* + +{static} getInstance(const std::string& file_name) : Parser* + -parsePath(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Path* + -parseRect(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Rect* + -parseElements(std::string file_name) : SVGElement* + -parseShape(rapidxml::xml_node<>* node) : SVGElement* + -root : SVGElement* + -parseText(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : Text* + +getViewPort() : Vector2Df {query} + -viewport : Vector2Df + +getViewBox() : ViewBox {query} + -viewbox : ViewBox + -parseEllipse(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Ell* + -parsePolygon(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Plygon* + -parsePolyline(rapidxml::xml_node<>* node, const ColorShape& fill_color, const ColorShape& stroke_color, float stroke_width) : class Plyline* + -getFloatAttribute(rapidxml::xml_node<>* node, std::string name) : float + -{static} instance : static Parser* + -gradients : std::map + -getAttribute(rapidxml::xml_node<>* node, std::string name) : std::string + -parsePathPoints(rapidxml::xml_node<>* node) : std::vector + -getGradientStops(rapidxml::xml_node<>* node) : std::vector + -parsePoints(rapidxml::xml_node<>* node) : std::vector + -getTransformOrder(rapidxml::xml_node<>* node) : std::vector + -GetGradients(rapidxml::xml_node<>* node) : void + +printShapesData() : void +} + + +class ViewBox { + +ViewBox() + +ViewBox(float X, float Y, float W, float H) + +getHeight() : float {query} + +getWidth() : float {query} + +getX() : float {query} + +getY() : float {query} + -h : float + -w : float + -x : float + -y : float +} + + + + + +/' Inheritance relationships '/ + + + + +/' Aggregation relationships '/ + +.Parser o-- .Parser + + +.Parser *-- .ViewBox + + + + + + +/' Nested objects '/ + + + +@enduml From d32f43400bcbadecdf8b3f33cf365ebd04fa94d1 Mon Sep 17 00:00:00 2001 From: nkwn <148709510+phthtgvi@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:54:27 +0700 Subject: [PATCH 2/2] Update documentation Add ViewBox refs --- docs/Circle_8cpp_source.html | 8 +- docs/Circle_8hpp_source.html | 14 +- docs/ColorShape_8cpp_source.html | 180 ++ docs/ColorShape_8hpp_source.html | 333 ++++ docs/Ellipse_8cpp_source.html | 8 +- docs/Ellipse_8hpp_source.html | 14 +- docs/Graphics_8hpp_source.html | 9 +- docs/Group_8cpp_source.html | 4 +- docs/Group_8hpp_source.html | 59 +- docs/Line_8cpp_source.html | 8 +- docs/Line_8hpp_source.html | 10 +- docs/Parser_8cpp_source.html | 1802 +++++++++--------- docs/Parser_8hpp_source.html | 144 +- docs/Path_8cpp_source.html | 6 +- docs/Path_8hpp_source.html | 30 +- docs/PolyShape_8cpp_source.html | 6 +- docs/PolyShape_8hpp_source.html | 53 +- docs/Polygon_8cpp_source.html | 6 +- docs/Polygon_8hpp_source.html | 12 +- docs/Polyline_8cpp_source.html | 15 +- docs/Polyline_8hpp_source.html | 25 +- docs/Rect_8cpp_source.html | 8 +- docs/Rect_8hpp_source.html | 16 +- docs/Renderer_8cpp_source.html | 1595 +++++++++------- docs/Renderer_8hpp_source.html | 26 +- docs/SVGElement_8cpp_source.html | 42 +- docs/SVGElement_8hpp_source.html | 69 +- docs/Stop_8cpp_source.html | 21 +- docs/Stop_8hpp_source.html | 20 +- docs/Text_8cpp_source.html | 8 +- docs/Text_8hpp_source.html | 14 +- docs/ViewBox_8cpp_source.html | 154 ++ docs/ViewBox_8hpp_source.html | 167 ++ docs/annotated.html | 15 +- docs/annotated_dup.js | 3 +- docs/classCircle-members.html | 20 +- docs/classCircle.html | 71 +- docs/classCircle.js | 2 +- docs/classCircle__coll__graph.map | 2 +- docs/classCircle__coll__graph.md5 | 2 +- docs/classCircle__coll__graph.svg | 54 +- docs/classColorShape-members.html | 152 ++ docs/classColorShape.html | 415 ++++ docs/classColorShape.js | 20 + docs/classColorShape__coll__graph.map | 3 + docs/classColorShape__coll__graph.md5 | 1 + docs/classColorShape__coll__graph.svg | 36 + docs/classEll-members.html | 18 +- docs/classEll.html | 61 +- docs/classEll.js | 2 +- docs/classEll__coll__graph.map | 2 +- docs/classEll__coll__graph.md5 | 2 +- docs/classEll__coll__graph.svg | 54 +- docs/classGroup-members.html | 16 +- docs/classGroup.html | 47 +- docs/classGroup__coll__graph.map | 2 +- docs/classGroup__coll__graph.md5 | 2 +- docs/classGroup__coll__graph.svg | 46 +- docs/classLine-members.html | 18 +- docs/classLine.html | 61 +- docs/classLine.js | 2 +- docs/classLine__coll__graph.map | 2 +- docs/classLine__coll__graph.md5 | 2 +- docs/classLine__coll__graph.svg | 46 +- docs/classParser-members.html | 22 +- docs/classParser.html | 1531 +++++++-------- docs/classParser.js | 22 +- docs/classParser__coll__graph.map | 5 +- docs/classParser__coll__graph.md5 | 2 +- docs/classParser__coll__graph.svg | 84 +- docs/classPath-members.html | 18 +- docs/classPath.html | 63 +- docs/classPath.js | 2 +- docs/classPath__coll__graph.map | 2 +- docs/classPath__coll__graph.md5 | 2 +- docs/classPath__coll__graph.svg | 46 +- docs/classPlygon-members.html | 20 +- docs/classPlygon.html | 71 +- docs/classPlygon.js | 2 +- docs/classPlygon__coll__graph.map | 2 +- docs/classPlygon__coll__graph.md5 | 2 +- docs/classPlygon__coll__graph.svg | 46 +- docs/classPlyline-members.html | 20 +- docs/classPlyline.html | 75 +- docs/classPlyline.js | 2 +- docs/classPlyline__coll__graph.map | 2 +- docs/classPlyline__coll__graph.md5 | 2 +- docs/classPlyline__coll__graph.svg | 46 +- docs/classPolyShape-members.html | 18 +- docs/classPolyShape.html | 60 +- docs/classPolyShape.js | 2 +- docs/classPolyShape__coll__graph.map | 2 +- docs/classPolyShape__coll__graph.md5 | 2 +- docs/classPolyShape__coll__graph.svg | 46 +- docs/classRect-members.html | 18 +- docs/classRect.html | 62 +- docs/classRect.js | 2 +- docs/classRect__coll__graph.map | 2 +- docs/classRect__coll__graph.md5 | 2 +- docs/classRect__coll__graph.svg | 54 +- docs/classRenderer.html | 1514 ++++++++------- docs/classSVGElement-members.html | 16 +- docs/classSVGElement.html | 134 +- docs/classSVGElement.js | 16 +- docs/classSVGElement__coll__graph.map | 2 +- docs/classSVGElement__coll__graph.md5 | 2 +- docs/classSVGElement__coll__graph.svg | 46 +- docs/classStop-members.html | 6 +- docs/classStop.html | 46 +- docs/classStop.js | 6 +- docs/classStop__coll__graph.map | 4 +- docs/classStop__coll__graph.md5 | 2 +- docs/classStop__coll__graph.svg | 42 +- docs/classText-members.html | 18 +- docs/classText.html | 63 +- docs/classText.js | 2 +- docs/classText__coll__graph.map | 2 +- docs/classText__coll__graph.md5 | 2 +- docs/classText__coll__graph.svg | 46 +- docs/classViewBox-members.html | 145 ++ docs/classViewBox.html | 366 ++++ docs/classViewBox.js | 13 + docs/classes.html | 17 +- docs/dir_560415a5d2bc4999842279f4fc1debef.js | 8 +- docs/files.html | 6 +- docs/functions.html | 2 +- docs/functions_b.html | 6 +- docs/functions_c.html | 9 +- docs/functions_e.html | 2 +- docs/functions_f.html | 2 +- docs/functions_func.html | 71 +- docs/functions_g.html | 20 +- docs/functions_h.html | 3 + docs/functions_l.html | 5 +- docs/functions_m.html | 5 +- docs/functions_o.html | 2 +- docs/functions_p.html | 29 +- docs/functions_r.html | 7 +- docs/functions_rela.html | 2 +- docs/functions_s.html | 11 +- docs/functions_t.html | 7 +- docs/functions_v.html | 5 +- docs/functions_vars.html | 58 +- docs/functions_w.html | 5 +- docs/functions_x.html | 4 + docs/functions_y.html | 3 +- docs/hierarchy.html | 11 +- docs/hierarchy.js | 3 +- docs/inherit_graph_0.map | 4 +- docs/inherit_graph_0.md5 | 2 +- docs/inherit_graph_0.svg | 42 +- docs/inherit_graph_1.map | 4 +- docs/inherit_graph_1.md5 | 2 +- docs/inherit_graph_1.svg | 42 +- docs/inherit_graph_10.map | 3 + docs/inherit_graph_10.md5 | 1 + docs/inherit_graph_10.svg | 21 + docs/inherit_graph_9.map | 2 +- docs/inherit_graph_9.md5 | 2 +- docs/inherit_graph_9.svg | 10 +- docs/inherits.html | 8 +- docs/main_8cpp_source.html | 305 +-- docs/menudata.js | 1 - docs/navtreedata.js | 2 +- docs/navtreeindex0.js | 192 +- docs/navtreeindex1.js | 89 +- docs/search/all_0.js | 2 +- docs/search/all_1.js | 6 +- docs/search/all_10.js | 7 +- docs/search/all_11.js | 2 +- docs/search/all_12.js | 11 +- docs/search/all_13.js | 7 +- docs/search/all_14.js | 3 +- docs/search/all_15.js | 4 +- docs/search/all_16.js | 2 +- docs/search/all_17.js | 10 +- docs/search/all_2.js | 9 +- docs/search/all_3.js | 20 +- docs/search/all_4.js | 2 +- docs/search/all_5.js | 6 +- docs/search/all_6.js | 90 +- docs/search/all_7.js | 17 +- docs/search/all_8.js | 4 +- docs/search/all_9.js | 7 +- docs/search/all_a.js | 3 +- docs/search/all_b.js | 2 +- docs/search/all_c.js | 10 +- docs/search/all_d.js | 51 +- docs/search/all_e.js | 16 +- docs/search/all_f.js | 49 +- docs/search/classes_0.js | 3 +- docs/search/classes_1.js | 2 +- docs/search/classes_2.js | 4 +- docs/search/classes_3.js | 4 +- docs/search/classes_4.js | 7 +- docs/search/classes_5.js | 9 +- docs/search/classes_6.js | 5 +- docs/search/classes_7.js | 3 +- docs/search/classes_8.js | 5 +- docs/search/functions_0.js | 10 +- docs/search/functions_1.js | 3 +- docs/search/functions_2.js | 18 +- docs/search/functions_3.js | 2 +- docs/search/functions_4.js | 82 +- docs/search/functions_5.js | 14 +- docs/search/functions_6.js | 4 +- docs/search/functions_7.js | 2 +- docs/search/functions_8.js | 22 +- docs/search/functions_9.js | 24 +- docs/search/functions_a.js | 22 +- docs/search/functions_b.js | 20 +- docs/search/functions_c.js | 4 +- docs/search/functions_d.js | 7 +- docs/search/related_0.js | 2 +- docs/search/searchdata.js | 4 +- docs/search/variables_0.js | 6 +- docs/search/variables_1.js | 6 +- docs/search/variables_10.js | 2 +- docs/search/variables_11.js | 4 +- docs/search/variables_12.js | 7 +- docs/search/variables_13.js | 3 +- docs/search/variables_14.js | 4 +- docs/search/variables_15.js | 2 +- docs/search/variables_2.js | 6 +- docs/search/variables_3.js | 2 +- docs/search/variables_4.js | 6 +- docs/search/variables_5.js | 8 +- docs/search/variables_6.js | 3 +- docs/search/variables_7.js | 4 +- docs/search/variables_8.js | 3 +- docs/search/variables_9.js | 2 +- docs/search/variables_a.js | 2 +- docs/search/variables_b.js | 6 +- docs/search/variables_c.js | 7 +- docs/search/variables_d.js | 10 +- docs/search/variables_e.js | 11 +- docs/search/variables_f.js | 5 +- docs/structPathPoint-members.html | 12 +- docs/structPathPoint.html | 18 +- latex/refman.pdf | Bin 715424 -> 729242 bytes src/graphics/ViewBox.hpp | 6 + 241 files changed, 7636 insertions(+), 5083 deletions(-) create mode 100644 docs/ColorShape_8cpp_source.html create mode 100644 docs/ColorShape_8hpp_source.html create mode 100644 docs/ViewBox_8cpp_source.html create mode 100644 docs/ViewBox_8hpp_source.html create mode 100644 docs/classColorShape-members.html create mode 100644 docs/classColorShape.html create mode 100644 docs/classColorShape.js create mode 100644 docs/classColorShape__coll__graph.map create mode 100644 docs/classColorShape__coll__graph.md5 create mode 100644 docs/classColorShape__coll__graph.svg create mode 100644 docs/classViewBox-members.html create mode 100644 docs/classViewBox.html create mode 100644 docs/classViewBox.js create mode 100644 docs/inherit_graph_10.map create mode 100644 docs/inherit_graph_10.md5 create mode 100644 docs/inherit_graph_10.svg diff --git a/docs/Circle_8cpp_source.html b/docs/Circle_8cpp_source.html index aa2606a..f215db6 100644 --- a/docs/Circle_8cpp_source.html +++ b/docs/Circle_8cpp_source.html @@ -123,16 +123,16 @@

1 #include "Circle.hpp"
2 
-
3 Circle::Circle(float radius, const Vector2Df &center, mColor fill,
-
4  mColor stroke, float stroke_width)
+
3 Circle::Circle(float radius, const Vector2Df &center, ColorShape fill,
+
4  ColorShape stroke, float stroke_width)
5  : Ell(Vector2Df(radius, radius), center, fill, stroke, stroke_width) {}
6 
7 std::string Circle::getClass() const { return "Circle"; }
std::string getClass() const override
Gets the type of the shape.
Definition: Circle.cpp:7
-
Circle(float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
Constructs a Circle object.
Definition: Circle.cpp:3
+
Circle(float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
Constructs a Circle object.
Definition: Circle.cpp:3
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
diff --git a/docs/Path_8hpp_source.html b/docs/Path_8hpp_source.html index 479cdfd..f797b71 100644 --- a/docs/Path_8hpp_source.html +++ b/docs/Path_8hpp_source.html @@ -127,17 +127,17 @@
4 #include "SVGElement.hpp"
5 
10 struct PathPoint {
-
11  Vector2Df point;
-
12  char tc;
-
13  Vector2Df radius{0, 0};
-
14  float x_axis_rotation = 0.f;
-
15  bool large_arc_flag = false;
-
16  bool sweep_flag = false;
+ +
12  char tc;
+
13  Vector2Df radius{0, 0};
+
14  float x_axis_rotation = 0.f;
+
15  bool large_arc_flag = false;
+
16  bool sweep_flag = false;
17 };
18 
28 class Path : public SVGElement {
29 public:
-
37  Path(const mColor& fill, const mColor& stroke, float stroke_width);
+
37  Path(const ColorShape& fill, const ColorShape& stroke, float stroke_width);
38 
44  std::string getClass() const override;
45 
@@ -157,8 +157,8 @@
92 };
93 
94 #endif
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
Represents a path element in 2D space.
Definition: Path.hpp:28
-
Path(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a Path object.
Definition: Path.cpp:3
std::vector< PathPoint > points
Vector of points in the path.
Definition: Path.hpp:90
void printData() const override
Prints the data of the shape.
Definition: Path.cpp:16
std::string getFillRule() const
Gets the current fill rule of the path.
Definition: Path.cpp:14
@@ -167,13 +167,19 @@
std::string getClass() const override
Gets the type of the shape.
Definition: Path.cpp:6
void setFillRule(std::string fill_rule)
Sets the fill rule of the path.
Definition: Path.cpp:12
void addPoint(PathPoint point)
Adds a point to the path.
Definition: Path.cpp:8
+
Path(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a Path object.
Definition: Path.cpp:3
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
A struct that contains a point and a type of point.
Definition: Path.hpp:10
+
bool large_arc_flag
Flag for large arc.
Definition: Path.hpp:15
+
char tc
Type of point.
Definition: Path.hpp:12
+
Vector2Df radius
Radius of the arc.
Definition: Path.hpp:13
+
Vector2Df point
Point in 2D space.
Definition: Path.hpp:11
+
bool sweep_flag
Flag for sweep.
Definition: Path.hpp:16
+
float x_axis_rotation
Rotation of the arc.
Definition: Path.hpp:14
diff --git a/docs/SVGElement_8cpp_source.html b/docs/SVGElement_8cpp_source.html index 9b5ff22..e92f176 100644 --- a/docs/SVGElement_8cpp_source.html +++ b/docs/SVGElement_8cpp_source.html @@ -126,25 +126,25 @@
3 #include <iostream>
4 
-
6  : fill(mColor::Black), stroke(mColor::Transparent), stroke_width(1),
+
6  : fill(ColorShape::Black), stroke(ColorShape::Transparent), stroke_width(1),
7  gradient(NULL) {}
8 
-
9 SVGElement::SVGElement(const mColor& fill, const mColor& stroke,
+
9 SVGElement::SVGElement(const ColorShape& fill, const ColorShape& stroke,
10  float stroke_width)
11  : fill(fill), stroke(stroke), stroke_width(stroke_width), gradient(NULL) {}
12 
-
13 SVGElement::SVGElement(const mColor& fill, const mColor& stroke,
+
13 SVGElement::SVGElement(const ColorShape& fill, const ColorShape& stroke,
14  float stroke_width, const Vector2Df& position)
15  : fill(fill), stroke(stroke), stroke_width(stroke_width),
16  position(position), gradient(NULL) {}
17 
-
18 void SVGElement::setFillColor(const mColor& color) { fill = color; }
+
18 void SVGElement::setFillColor(const ColorShape& color) { fill = color; }
19 
-
20 const mColor& SVGElement::getFillColor() const { return fill; }
+
20 const ColorShape& SVGElement::getFillColor() const { return fill; }
21 
-
22 void SVGElement::setOutlineColor(const mColor& color) { stroke = color; }
+
22 void SVGElement::setOutlineColor(const ColorShape& color) { stroke = color; }
23 
-
24 const mColor& SVGElement::getOutlineColor() const { return stroke; }
+
24 const ColorShape& SVGElement::getOutlineColor() const { return stroke; }
25 
26 void SVGElement::setOutlineThickness(float thickness) {
27  stroke_width = thickness;
@@ -169,8 +169,8 @@
46 
47 void SVGElement::printData() const {
48  std::cout << "Shape: " << getClass() << std::endl;
-
49  std::cout << "Fill: " << getFillColor() << std::endl;
-
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
+
49  std::cout << "Fill: " << getFillColor() << std::endl;
+
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
51  std::cout << "Stroke width: " << getOutlineThickness() << std::endl;
52  std::cout << "Position: " << getPosition().x << " " << getPosition().y
53  << std::endl;
@@ -204,6 +204,7 @@
82 
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
A class that represents a gradient.
Definition: Gradient.hpp:18
std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
virtual std::string getClass() const =0
Gets the type of the gradient.
@@ -212,33 +213,32 @@
virtual Vector2Df getMaxBound() const
Gets the maximum bound of the shape.
Definition: SVGElement.cpp:45
virtual Vector2Df getMinBound() const
Gets the minimum bound of the shape.
Definition: SVGElement.cpp:43
SVGElement * getParent() const
Parent pointer getter.
Definition: SVGElement.cpp:77
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
void setGradient(Gradient *gradient)
Sets the gradient of the shape.
Definition: SVGElement.cpp:79
void setParent(SVGElement *parent)
Parent pointer setter to make the composite design pattern.
Definition: SVGElement.cpp:75
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
std::vector< std::string > getTransforms() const
Gets the transformations of the shape.
Definition: SVGElement.cpp:71
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
void setPosition(float x, float y)
Sets the position of the shape.
Definition: SVGElement.cpp:32
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
void setOutlineThickness(float thickness)
Sets the outline thickness of the shape.
Definition: SVGElement.cpp:26
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
Gradient * getGradient() const
Gets the gradient of the shape.
Definition: SVGElement.cpp:81
-
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:227
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
-
void setFillColor(const mColor &color)
Sets the fill color of the shape.
Definition: SVGElement.cpp:18
-
void setOutlineColor(const mColor &color)
Sets the outline color of the shape.
Definition: SVGElement.cpp:22
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:228
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
void setFillColor(const ColorShape &color)
Sets the fill color of the shape.
Definition: SVGElement.cpp:18
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
+
void setOutlineColor(const ColorShape &color)
Sets the outline color of the shape.
Definition: SVGElement.cpp:22
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
virtual void printData() const
Prints the data of the shape.
Definition: SVGElement.cpp:47
virtual std::string getClass() const =0
Gets the type of the shape.
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
-
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:226
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
+
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:227
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
virtual void addElement(SVGElement *element)
Adds a shape to the composite group.
Definition: SVGElement.cpp:83
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 1387628..34174e3 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,12 +1,12 @@ var annotated_dup = [ [ "Circle", "classCircle.html", "classCircle" ], + [ "ColorShape", "classColorShape.html", "classColorShape" ], [ "Ell", "classEll.html", "classEll" ], [ "Gradient", "classGradient.html", "classGradient" ], [ "Group", "classGroup.html", "classGroup" ], [ "Line", "classLine.html", "classLine" ], [ "LinearGradient", "classLinearGradient.html", "classLinearGradient" ], - [ "mColor", "classmColor.html", "classmColor" ], [ "Parser", "classParser.html", "classParser" ], [ "Path", "classPath.html", "classPath" ], [ "PathPoint", "structPathPoint.html", "structPathPoint" ], @@ -20,5 +20,6 @@ var annotated_dup = [ "SVGElement", "classSVGElement.html", "classSVGElement" ], [ "Text", "classText.html", "classText" ], [ "Vector2D", "classVector2D.html", "classVector2D" ], + [ "ViewBox", "classViewBox.html", "classViewBox" ], [ "Viewer", "classViewer.html", "classViewer" ] ]; \ No newline at end of file diff --git a/docs/classCircle-members.html b/docs/classCircle-members.html index c6112f2..45a6130 100644 --- a/docs/classCircle-members.html +++ b/docs/classCircle-members.html @@ -125,15 +125,15 @@

This is the complete list of members for Circle, including all inherited members.

- - - + + + - + - + @@ -144,20 +144,20 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
Circle(float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Circle
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Ell
fillSVGElementprivate
Circle(float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Circle
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Ell
fillSVGElementprivate
getClass() const overrideCirclevirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() const overrideEllvirtual
getMinBound() const overrideEllvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideEllvirtual
radiusEllprivate
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setRadius(const Vector2Df &radius)Ell
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classCircle.html b/docs/classCircle.html index 52d9c32..2476804 100644 --- a/docs/classCircle.html +++ b/docs/classCircle.html @@ -132,27 +132,28 @@
Inheritance diagram for Circle:
-
+
+
[legend]
Collaboration diagram for Circle:
-
+
[legend]
- - - + + + - - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -231,12 +232,12 @@ - - - - - - + + + + + + @@ -249,8 +250,8 @@

Definition at line 13 of file Circle.hpp.

Constructor & Destructor Documentation

- -

◆ Circle()

+ +

◆ Circle()

@@ -270,13 +271,13 @@

- + - + @@ -306,12 +307,12 @@

Definition at line 3 of file Circle.cpp.

-
-
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
Constructs an Ellipse object.
Definition: Ellipse.cpp:5
+
+
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
Constructs an Ellipse object.
Definition: Ellipse.cpp:5
Vector2Df radius
Radii of the ellipse in the x and y directions.
Definition: Ellipse.hpp:14
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classCircle.js b/docs/classCircle.js index 9838c08..b2919fe 100644 --- a/docs/classCircle.js +++ b/docs/classCircle.js @@ -1,5 +1,5 @@ var classCircle = [ - [ "Circle", "classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0", null ], + [ "Circle", "classCircle.html#ace05db36eae5455a95be7aaff49d1fd9", null ], [ "getClass", "classCircle.html#a09523e46318092d42a5969a1da5613bb", null ] ]; \ No newline at end of file diff --git a/docs/classCircle__coll__graph.map b/docs/classCircle__coll__graph.map index 8bfec84..159538b 100644 --- a/docs/classCircle__coll__graph.map +++ b/docs/classCircle__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classCircle__coll__graph.md5 b/docs/classCircle__coll__graph.md5 index 1d81256..f76165f 100644 --- a/docs/classCircle__coll__graph.md5 +++ b/docs/classCircle__coll__graph.md5 @@ -1 +1 @@ -dc7a97bc728dee7fc64f4ca5dacec54f \ No newline at end of file +572ab9c3e1eb35042f71238ff39cb9bb \ No newline at end of file diff --git a/docs/classCircle__coll__graph.svg b/docs/classCircle__coll__graph.svg index afadbf4..7636eb4 100644 --- a/docs/classCircle__coll__graph.svg +++ b/docs/classCircle__coll__graph.svg @@ -4,8 +4,8 @@ - + Circle @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -73,9 +73,9 @@ Node4->Node3 - - - position + + + position @@ -91,39 +91,39 @@ Node5->Node3 - gradient + gradient Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classColorShape-members.html b/docs/classColorShape-members.html new file mode 100644 index 0000000..334e4a6 --- /dev/null +++ b/docs/classColorShape-members.html @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + +svg-reader: Member List + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Public Member Functions

 Circle (float radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs a Circle object. More...
 
 Circle (float radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs a Circle object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
- Public Member Functions inherited from Ell
 Ell (const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
 Ell (const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  fill,
mColor ColorShape  stroke,
+ + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ColorShape Member List
+
+
+ +

This is the complete list of members for ColorShape, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
aColorShape
bColorShape
BlackColorShapestatic
BlueColorShapestatic
ColorShape()ColorShape
ColorShape(int red, int green, int blue, int alpha=255)ColorShape
ColorShape(int color)ColorShapeexplicit
CyanColorShapestatic
gColorShape
GreenColorShapestatic
MagentaColorShapestatic
operator<<(std::ostream &os, const ColorShape &color)ColorShapefriend
rColorShape
RedColorShapestatic
TransparentColorShapestatic
WhiteColorShapestatic
YellowColorShapestatic
+
+ + + \ No newline at end of file diff --git a/docs/classColorShape.html b/docs/classColorShape.html new file mode 100644 index 0000000..3103ca2 --- /dev/null +++ b/docs/classColorShape.html @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + +svg-reader: ColorShape Class Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Utility class for manipulating RGBA ColorShapes. + More...

+ +

#include <ColorShape.hpp>

+
+Collaboration diagram for ColorShape:
+
+
+
+
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 ColorShape ()
 Default constructor. More...
 
 ColorShape (int red, int green, int blue, int alpha=255)
 Construct the ColorShape from its 4 RGBA components. More...
 
 ColorShape (int color)
 Construct the color from 32-bit unsigned integer. More...
 
+ + + + + + + + + + + + + +

+Public Attributes

+int r
 Red component.
 
+int g
 Green component.
 
+int b
 Blue component.
 
+int a
 Alpha (opacity) component.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

+static const ColorShape Black
 Black predefined color.
 
+static const ColorShape White
 White predefined color.
 
+static const ColorShape Red
 Red predefined color.
 
+static const ColorShape Green
 Green predefined color.
 
+static const ColorShape Blue
 Blue predefined color.
 
+static const ColorShape Yellow
 Yellow predefined color.
 
+static const ColorShape Magenta
 Magenta predefined color.
 
+static const ColorShape Cyan
 Cyan predefined color.
 
+static const ColorShape Transparent
 Transparent (black) predefined color.
 
+ + + + +

+Friends

std::ostream & operator<< (std::ostream &os, const ColorShape &color)
 Prints the color. More...
 
+

Detailed Description

+

Utility class for manipulating RGBA ColorShapes.

+ +

Definition at line 11 of file ColorShape.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ColorShape() [1/3]

+ +
+
+ + + + + + + +
ColorShape::ColorShape ()
+
+ +

Default constructor.

+

Constructs an opaque black ColorShape. It is equivalent to ColorShape(0, 0, 0, 255).

+ +

Definition at line 14 of file ColorShape.cpp.

+
14 : r(0), g(0), b(0), a(255) {}
+
int r
Red component.
Definition: ColorShape.hpp:61
+
int g
Green component.
Definition: ColorShape.hpp:62
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
int b
Blue component.
Definition: ColorShape.hpp:63
+
+
+
+ +

◆ ColorShape() [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ColorShape::ColorShape (int red,
int green,
int blue,
int alpha = 255 
)
+
+ +

Construct the ColorShape from its 4 RGBA components.

+
Parameters
+ + + + + +
redRed component (in the range [0, 255])
greenGreen component (in the range [0, 255])
blueBlue component (in the range [0, 255])
alphaAlpha (opacity) component (in the range [0, 255])
+
+
+ +

Definition at line 16 of file ColorShape.cpp.

+
17  : r(red), g(green), b(blue), a(alpha) {
+
18  r = std::clamp(r, 0, 255);
+
19  g = std::clamp(g, 0, 255);
+
20  b = std::clamp(b, 0, 255);
+
21  a = std::clamp(a, 0, 255);
+
22 }
+
+
+
+ +

◆ ColorShape() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
ColorShape::ColorShape (int color)
+
+explicit
+
+ +

Construct the color from 32-bit unsigned integer.

+
Parameters
+ + +
colorNumber containing the RGBA components (in that order)
+
+
+ +

Definition at line 24 of file ColorShape.cpp.

+
25  : r(static_cast< int >((color & 0xff000000) >> 24)),
+
26  g(static_cast< int >((color & 0x00ff0000) >> 16)),
+
27  b((color & 0x0000ff00) >> 8), a((color & 0x000000ff) >> 0) {}
+
+
+
+

Friends And Related Function Documentation

+ +

◆ operator<<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::ostream& operator<< (std::ostream & os,
const ColorShapecolor 
)
+
+friend
+
+ +

Prints the color.

+
Parameters
+ + + +
osoutput stream
colorcolor to be printed
+
+
+
Returns
output stream
+
Note
This function is used for printing the color.
+ +

Definition at line 29 of file ColorShape.cpp.

+
29  {
+
30  os << "Color(" << color.r << ", " << color.g << ", " << color.b << ", "
+
31  << color.a << ")";
+
32  return os;
+
33 }
+
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + \ No newline at end of file diff --git a/docs/classColorShape.js b/docs/classColorShape.js new file mode 100644 index 0000000..c184f33 --- /dev/null +++ b/docs/classColorShape.js @@ -0,0 +1,20 @@ +var classColorShape = +[ + [ "ColorShape", "classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1", null ], + [ "ColorShape", "classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302", null ], + [ "ColorShape", "classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6", null ], + [ "operator<<", "classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44", null ], + [ "a", "classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a", null ], + [ "b", "classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68", null ], + [ "Black", "classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87", null ], + [ "Blue", "classColorShape.html#a1df0c31367734b49349f8d51ebc26889", null ], + [ "Cyan", "classColorShape.html#a87ec94f44076a578446b384afafae0ec", null ], + [ "g", "classColorShape.html#a91c01752af407a122a81c6c44afbba9f", null ], + [ "Green", "classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d", null ], + [ "Magenta", "classColorShape.html#a8132294eb978dd065d7da6896d7782af", null ], + [ "r", "classColorShape.html#a7e699ac932feca73128bb768047c154b", null ], + [ "Red", "classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c", null ], + [ "Transparent", "classColorShape.html#af806b9a0f2490761528be87924cb04c0", null ], + [ "White", "classColorShape.html#ac5fd30929839c15bf0e1321552130a70", null ], + [ "Yellow", "classColorShape.html#a6bc88305d41255e2d9969bec6777420a", null ] +]; \ No newline at end of file diff --git a/docs/classColorShape__coll__graph.map b/docs/classColorShape__coll__graph.map new file mode 100644 index 0000000..0940309 --- /dev/null +++ b/docs/classColorShape__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/classColorShape__coll__graph.md5 b/docs/classColorShape__coll__graph.md5 new file mode 100644 index 0000000..2f91944 --- /dev/null +++ b/docs/classColorShape__coll__graph.md5 @@ -0,0 +1 @@ +85db11587d0e68ed4cf182294cf5ba77 \ No newline at end of file diff --git a/docs/classColorShape__coll__graph.svg b/docs/classColorShape__coll__graph.svg new file mode 100644 index 0000000..30aca69 --- /dev/null +++ b/docs/classColorShape__coll__graph.svg @@ -0,0 +1,36 @@ + + + + + + +ColorShape + + +Node1 + + +ColorShape + + + + + +Node1->Node1 + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow + + + diff --git a/docs/classEll-members.html b/docs/classEll-members.html index e1bd87a..bb24b71 100644 --- a/docs/classEll-members.html +++ b/docs/classEll-members.html @@ -125,14 +125,14 @@

This is the complete list of members for Ell, including all inherited members.

- - + + - + - + @@ -143,20 +143,20 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
Ell(const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)Ell
fillSVGElementprivate
Ell(const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)Ell
fillSVGElementprivate
getClass() const overrideEllvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() const overrideEllvirtual
getMinBound() const overrideEllvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideEllvirtual
radiusEllprivate
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setRadius(const Vector2Df &radius)Ell
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classEll.html b/docs/classEll.html index 0e49af5..e51761c 100644 --- a/docs/classEll.html +++ b/docs/classEll.html @@ -133,20 +133,21 @@
Inheritance diagram for Ell:
-
+
+
[legend]
Collaboration diagram for Ell:
-
+
[legend]
- - - + + + @@ -170,12 +171,12 @@ virtual  - - - - - - + + + + + + @@ -185,12 +186,12 @@ - - - - - - + + + + + + @@ -232,12 +233,12 @@ - - - - - - + + + + + + @@ -250,8 +251,8 @@

Definition at line 12 of file Ellipse.hpp.

Constructor & Destructor Documentation

- -

◆ Ell()

+ +

◆ Ell()

@@ -271,13 +272,13 @@

- + - + @@ -307,11 +308,11 @@

Definition at line 5 of file Ellipse.cpp.

-
7  : SVGElement(fill, stroke, stroke_thickness, center), radius(radius) {}
+
7  : SVGElement(fill, stroke, stroke_thickness, center), radius(radius) {}
Vector2Df radius
Radii of the ellipse in the x and y directions.
Definition: Ellipse.hpp:14
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classEll.js b/docs/classEll.js index 8f8e594..4b6e36f 100644 --- a/docs/classEll.js +++ b/docs/classEll.js @@ -1,6 +1,6 @@ var classEll = [ - [ "Ell", "classEll.html#a4a9956ca82cb9f957e993fa0c0faced6", null ], + [ "Ell", "classEll.html#ab18115d5d2ad73b80ffbdf3661908f38", null ], [ "getClass", "classEll.html#a0d0a2a70c06878c5769bd7d092277892", null ], [ "getMaxBound", "classEll.html#a8a8dd2acc8c7be5580dd8e549d247525", null ], [ "getMinBound", "classEll.html#ab79368df57ee08382916fc52b69afb85", null ], diff --git a/docs/classEll__coll__graph.map b/docs/classEll__coll__graph.map index d145395..be65457 100644 --- a/docs/classEll__coll__graph.map +++ b/docs/classEll__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classEll__coll__graph.md5 b/docs/classEll__coll__graph.md5 index ef0237f..3c3c36e 100644 --- a/docs/classEll__coll__graph.md5 +++ b/docs/classEll__coll__graph.md5 @@ -1 +1 @@ -bbd1ae0f69cc74f30ea1a7d363ee41b1 \ No newline at end of file +904a5b8b7fd34eab1912aa65e6c946ce \ No newline at end of file diff --git a/docs/classEll__coll__graph.svg b/docs/classEll__coll__graph.svg index b3e3334..a80ee7d 100644 --- a/docs/classEll__coll__graph.svg +++ b/docs/classEll__coll__graph.svg @@ -4,8 +4,8 @@ - + Ell @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -58,9 +58,9 @@ Node3->Node2 - - - position + + + position @@ -76,39 +76,39 @@ Node4->Node2 - gradient + gradient Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classGroup-members.html b/docs/classGroup-members.html index a1de882..867fb48 100644 --- a/docs/classGroup-members.html +++ b/docs/classGroup-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Ell (const Vector2Df &radius, const Vector2Df &center, mColor fill, mColor stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
 Ell (const Vector2Df &radius, const Vector2Df &center, ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs an Ellipse object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  fill,
mColor ColorShape  stroke,
- + - + - + @@ -145,20 +145,20 @@ - + - + - + - - + + diff --git a/docs/classGroup.html b/docs/classGroup.html index d472767..30e6235 100644 --- a/docs/classGroup.html +++ b/docs/classGroup.html @@ -133,12 +133,13 @@
Inheritance diagram for Group:
-
+
+
[legend]
Collaboration diagram for Group:
-
+
[legend]
addElement(SVGElement *shape) overrideGroupvirtual
attributesGroupprivate
fillSVGElementprivate
fillSVGElementprivate
getAttributes() constGroup
getClass() const overrideGroupvirtual
getElements() constGroup
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
parentSVGElementprotected
positionSVGElementprivate
printData() const overrideGroupvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
shapesGroupprivate
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~Group()Group
~SVGElement()=defaultSVGElementvirtual
@@ -175,12 +176,12 @@ virtual  - - - - - - + + + + + + @@ -190,12 +191,12 @@ - - - - - - + + + + + + @@ -244,12 +245,12 @@ - - - - - - + + + + + + @@ -260,7 +261,7 @@

A composite class that contains a vector of shape pointers (polymorphic).

The Group class is derived from the SVGElement class and defines a group of SVGElements. The Group class is a composite class that contains a vector of SVGElement pointers (polymorphic). The Group class is used to group SVGElements together.

-

Definition at line 19 of file Group.hpp.

+

Definition at line 20 of file Group.hpp.

Constructor & Destructor Documentation

◆ Group()

@@ -288,7 +289,7 @@

Definition at line 5 of file Group.cpp.

-
Attributes attributes
Attributes of the group.
Definition: Group.hpp:78
+
Attributes attributes
Attributes of the group.
Definition: Group.hpp:79
@@ -332,7 +333,7 @@

18  shapes.push_back(shape);
19  shape->setParent(this);
20 }
-
std::vector< SVGElement * > shapes
Vector of shapes in the group.
Definition: Group.hpp:77
+
std::vector< SVGElement * > shapes
Vector of shapes in the group.
Definition: Group.hpp:78
void setParent(SVGElement *parent)
Parent pointer setter to make the composite design pattern.
Definition: SVGElement.cpp:75
diff --git a/docs/classGroup__coll__graph.map b/docs/classGroup__coll__graph.map index 67325bb..57a41c6 100644 --- a/docs/classGroup__coll__graph.map +++ b/docs/classGroup__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classGroup__coll__graph.md5 b/docs/classGroup__coll__graph.md5 index 9b2a2b1..166ad44 100644 --- a/docs/classGroup__coll__graph.md5 +++ b/docs/classGroup__coll__graph.md5 @@ -1 +1 @@ -914a2f4a9e5fd43cfb26372d62a29825 \ No newline at end of file +bd59688465d4bda2f118276fabfcd03a \ No newline at end of file diff --git a/docs/classGroup__coll__graph.svg b/docs/classGroup__coll__graph.svg index d9c645d..1870615 100644 --- a/docs/classGroup__coll__graph.svg +++ b/docs/classGroup__coll__graph.svg @@ -4,8 +4,8 @@ - + Group @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classLine-members.html b/docs/classLine-members.html index ef2cc48..45791a4 100644 --- a/docs/classLine-members.html +++ b/docs/classLine-members.html @@ -126,38 +126,38 @@

~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
- + - + - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
directionLineprivate
fillSVGElementprivate
fillSVGElementprivate
getClass() const overrideLinevirtual
getDirection() constLine
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getLength() constLine
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
getTransforms() constSVGElement
gradientSVGElementprivate
Line(const Vector2Df &point1, const Vector2Df &point2, mColor stroke, float stroke_width)Line
Line(const Vector2Df &point1, const Vector2Df &point2, ColorShape stroke, float stroke_width)Line
parentSVGElementprotected
positionSVGElementprivate
printData() constSVGElementvirtual
setDirection(const Vector2Df &direction)Line
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classLine.html b/docs/classLine.html index 55a3f88..b70b76b 100644 --- a/docs/classLine.html +++ b/docs/classLine.html @@ -133,20 +133,21 @@
Inheritance diagram for Line:
-
+
+
[legend]
Collaboration diagram for Line:
-
+
[legend]
- - - + + + @@ -164,12 +165,12 @@ virtual  - - - - - - + + + + + + @@ -179,12 +180,12 @@ - - - - - - + + + + + + @@ -235,12 +236,12 @@ - - - - - - + + + + + + @@ -253,8 +254,8 @@

Definition at line 12 of file Line.hpp.

Constructor & Destructor Documentation

- -

◆ Line()

+ +

◆ Line()

@@ -274,7 +275,7 @@

- + @@ -303,13 +304,13 @@

Definition at line 5 of file Line.cpp.

-
+
8  direction(point2) {}
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
Vector2Df direction
Direction of the line.
Definition: Line.hpp:14
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
diff --git a/docs/classLine.js b/docs/classLine.js index a988985..14aa5d7 100644 --- a/docs/classLine.js +++ b/docs/classLine.js @@ -1,6 +1,6 @@ var classLine = [ - [ "Line", "classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c", null ], + [ "Line", "classLine.html#abef476564dc2f7dad7259ee5071301fa", null ], [ "getClass", "classLine.html#a745f295541d412b49dac89423bd957a6", null ], [ "getDirection", "classLine.html#adb348ce7ddf4b500c3593b7126aa4451", null ], [ "getLength", "classLine.html#afe6672bc7667cf45739c46f9fc8cb237", null ], diff --git a/docs/classLine__coll__graph.map b/docs/classLine__coll__graph.map index 1308e35..5a5346c 100644 --- a/docs/classLine__coll__graph.map +++ b/docs/classLine__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classLine__coll__graph.md5 b/docs/classLine__coll__graph.md5 index 9eb0bf2..632b0c2 100644 --- a/docs/classLine__coll__graph.md5 +++ b/docs/classLine__coll__graph.md5 @@ -1 +1 @@ -049a901dd7e5e6b3958a3eac7f7acc76 \ No newline at end of file +3efe6ffb7afad4b7306d398276f85016 \ No newline at end of file diff --git a/docs/classLine__coll__graph.svg b/docs/classLine__coll__graph.svg index c88bb0e..efb466a 100644 --- a/docs/classLine__coll__graph.svg +++ b/docs/classLine__coll__graph.svg @@ -4,8 +4,8 @@ - + Line @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -81,34 +81,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classParser-members.html b/docs/classParser-members.html index 052dbc6..e3b3657 100644 --- a/docs/classParser-members.html +++ b/docs/classParser-members.html @@ -131,29 +131,29 @@
getInstance(const std::string &file_name)Parser
static

- + - - + + - + - - + + - - + + - + - + - +

Public Member Functions

 Line (const Vector2Df &point1, const Vector2Df &point2, mColor stroke, float stroke_width)
 Constructs a Line object. More...
 
 Line (const Vector2Df &point1, const Vector2Df &point2, ColorShape stroke, float stroke_width)
 Constructs a Line object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
mColor ColorShape  stroke,
getRoot()Parser
getTransformOrder(rapidxml::xml_node<> *node)Parserprivate
getViewBox() constParser
getViewBox() constParser
getViewPort() constParser
gradientsParserprivate
instanceParserprivatestatic
parseCircle(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)Parserprivate
parseCircle(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)Parserprivate
parseElements(std::string file_name)Parserprivate
parseEllipse(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseEllipse(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseGradient(std::string id)Parserprivate
parseLine(rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)Parserprivate
parsePath(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseLine(rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePath(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePathPoints(rapidxml::xml_node<> *node)Parserprivate
parsePoints(rapidxml::xml_node<> *node)Parserprivate
parsePolygon(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parsePolyline(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parsePolygon(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parsePolyline(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
Parser(const Parser &)=deleteParser
Parser(const std::string &file_name)Parserprivate
parseRect(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseRect(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
parseShape(rapidxml::xml_node<> *node)Parserprivate
parseText(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)Parserprivate
parseText(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)Parserprivate
printShapesData()Parser
rootParserprivate
viewboxParserprivate
viewboxParserprivate
viewportParserprivate
~Parser()Parser
diff --git a/docs/classParser.html b/docs/classParser.html index c0383c0..308520a 100644 --- a/docs/classParser.html +++ b/docs/classParser.html @@ -136,7 +136,7 @@
Collaboration diagram for Parser:
-
+
[legend]
@@ -156,9 +156,9 @@ - - - + + + @@ -192,9 +192,9 @@ - - - + + + @@ -204,30 +204,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -240,10 +240,10 @@ - - - + + + @@ -294,12 +294,12 @@

Definition at line 165 of file Parser.cpp.

-
165  {
-
166  root = parseElements(file_name);
-
167 }
-
SVGElement * root
The root of the SVG file.
Definition: Parser.hpp:276
-
SVGElement * parseElements(std::string file_name)
Parses the SVG file and creates a tree of SVGElements.
Definition: Parser.cpp:181
+

Definition at line 179 of file Parser.cpp.

+
179  {
+
180  root = parseElements(file_name);
+
181 }
+
SVGElement * root
The root of the SVG file.
Definition: Parser.hpp:278
+
SVGElement * parseElements(std::string file_name)
Parses the SVG file and creates a tree of SVGElements.
Definition: Parser.cpp:198
@@ -348,27 +348,27 @@

Returns
The attributes of the node.
-

Definition at line 296 of file Parser.cpp.

-
296  {
-
297  if (name == "text") return removeExtraSpaces(node->value());
-
298  std::string result;
-
299  if (node->first_attribute(name.c_str()) == NULL) {
-
300  if (name == "fill" || name == "stop-color")
-
301  result = "black";
-
302  else if (name == "stroke" || name == "transform" || name == "rotate" ||
-
303  name == "font-style")
-
304  result = "none";
-
305  else if (name == "text-anchor")
-
306  result = "start";
-
307  else if (name == "fill-rule")
-
308  result = "nonzero";
-
309  else if (name == "gradientUnits")
-
310  result = "objectBoundingBox";
-
311  } else {
-
312  result = node->first_attribute(name.c_str())->value();
-
313  }
-
314  return result;
-
315 }
+

Definition at line 328 of file Parser.cpp.

+
328  {
+
329  if (name == "text") return removeExtraSpaces(node->value());
+
330  std::string result;
+
331  if (node->first_attribute(name.c_str()) == NULL) {
+
332  if (name == "fill" || name == "stop-color")
+
333  result = "black";
+
334  else if (name == "stroke" || name == "transform" || name == "rotate" ||
+
335  name == "font-style")
+
336  result = "none";
+
337  else if (name == "text-anchor")
+
338  result = "start";
+
339  else if (name == "fill-rule")
+
340  result = "nonzero";
+
341  else if (name == "gradientUnits")
+
342  result = "objectBoundingBox";
+
343  } else {
+
344  result = node->first_attribute(name.c_str())->value();
+
345  }
+
346  return result;
+
347 }
@@ -416,53 +416,58 @@

Returns
The floating point attributes of the node.
-

Definition at line 317 of file Parser.cpp.

-
317  {
-
318  float result;
-
319  if (node->first_attribute(name.c_str()) == NULL) {
-
320  if (std::string(node->name()).find("Gradient") != std::string::npos) {
-
321  if (name == "x1" || name == "y1" || name == "fr")
-
322  result = 0;
-
323  else if (name == "cx" || name == "cy")
-
324  result = name == "cx" ? 0.5 * this->viewbox.second.x
-
325  : 0.5 * this->viewbox.second.y;
-
326  else if (name == "r") {
-
327  result = sqrt((pow(this->viewbox.second.x, 2) +
-
328  pow(this->viewbox.second.y, 2)) /
-
329  2) /
-
330  2;
-
331  } else if (name == "fx" || name == "fy")
-
332  result = name == "fx" ? getFloatAttribute(node, "cx")
-
333  : getFloatAttribute(node, "cy");
-
334  else
-
335  result = name == "x2" ? this->viewbox.second.x
-
336  : this->viewbox.second.y;
-
337  } else {
-
338  if (name == "stroke-width" || name == "stroke-opacity" ||
-
339  name == "fill-opacity" || name == "opacity" ||
-
340  name == "stop-opacity")
-
341  result = 1;
-
342  else
-
343  result = 0;
-
344  }
-
345  } else {
-
346  if (name == "width" || name == "height") {
-
347  std::string value = node->first_attribute(name.c_str())->value();
-
348  if (value.find("%") != std::string::npos) {
-
349  result = std::stof(value.substr(0, value.find("%"))) *
-
350  this->viewbox.second.x / 100;
-
351  } else if (value.find("pt") != std::string::npos) {
-
352  result = std::stof(value.substr(0, value.find("pt"))) * 1.33;
-
353  } else {
-
354  result = std::stof(value);
-
355  }
-
356  } else
-
357  result = std::stof(node->first_attribute(name.c_str())->value());
-
358  }
-
359  return result;
-
360 }
-
std::pair< Vector2Df, Vector2Df > viewbox
The viewbox of the SVG file.
Definition: Parser.hpp:280
-
float getFloatAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the floating point attributes of a node.
Definition: Parser.cpp:317
+

Definition at line 351 of file Parser.cpp.

+
351  {
+
352  float result;
+
353  if (node->first_attribute(name.c_str()) == NULL) {
+
354  if (std::string(node->name()).find("Gradient") != std::string::npos) {
+
355  // Handle gradient-specific attribute default values
+
356  if (name == "x1" || name == "y1" || name == "fr")
+
357  result = 0;
+
358  else if (name == "cx" || name == "cy")
+
359  result = name == "cx" ? 0.5 * this->viewbox.getWidth()
+
360  : 0.5 * this->viewbox.getHeight();
+
361  else if (name == "r") {
+
362  result = sqrt((pow(this->viewbox.getWidth(), 2) +
+
363  pow(this->viewbox.getHeight(), 2)) /
+
364  2) /
+
365  2;
+
366  } else if (name == "fx" || name == "fy")
+
367  result = name == "fx" ? getFloatAttribute(node, "cx")
+
368  : getFloatAttribute(node, "cy");
+
369  else
+
370  result = name == "x2" ? this->viewbox.getWidth()
+
371  : this->viewbox.getHeight();
+
372  } else {
+
373  // Handle default float attribute values for other elements
+
374  if (name == "stroke-width" || name == "stroke-opacity" ||
+
375  name == "fill-opacity" || name == "opacity" ||
+
376  name == "stop-opacity")
+
377  result = 1;
+
378  else
+
379  result = 0;
+
380  }
+
381  } else {
+
382  if (name == "width" || name == "height") {
+
383  // Handle width and height attributes with percentage or point units
+
384  std::string value = node->first_attribute(name.c_str())->value();
+
385  if (value.find("%") != std::string::npos) {
+
386  result = std::stof(value.substr(0, value.find("%"))) *
+
387  this->viewbox.getWidth() / 100;
+
388  } else if (value.find("pt") != std::string::npos) {
+
389  result = std::stof(value.substr(0, value.find("pt"))) * 1.33;
+
390  } else {
+
391  result = std::stof(value);
+
392  }
+
393  } else
+
394  result = std::stof(node->first_attribute(name.c_str())->value());
+
395  }
+
396  return result;
+
397 }
+
ViewBox viewbox
The viewbox of the SVG file.
Definition: Parser.hpp:281
+
float getFloatAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the floating point attributes of a node.
Definition: Parser.cpp:351
+
float getHeight() const
Get the height of the ViewBox.
Definition: ViewBox.cpp:13
+
float getWidth() const
Get the width of the ViewBox.
Definition: ViewBox.cpp:11
@@ -498,65 +503,65 @@

Definition at line 428 of file Parser.cpp.

-
428  {
-
429  rapidxml::xml_node<> *gradient_node = node->first_node();
-
430  while (gradient_node) {
-
431  if (std::string(gradient_node->name()).find("Gradient") !=
-
432  std::string::npos) {
-
433  Gradient *gradient;
-
434  std::string id = getAttribute(gradient_node, "id");
-
435  std::string units = getAttribute(gradient_node, "gradientUnits");
-
436  std::vector< Stop > stops = getGradientStops(gradient_node);
-
437  std::string href = getAttribute(gradient_node, "xlink:href");
-
438  int pos = href.find("#");
-
439  if (pos != std::string::npos) {
-
440  href = href.substr(pos + 1);
-
441  }
-
442  if (std::string(gradient_node->name()).find("linear") !=
-
443  std::string::npos) {
-
444  float x1 = getFloatAttribute(gradient_node, "x1");
-
445  float y1 = getFloatAttribute(gradient_node, "y1");
-
446  float x2 = getFloatAttribute(gradient_node, "x2");
-
447  float y2 = getFloatAttribute(gradient_node, "y2");
-
448  std::pair< Vector2Df, Vector2Df > points = {{x1, y1}, {x2, y2}};
-
449  gradient = new LinearGradient(stops, points, units);
-
450  if (this->gradients.find(id) == this->gradients.end())
-
451  this->gradients[id] = gradient;
-
452  } else if (std::string(gradient_node->name()).find("radial") !=
-
453  std::string::npos) {
-
454  float cx = getFloatAttribute(gradient_node, "cx");
-
455  float cy = getFloatAttribute(gradient_node, "cy");
-
456  float fx = getFloatAttribute(gradient_node, "fx");
-
457  float fy = getFloatAttribute(gradient_node, "fy");
-
458  float r = getFloatAttribute(gradient_node, "r");
-
459  float fr = getFloatAttribute(gradient_node, "fr");
-
460  std::pair< Vector2Df, Vector2Df > points = {{cx, cy}, {fx, fy}};
-
461  Vector2Df radius(r, fr);
-
462  gradient = new RadialGradient(stops, points, radius, units);
-
463  if (this->gradients.find(id) == this->gradients.end())
-
464  this->gradients[id] = gradient;
-
465  }
-
466  if (href != "") {
-
467  for (auto stop : parseGradient(href)->getStops()) {
-
468  gradient->addStop(stop);
-
469  }
-
470  }
-
471  if (gradient != NULL)
-
472  gradient->setTransforms(getTransformOrder(gradient_node));
-
473  }
-
474  gradient_node = gradient_node->next_sibling();
-
475  }
-
476 }
+

Definition at line 473 of file Parser.cpp.

+
473  {
+
474  rapidxml::xml_node<> *gradient_node = node->first_node();
+
475  while (gradient_node) {
+
476  if (std::string(gradient_node->name()).find("Gradient") !=
+
477  std::string::npos) {
+
478  Gradient *gradient;
+
479  std::string id = getAttribute(gradient_node, "id");
+
480  std::string units = getAttribute(gradient_node, "gradientUnits");
+
481  std::vector< Stop > stops = getGradientStops(gradient_node);
+
482  std::string href = getAttribute(gradient_node, "xlink:href");
+
483  int pos = href.find("#");
+
484  if (pos != std::string::npos) {
+
485  href = href.substr(pos + 1);
+
486  }
+
487  if (std::string(gradient_node->name()).find("linear") !=
+
488  std::string::npos) {
+
489  float x1 = getFloatAttribute(gradient_node, "x1");
+
490  float y1 = getFloatAttribute(gradient_node, "y1");
+
491  float x2 = getFloatAttribute(gradient_node, "x2");
+
492  float y2 = getFloatAttribute(gradient_node, "y2");
+
493  std::pair< Vector2Df, Vector2Df > points = {{x1, y1}, {x2, y2}};
+
494  gradient = new LinearGradient(stops, points, units);
+
495  if (this->gradients.find(id) == this->gradients.end())
+
496  this->gradients[id] = gradient;
+
497  } else if (std::string(gradient_node->name()).find("radial") !=
+
498  std::string::npos) {
+
499  float cx = getFloatAttribute(gradient_node, "cx");
+
500  float cy = getFloatAttribute(gradient_node, "cy");
+
501  float fx = getFloatAttribute(gradient_node, "fx");
+
502  float fy = getFloatAttribute(gradient_node, "fy");
+
503  float r = getFloatAttribute(gradient_node, "r");
+
504  float fr = getFloatAttribute(gradient_node, "fr");
+
505  std::pair< Vector2Df, Vector2Df > points = {{cx, cy}, {fx, fy}};
+
506  Vector2Df radius(r, fr);
+
507  gradient = new RadialGradient(stops, points, radius, units);
+
508  if (this->gradients.find(id) == this->gradients.end())
+
509  this->gradients[id] = gradient;
+
510  }
+
511  if (href != "") {
+
512  for (auto stop : parseGradient(href)->getStops()) {
+
513  gradient->addStop(stop);
+
514  }
+
515  }
+
516  if (gradient != NULL)
+
517  gradient->setTransforms(getTransformOrder(gradient_node));
+
518  }
+
519  gradient_node = gradient_node->next_sibling();
+
520  }
+
521 }
A class that represents a gradient.
Definition: Gradient.hpp:18
void addStop(Stop stop)
Adds a stop to the gradient.
Definition: Gradient.cpp:23
void setTransforms(std::vector< std::string > transforms)
Gets the transforms of the gradient.
Definition: Gradient.cpp:15
A class that represents a linear gradient.
-
std::string getAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the attributes of a node.
Definition: Parser.cpp:296
-
std::map< std::string, Gradient * > gradients
Definition: Parser.hpp:277
-
std::vector< std::string > getTransformOrder(rapidxml::xml_node<> *node)
Gets the transform order of the element.
Definition: Parser.cpp:637
-
Gradient * parseGradient(std::string id)
Gets the gradient of a node.
Definition: Parser.cpp:404
-
std::vector< Stop > getGradientStops(rapidxml::xml_node<> *node)
Gets the gradient stops of a node.
Definition: Parser.cpp:412
+
std::string getAttribute(rapidxml::xml_node<> *node, std::string name)
Gets the attributes of a node.
Definition: Parser.cpp:328
+
std::map< std::string, Gradient * > gradients
Definition: Parser.hpp:279
+
std::vector< std::string > getTransformOrder(rapidxml::xml_node<> *node)
Gets the transform order of the element.
Definition: Parser.cpp:694
+
Gradient * parseGradient(std::string id)
Gets the gradient of a node.
Definition: Parser.cpp:447
+
std::vector< Stop > getGradientStops(rapidxml::xml_node<> *node)
Gets the gradient stops of a node.
Definition: Parser.cpp:456
A class that represents a radial gradient.
@@ -595,25 +600,25 @@

Returns
The gradient stops of the node.
-

Definition at line 412 of file Parser.cpp.

-
412  {
-
413  std::vector< Stop > stops;
-
414  rapidxml::xml_node<> *stop_node = node->first_node();
-
415  while (stop_node) {
-
416  if (std::string(stop_node->name()) == "stop") {
-
417  std::string id = "";
-
418  mColor color = parseColor(stop_node, "stop-color", id);
-
419  float offset = getFloatAttribute(stop_node, "offset");
-
420  if (offset > 1) offset /= 100;
-
421  stops.push_back(Stop(color, offset));
-
422  }
-
423  stop_node = stop_node->next_sibling();
-
424  }
-
425  return stops;
-
426 }
-
mColor parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)
Gets the color attributes of a node.
Definition: Parser.cpp:362
+

Definition at line 456 of file Parser.cpp.

+
456  {
+
457  std::vector< Stop > stops;
+
458  rapidxml::xml_node<> *stop_node = node->first_node();
+
459  while (stop_node) {
+
460  if (std::string(stop_node->name()) == "stop") {
+
461  std::string id = "";
+
462  ColorShape color = parseColor(stop_node, "stop-color", id);
+
463  float offset = getFloatAttribute(stop_node, "offset");
+
464  if (offset > 1) offset /= 100;
+
465  stops.push_back(Stop(color, offset));
+
466  }
+
467  stop_node = stop_node->next_sibling();
+
468  }
+
469  return stops;
+
470 }
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
+
ColorShape parseColor(rapidxml::xml_node<> *node, std::string color, std::string &id)
Gets the color attributes of a node.
Definition: Parser.cpp:400
A class that represents a stop.
Definition: Stop.hpp:11
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11

@@ -650,15 +655,15 @@

Returns
The singleton instance of the Parser class.
-

Definition at line 158 of file Parser.cpp.

-
158  {
-
159  if (instance == nullptr) {
-
160  instance = new Parser(file_name);
-
161  }
-
162  return instance;
-
163 }
+

Definition at line 171 of file Parser.cpp.

+
171  {
+
172  if (instance == nullptr) {
+
173  instance = new Parser(file_name);
+
174  }
+
175  return instance;
+
176 }
Parser(const Parser &)=delete
Deleted copy constructor to enforce the singleton pattern.
-
static Parser * instance
The instance of the Parser.
Definition: Parser.hpp:275
+
static Parser * instance
The instance of the Parser.
Definition: Parser.hpp:277
@@ -680,9 +685,9 @@

Returns
The root of the tree of SVGElements.
-

Definition at line 169 of file Parser.cpp.

-
169 { return dynamic_cast< Group * >(root); }
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+

Definition at line 184 of file Parser.cpp.

+
184 { return dynamic_cast< Group * >(root); }
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
@@ -719,46 +724,48 @@

Returns
The transform order of the element
-

Definition at line 637 of file Parser.cpp.

-
638  {
-
639  std::string transform_tag;
-
640  if (std::string(node->name()).find("Gradient") != std::string::npos)
-
641  transform_tag = getAttribute(node, "gradientTransform");
-
642  else
-
643  transform_tag = getAttribute(node, "transform");
-
644  std::vector< std::string > order;
-
645  std::stringstream ss(transform_tag);
-
646  std::string type;
-
647  while (ss >> type) {
-
648  if (type.find("translate") != std::string::npos ||
-
649  type.find("scale") != std::string::npos ||
-
650  type.find("rotate") != std::string::npos ||
-
651  type.find("matrix") != std::string::npos) {
-
652  while (type.find(")") == std::string::npos) {
-
653  std::string temp;
-
654  ss >> temp;
-
655  type += " " + temp;
-
656  }
-
657  std::string temp = type.substr(0, type.find("(") + 1);
-
658  temp.erase(std::remove(temp.begin(), temp.end(), ' '), temp.end());
-
659  type.erase(0, type.find("(") + 1);
-
660  type = temp + type;
-
661  order.push_back(type);
-
662  }
-
663  }
-
664  return order;
-
665 }
+

Definition at line 694 of file Parser.cpp.

+
695  {
+
696  std::string transform_tag;
+
697  if (std::string(node->name()).find("Gradient") != std::string::npos) {
+
698  transform_tag = getAttribute(node, "gradientTransform");
+
699  } else {
+
700  transform_tag = getAttribute(node, "transform");
+
701  }
+
702 
+
703  std::vector< std::string > order;
+
704  std::stringstream ss(transform_tag);
+
705  std::string type;
+
706  while (ss >> type) {
+
707  if (type.find("translate") != std::string::npos ||
+
708  type.find("scale") != std::string::npos ||
+
709  type.find("rotate") != std::string::npos ||
+
710  type.find("matrix") != std::string::npos) {
+
711  while (type.find(")") == std::string::npos) {
+
712  std::string temp;
+
713  ss >> temp;
+
714  type += " " + temp;
+
715  }
+
716  std::string temp = type.substr(0, type.find("(") + 1);
+
717  temp.erase(std::remove(temp.begin(), temp.end(), ' '), temp.end());
+
718  type.erase(0, type.find("(") + 1);
+
719  type = temp + type;
+
720  order.push_back(type);
+
721  }
+
722  }
+
723  return order;
+
724 }
- -

◆ getViewBox()

+ +

◆ getViewBox()

void printShapesData ()
 Prints the data of the shapes. More...
 
std::pair< Vector2Df, Vector2DfgetViewBox () const
 Gets the viewbox of the SVG file. More...
 
ViewBox getViewBox () const
 Gets the viewbox of the SVG file. More...
 
Vector2Df getViewPort () const
 Gets the viewport of the SVG file. More...
 
GradientparseGradient (std::string id)
 Gets the gradient of a node. More...
 
mColor parseColor (rapidxml::xml_node<> *node, std::string color, std::string &id)
 Gets the color attributes of a node. More...
 
ColorShape parseColor (rapidxml::xml_node<> *node, std::string color, std::string &id)
 Gets the color attributes of a node. More...
 
std::vector< Vector2DfparsePoints (rapidxml::xml_node<> *node)
 Gets the points of the element. More...
 
std::vector< std::string > getTransformOrder (rapidxml::xml_node<> *node)
 Gets the transform order of the element. More...
 
LineparseLine (rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)
 Parses the line element. More...
 
RectparseRect (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the rect element. More...
 
class PlylineparsePolyline (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the polyline element. More...
 
class PlygonparsePolygon (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the polygon element. More...
 
CircleparseCircle (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the circle element. More...
 
class EllparseEllipse (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the ellipse element. More...
 
PathparsePath (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the path element. More...
 
TextparseText (rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
 Parses the text element. More...
 
LineparseLine (rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)
 Parses the line element. More...
 
RectparseRect (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the rect element. More...
 
class PlylineparsePolyline (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the polyline element. More...
 
class PlygonparsePolygon (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the polygon element. More...
 
CircleparseCircle (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the circle element. More...
 
class EllparseEllipse (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the ellipse element. More...
 
PathparsePath (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the path element. More...
 
TextparseText (rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
 Parses the text element. More...
 
SVGElementparseShape (rapidxml::xml_node<> *node)
 Parses the group of elements. More...
 
 
std::map< std::string, Gradient * > gradients
 
-std::pair< Vector2Df, Vector2Dfviewbox
 The viewbox of the SVG file.
 
+ViewBox viewbox
 The viewbox of the SVG file.
 
Vector2Df viewport
 The viewport of the SVG file.
- + @@ -769,8 +776,8 @@

Returns
The viewbox of the SVG file.
-

Definition at line 830 of file Parser.cpp.

-
830 { return viewbox; }
+

Definition at line 911 of file Parser.cpp.

+
911 { return viewbox; }
@@ -792,14 +799,14 @@

Returns
The viewport of the SVG file.
-

Definition at line 832 of file Parser.cpp.

-
832 { return viewport; }
-
Vector2Df viewport
The viewport of the SVG file.
Definition: Parser.hpp:281
+

Definition at line 914 of file Parser.cpp.

+
914 { return viewport; }
+
Vector2Df viewport
The viewport of the SVG file.
Definition: Parser.hpp:282
- -

◆ parseCircle()

+ +

◆ parseCircle()

@@ -816,13 +823,13 @@

- + - + @@ -856,21 +863,21 @@

Returns
The circle element
-

Definition at line 732 of file Parser.cpp.

-
734  {
-
735  float cx = getFloatAttribute(node, "cx");
-
736  float cy = getFloatAttribute(node, "cy");
-
737  float radius = getFloatAttribute(node, "r");
-
738  Circle *shape = new Circle(radius, Vector2Df(cx, cy), fill_color,
-
739  stroke_color, stroke_width);
-
740  return shape;
-
741 }
+

Definition at line 799 of file Parser.cpp.

+
802  {
+
803  float cx = getFloatAttribute(node, "cx");
+
804  float cy = getFloatAttribute(node, "cy");
+
805  float radius = getFloatAttribute(node, "r");
+
806  Circle *shape = new Circle(radius, Vector2Df(cx, cy), fill_color,
+
807  stroke_color, stroke_width);
+
808  return shape;
+
809 }
Represents a circle in 2D space.
Definition: Circle.hpp:13
- -

◆ parseColor()

+ +

◆ parseColor()

@@ -879,7 +886,7 @@

std::pair< Vector2Df, Vector2Df > Parser::getViewBox ViewBox Parser::getViewBox ( ) constconst mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
- + @@ -920,49 +927,53 @@

Returns
The color attributes of the node.
-

Definition at line 362 of file Parser.cpp.

-
363  {
-
364  std::string color = getAttribute(node, name);
-
365  color.erase(std::remove(color.begin(), color.end(), ' '), color.end());
-
366  if (color.find("url") == std::string::npos) {
-
367  for (auto &c : color) c = tolower(c);
-
368  }
-
369  if (color == "none")
-
370  return mColor::Transparent;
-
371  else {
-
372  mColor result;
-
373  if (color.find("url") != std::string::npos) {
-
374  if (color.find("'") != std::string::npos) {
-
375  id = color.substr(color.find("'") + 1);
-
376  id.erase(id.find("'"));
-
377  id.erase(id.find("#"), 1);
-
378  } else {
-
379  id = color.substr(color.find("#") + 1);
-
380  id.erase(id.find(")"));
-
381  }
-
382  result = mColor::Transparent;
-
383  } else if (color.find("#") != std::string::npos) {
-
384  result = getHexColor(color);
-
385  } else if (color.find("rgb") != std::string::npos) {
-
386  result = getRgbColor(color);
-
387  } else {
-
388  auto color_code = color_map.find(color);
-
389  if (color_code == color_map.end()) {
-
390  std::cout << "Color " << color << " not found" << std::endl;
-
391  exit(-1);
-
392  }
-
393  result = color_code->second;
-
394  }
-
395  if (name == "stop-color")
-
396  result.a = result.a * getFloatAttribute(node, "stop-opacity");
-
397  else
-
398  result.a = result.a * getFloatAttribute(node, name + "-opacity") *
-
399  getFloatAttribute(node, "opacity");
-
400  return result;
-
401  }
-
402 }
-
int a
Alpha (opacity) component.
Definition: Color.hpp:63
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
+

Definition at line 400 of file Parser.cpp.

+
401  {
+
402  std::string color = getAttribute(node, name);
+
403  color.erase(std::remove(color.begin(), color.end(), ' '), color.end());
+
404  if (color.find("url") == std::string::npos) {
+
405  for (auto &c : color) c = tolower(c);
+
406  }
+
407  if (color == "none")
+ +
409  else {
+
410  ColorShape result;
+
411  if (color.find("url") != std::string::npos) {
+
412  // Handle gradient color reference
+
413  if (color.find("'") != std::string::npos) {
+
414  id = color.substr(color.find("'") + 1);
+
415  id.erase(id.find("'"));
+
416  id.erase(id.find("#"), 1);
+
417  } else {
+
418  id = color.substr(color.find("#") + 1);
+
419  id.erase(id.find(")"));
+
420  }
+
421  result = ColorShape::Transparent;
+
422  } else if (color.find("#") != std::string::npos) {
+
423  // Handle hex color representation
+
424  result = getHexColor(color);
+
425  } else if (color.find("rgb") != std::string::npos) {
+
426  // Handle RGB color representation
+
427  result = getRgbColor(color);
+
428  } else {
+
429  // Handle predefined color names
+
430  auto color_code = color_map.find(color);
+
431  if (color_code == color_map.end()) {
+
432  std::cout << "Color " << color << " not found" << std::endl;
+
433  exit(-1);
+
434  }
+
435  result = color_code->second;
+
436  }
+
437  if (name == "stop-color")
+
438  result.a = result.a * getFloatAttribute(node, "stop-opacity");
+
439  else
+
440  result.a = result.a * getFloatAttribute(node, name + "-opacity") *
+
441  getFloatAttribute(node, "opacity");
+
442  return result;
+
443  }
+
444 }
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
@@ -999,136 +1010,151 @@

Returns
The root of the tree of SVGElements.
-

Definition at line 181 of file Parser.cpp.

-
181  {
-
182  rapidxml::xml_document<> doc;
-
183  std::ifstream file(file_name);
-
184  std::vector< char > buffer((std::istreambuf_iterator< char >(file)),
-
185  std::istreambuf_iterator< char >());
-
186  buffer.push_back('\0');
-
187  doc.parse< 0 >(&buffer[0]);
-
188 
-
189  rapidxml::xml_node<> *svg = doc.first_node();
-
190  viewport.x = getFloatAttribute(svg, "width");
-
191  viewport.y = getFloatAttribute(svg, "height");
-
192  std::string viewbox = getAttribute(svg, "viewBox");
-
193  if (viewbox != "") {
-
194  std::stringstream ss(viewbox);
-
195  ss >> this->viewbox.first.x >> this->viewbox.first.y >>
-
196  this->viewbox.second.x >> this->viewbox.second.y;
-
197  }
-
198  rapidxml::xml_node<> *node = svg->first_node();
-
199  rapidxml::xml_node<> *prev = NULL;
-
200 
-
201  SVGElement *root = new Group();
-
202  SVGElement *current = root;
-
203 
-
204  while (node) {
-
205  if (std::string(node->name()) == "defs") {
-
206  GetGradients(node);
-
207  prev = node;
-
208  node = node->next_sibling();
-
209  } else if (std::string(node->name()) == "g") {
-
210  Group *group = dynamic_cast< Group * >(current);
-
211  for (auto group_attribute : group->getAttributes()) {
-
212  bool found = false;
-
213  for (auto attribute = node->first_attribute(); attribute;
-
214  attribute = attribute->next_attribute()) {
-
215  if (std::string(attribute->name()) ==
-
216  group_attribute.first) {
-
217  if (group_attribute.first == "opacity") {
-
218  std::string opacity = std::to_string(
-
219  std::stof(attribute->value()) *
-
220  std::stof(group_attribute.second));
-
221  char *value = doc.allocate_string(opacity.c_str());
-
222  attribute->value(value);
-
223  }
-
224  found = true;
-
225  break;
-
226  }
-
227  }
-
228  if (!found && group_attribute.first != "transform") {
-
229  char *name =
-
230  doc.allocate_string(group_attribute.first.c_str());
-
231  char *value =
-
232  doc.allocate_string(group_attribute.second.c_str());
-
233  rapidxml::xml_attribute<> *new_attribute =
-
234  doc.allocate_attribute(name, value);
-
235  node->append_attribute(new_attribute);
-
236  }
-
237  }
-
238  Group *new_group = new Group(xmlToString(node->first_attribute()));
-
239  new_group->setTransforms(getTransformOrder(node));
-
240  current->addElement(new_group);
-
241  current = new_group;
-
242  prev = node;
-
243  node = node->first_node();
-
244  } else {
-
245  Group *group = dynamic_cast< Group * >(current);
-
246  for (auto group_attribute : group->getAttributes()) {
-
247  bool found = false;
-
248  for (auto attribute = node->first_attribute(); attribute;
-
249  attribute = attribute->next_attribute()) {
-
250  if (std::string(attribute->name()) ==
-
251  group_attribute.first) {
-
252  if (group_attribute.first == "opacity") {
-
253  std::string opacity = std::to_string(
-
254  std::stof(attribute->value()) *
-
255  std::stof(group_attribute.second));
-
256  char *value = doc.allocate_string(opacity.c_str());
-
257  attribute->value(value);
-
258  }
-
259  found = true;
-
260  break;
-
261  }
-
262  }
-
263  if (!found && group_attribute.first != "transform") {
-
264  char *name =
-
265  doc.allocate_string(group_attribute.first.c_str());
-
266  char *value =
-
267  doc.allocate_string(group_attribute.second.c_str());
-
268  rapidxml::xml_attribute<> *new_attribute =
-
269  doc.allocate_attribute(name, value);
-
270  node->append_attribute(new_attribute);
-
271  }
-
272  }
-
273  SVGElement *shape = parseShape(node);
-
274  if (shape != NULL) current->addElement(shape);
-
275  prev = node;
-
276  node = node->next_sibling();
-
277  }
-
278  if (node == NULL && current != root) {
-
279  while (prev->parent()->next_sibling() == NULL) {
-
280  current = current->getParent();
-
281  prev = prev->parent();
-
282  if (prev == svg) {
-
283  break;
-
284  }
-
285  }
-
286  if (prev == svg) {
-
287  break;
-
288  }
-
289  current = current->getParent();
-
290  node = prev->parent()->next_sibling();
-
291  }
-
292  }
-
293  return root;
-
294 }
+

Definition at line 198 of file Parser.cpp.

+
198  {
+
199  rapidxml::xml_document<> doc;
+
200  std::ifstream file(file_name);
+
201  std::vector< char > buffer((std::istreambuf_iterator< char >(file)),
+
202  std::istreambuf_iterator< char >());
+
203  buffer.push_back('\0');
+
204  doc.parse< 0 >(&buffer[0]);
+
205 
+
206  rapidxml::xml_node<> *svg = doc.first_node();
+
207  viewport.x = getFloatAttribute(svg, "width");
+
208  viewport.y = getFloatAttribute(svg, "height");
+
209  std::string viewbox = getAttribute(svg, "viewBox");
+
210  if (viewbox != "") {
+
211  std::stringstream ss(viewbox);
+
212  float x, y, w, h;
+
213  ss >> x >> y >> w >> h;
+
214  this->viewbox = ViewBox(x, y, w, h);
+
215  }
+
216  rapidxml::xml_node<> *node = svg->first_node();
+
217  rapidxml::xml_node<> *prev = NULL;
+
218 
+
219  SVGElement *root = new Group();
+
220  SVGElement *current = root;
+
221 
+
222  // Parse SVG elements
+
223  while (node) {
+
224  if (std::string(node->name()) == "defs") {
+
225  // Parse gradients
+
226  GetGradients(node);
+
227  prev = node;
+
228  node = node->next_sibling();
+
229  } else if (std::string(node->name()) == "g") {
+
230  // Parse Group attributes
+
231  Group *group = dynamic_cast< Group * >(current);
+
232  for (auto group_attribute : group->getAttributes()) {
+
233  bool found = false;
+
234  for (auto attribute = node->first_attribute(); attribute;
+
235  attribute = attribute->next_attribute()) {
+
236  if (std::string(attribute->name()) ==
+
237  group_attribute.first) {
+
238  if (group_attribute.first == "opacity") {
+
239  // Adjust opacity if already present in the group
+
240  // and node
+
241  std::string opacity = std::to_string(
+
242  std::stof(attribute->value()) *
+
243  std::stof(group_attribute.second));
+
244  char *value = doc.allocate_string(opacity.c_str());
+
245  attribute->value(value);
+
246  }
+
247  found = true;
+
248  break;
+
249  }
+
250  }
+
251 
+
252  if (!found && group_attribute.first != "transform") {
+
253  // Add missing attributes from the group to the node
+
254  char *name =
+
255  doc.allocate_string(group_attribute.first.c_str());
+
256  char *value =
+
257  doc.allocate_string(group_attribute.second.c_str());
+
258  rapidxml::xml_attribute<> *new_attribute =
+
259  doc.allocate_attribute(name, value);
+
260  node->append_attribute(new_attribute);
+
261  }
+
262  }
+
263 
+
264  Group *new_group = new Group(xmlToString(node->first_attribute()));
+
265  new_group->setTransforms(getTransformOrder(node));
+
266  current->addElement(new_group);
+
267  current = new_group;
+
268  prev = node;
+
269  node = node->first_node();
+
270  } else {
+
271  // Parse Shape attributes and add to current group
+
272  Group *group = dynamic_cast< Group * >(current);
+
273 
+
274  for (auto group_attribute : group->getAttributes()) {
+
275  bool found = false;
+
276  for (auto attribute = node->first_attribute(); attribute;
+
277  attribute = attribute->next_attribute()) {
+
278  if (std::string(attribute->name()) ==
+
279  group_attribute.first) {
+
280  if (group_attribute.first == "opacity") {
+
281  std::string opacity = std::to_string(
+
282  std::stof(attribute->value()) *
+
283  std::stof(group_attribute.second));
+
284  char *value = doc.allocate_string(opacity.c_str());
+
285  attribute->value(value);
+
286  }
+
287  found = true;
+
288  break;
+
289  }
+
290  }
+
291 
+
292  if (!found && group_attribute.first != "transform") {
+
293  char *name =
+
294  doc.allocate_string(group_attribute.first.c_str());
+
295  char *value =
+
296  doc.allocate_string(group_attribute.second.c_str());
+
297  rapidxml::xml_attribute<> *new_attribute =
+
298  doc.allocate_attribute(name, value);
+
299  node->append_attribute(new_attribute);
+
300  }
+
301  }
+
302 
+
303  SVGElement *shape = parseShape(node);
+
304  if (shape != NULL) current->addElement(shape);
+
305  prev = node;
+
306  node = node->next_sibling();
+
307  }
+
308 
+
309  if (node == NULL && current != root) {
+
310  while (prev->parent()->next_sibling() == NULL) {
+
311  current = current->getParent();
+
312  prev = prev->parent();
+
313  if (prev == svg) {
+
314  break;
+
315  }
+
316  }
+
317  if (prev == svg) {
+
318  break;
+
319  }
+
320  current = current->getParent();
+
321  node = prev->parent()->next_sibling();
+
322  }
+
323  }
+
324  return root;
+
325 }
Attributes getAttributes() const
Gets the attributes of the shape.
Definition: Group.cpp:15
-
SVGElement * parseShape(rapidxml::xml_node<> *node)
Parses the group of elements.
Definition: Parser.cpp:667
-
void GetGradients(rapidxml::xml_node<> *node)
Gets the gradients of a node.
Definition: Parser.cpp:428
+
SVGElement * parseShape(rapidxml::xml_node<> *node)
Parses the group of elements.
Definition: Parser.cpp:727
+
void GetGradients(rapidxml::xml_node<> *node)
Gets the gradients of a node.
Definition: Parser.cpp:473
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
void setTransforms(const std::vector< std::string > &transforms)
Sets the transformations of the shape.
Definition: SVGElement.cpp:67
SVGElement * getParent() const
Parent pointer getter.
Definition: SVGElement.cpp:77
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
virtual void addElement(SVGElement *element)
Adds a shape to the composite group.
Definition: SVGElement.cpp:83
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
+
A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.
Definition: ViewBox.hpp:10
- -

◆ parseEllipse()

+ +

◆ parseEllipse()

@@ -1145,13 +1171,13 @@

- + - + @@ -1185,16 +1211,16 @@

Returns
The ellipse element
-

Definition at line 743 of file Parser.cpp.

-
744  {
-
745  float radius_x = getFloatAttribute(node, "rx");
-
746  float radius_y = getFloatAttribute(node, "ry");
-
747  float cx = getFloatAttribute(node, "cx");
-
748  float cy = getFloatAttribute(node, "cy");
-
749  Ell *shape = new Ell(Vector2Df(radius_x, radius_y), Vector2Df(cx, cy),
-
750  fill_color, stroke_color, stroke_width);
-
751  return shape;
-
752 }
+

Definition at line 812 of file Parser.cpp.

+
814  {
+
815  float radius_x = getFloatAttribute(node, "rx");
+
816  float radius_y = getFloatAttribute(node, "ry");
+
817  float cx = getFloatAttribute(node, "cx");
+
818  float cy = getFloatAttribute(node, "cy");
+
819  Ell *shape = new Ell(Vector2Df(radius_x, radius_y), Vector2Df(cx, cy),
+
820  fill_color, stroke_color, stroke_width);
+
821  return shape;
+
822 }
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
@@ -1232,19 +1258,19 @@

Returns
The gradient of the node.
-

Definition at line 404 of file Parser.cpp.

-
404  {
-
405  if (gradients.find(id) == gradients.end()) {
-
406  std::cout << "Gradient " << id << " not found" << std::endl;
-
407  exit(-1);
-
408  }
-
409  return gradients.at(id);
-
410 }
+

Definition at line 447 of file Parser.cpp.

+
447  {
+
448  if (gradients.find(id) == gradients.end()) {
+
449  std::cout << "Gradient " << id << " not found" << std::endl;
+
450  exit(-1);
+
451  }
+
452  return gradients.at(id);
+
453 }
- -

◆ parseLine()

+ +

◆ parseLine()

@@ -1261,7 +1287,7 @@

- + @@ -1294,20 +1320,20 @@

Returns
The line element
-

Definition at line 710 of file Parser.cpp.

-
711  {
-
712  Line *shape = new Line(
-
713  Vector2Df(getFloatAttribute(node, "x1"), getFloatAttribute(node, "y1")),
-
714  Vector2Df(getFloatAttribute(node, "x2"), getFloatAttribute(node, "y2")),
-
715  stroke_color, stroke_width);
-
716  return shape;
-
717 }
+

Definition at line 774 of file Parser.cpp.

+
775  {
+
776  Line *shape = new Line(
+
777  Vector2Df(getFloatAttribute(node, "x1"), getFloatAttribute(node, "y1")),
+
778  Vector2Df(getFloatAttribute(node, "x2"), getFloatAttribute(node, "y2")),
+
779  stroke_color, stroke_width);
+
780  return shape;
+
781 }
Represents a line in 2D space.
Definition: Line.hpp:12
- -

◆ parsePath()

+ +

◆ parsePath()

@@ -1324,13 +1350,13 @@

- + - + @@ -1364,20 +1390,20 @@

Returns
The path element
-

Definition at line 807 of file Parser.cpp.

-
808  {
-
809  Path *shape = new Path(fill_color, stroke_color, stroke_width);
-
810  std::vector< PathPoint > points = parsePathPoints(node);
-
811  for (auto point : points) {
-
812  shape->addPoint(point);
-
813  }
-
814  std::string fill_rule = getAttribute(node, "fill-rule");
-
815  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
816  fill_rule.end());
-
817  shape->setFillRule(fill_rule);
-
818  return shape;
-
819 }
-
std::vector< PathPoint > parsePathPoints(rapidxml::xml_node<> *node)
Gets the points of the path element.
Definition: Parser.cpp:494
+

Definition at line 884 of file Parser.cpp.

+
886  {
+
887  Path *shape = new Path(fill_color, stroke_color, stroke_width);
+
888  std::vector< PathPoint > points = parsePathPoints(node);
+
889  for (auto point : points) {
+
890  shape->addPoint(point);
+
891  }
+
892  std::string fill_rule = getAttribute(node, "fill-rule");
+
893  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
894  fill_rule.end());
+
895  shape->setFillRule(fill_rule);
+
896  return shape;
+
897 }
+
std::vector< PathPoint > parsePathPoints(rapidxml::xml_node<> *node)
Gets the points of the path element.
Definition: Parser.cpp:541
Represents a path element in 2D space.
Definition: Path.hpp:28
void setFillRule(std::string fill_rule)
Sets the fill rule of the path.
Definition: Path.cpp:12
void addPoint(PathPoint point)
Adds a point to the path.
Definition: Path.cpp:8
@@ -1417,150 +1443,160 @@

Returns
The points of the path element
-

Definition at line 494 of file Parser.cpp.

-
494  {
-
495  std::vector< PathPoint > points;
-
496  std::string path_string = getAttribute(node, "d");
-
497 
-
498  formatSvgPathString(path_string);
-
499 
-
500  std::stringstream ss(path_string);
-
501  std::string element;
-
502  PathPoint pPoint{{0, 0}, 'M'};
-
503  while (ss >> element) {
-
504  if (std::isalpha(element[0])) {
-
505  pPoint.tc = element[0];
-
506  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
-
507  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
-
508  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't')
-
509  ss >> pPoint.point.x >> pPoint.point.y;
-
510  else if (tolower(pPoint.tc) == 'h') {
-
511  ss >> pPoint.point.x;
-
512  pPoint.point.y = 0;
-
513  } else if (tolower(pPoint.tc) == 'v') {
-
514  ss >> pPoint.point.y;
-
515  pPoint.point.x = 0;
-
516  } else if (tolower(pPoint.tc) == 'a') {
-
517  ss >> pPoint.radius.x >> pPoint.radius.y;
-
518  ss >> pPoint.x_axis_rotation;
-
519  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
-
520  ss >> pPoint.point.x >> pPoint.point.y;
-
521  }
-
522  } else {
-
523  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
-
524  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
-
525  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't') {
-
526  if (tolower(pPoint.tc) == 'm') pPoint.tc = 'L';
-
527  pPoint.point.x = std::stof(element);
-
528  ss >> pPoint.point.y;
-
529  } else if (tolower(pPoint.tc) == 'h') {
-
530  pPoint.point.x = std::stof(element);
-
531  pPoint.point.y = 0;
-
532  } else if (tolower(pPoint.tc) == 'v') {
-
533  pPoint.point.y = std::stof(element);
-
534  pPoint.point.x = 0;
-
535  } else if (tolower(pPoint.tc) == 'a') {
-
536  pPoint.radius.x = std::stof(element);
-
537  ss >> pPoint.radius.y;
-
538  ss >> pPoint.x_axis_rotation;
-
539  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
-
540  ss >> pPoint.point.x >> pPoint.point.y;
-
541  }
-
542  }
-
543  points.push_back(pPoint);
-
544  }
-
545 
-
546  std::vector< PathPoint > handle_points;
+

Definition at line 541 of file Parser.cpp.

+
541  {
+
542  std::vector< PathPoint > points;
+
543  std::string path_string = getAttribute(node, "d");
+
544 
+
545  // Pre-processing the raw path string
+
546  formatSvgPathString(path_string);
547 
-
548  Vector2Df first_point{0, 0}, cur_point{0, 0};
-
549  int n = points.size();
-
550  for (int i = 0; i < n; i++) {
-
551  if (tolower(points[i].tc) == 'm') {
-
552  first_point = points[i].point;
-
553  if (points[i].tc == 'm') {
-
554  first_point.x = cur_point.x + points[i].point.x;
-
555  first_point.y = cur_point.y + points[i].point.y;
-
556  }
-
557  cur_point = first_point;
-
558  handle_points.push_back({first_point, 'm'});
-
559  } else if (tolower(points[i].tc) == 'l' ||
-
560  tolower(points[i].tc) == 't') {
-
561  Vector2Df end_point{cur_point.x + points[i].point.x,
-
562  cur_point.y + points[i].point.y};
-
563  if (points[i].tc == 'L' || points[i].tc == 'T')
-
564  end_point = points[i].point;
-
565  cur_point = end_point;
-
566  char TC = tolower(points[i].tc);
-
567  handle_points.push_back({end_point, TC});
-
568  } else if (tolower(points[i].tc) == 'h') {
-
569  Vector2Df end_point{cur_point.x + points[i].point.x, cur_point.y};
-
570  if (points[i].tc == 'H')
-
571  end_point = Vector2Df{points[i].point.x, cur_point.y};
-
572  cur_point = end_point;
-
573  handle_points.push_back({end_point, 'h'});
-
574  } else if (tolower(points[i].tc) == 'v') {
-
575  Vector2Df end_point{cur_point.x, cur_point.y + points[i].point.y};
-
576  if (points[i].tc == 'V')
-
577  end_point = Vector2Df{cur_point.x, points[i].point.y};
-
578  cur_point = end_point;
-
579  handle_points.push_back({end_point, 'v'});
-
580  } else if (tolower(points[i].tc) == 'c') {
-
581  if (i + 2 < n) {
-
582  Vector2Df control_point1 =
-
583  Vector2Df{cur_point.x + points[i].point.x,
-
584  cur_point.y + points[i].point.y};
-
585  Vector2Df control_point2 =
-
586  Vector2Df{cur_point.x + points[i + 1].point.x,
-
587  cur_point.y + points[i + 1].point.y};
-
588  Vector2Df control_point3 =
-
589  Vector2Df{cur_point.x + points[i + 2].point.x,
-
590  cur_point.y + points[i + 2].point.y};
-
591  if (points[i].tc == 'C') {
-
592  control_point1 = points[i].point;
-
593  control_point2 = points[i + 1].point;
-
594  control_point3 = points[i + 2].point;
-
595  }
-
596  i += 2;
-
597  cur_point = control_point3;
-
598  handle_points.push_back({control_point1, 'c'});
-
599  handle_points.push_back({control_point2, 'c'});
-
600  handle_points.push_back({control_point3, 'c'});
-
601  }
-
602  } else if (tolower(points[i].tc) == 'z') {
-
603  cur_point = first_point;
-
604  handle_points.push_back({first_point, 'z'});
-
605  } else if (tolower(points[i].tc) == 's' ||
-
606  tolower(points[i].tc) == 'q') {
-
607  if (i + 1 < n) {
-
608  Vector2Df control_point1 =
-
609  Vector2Df{cur_point.x + points[i].point.x,
-
610  cur_point.y + points[i].point.y};
-
611  Vector2Df control_point2 =
-
612  Vector2Df{cur_point.x + points[i + 1].point.x,
-
613  cur_point.y + points[i + 1].point.y};
-
614  if (points[i].tc == 'S' || points[i].tc == 'Q') {
-
615  control_point1 = points[i].point;
-
616  control_point2 = points[i + 1].point;
-
617  }
-
618  i += 1;
-
619  cur_point = control_point2;
-
620  char TC = tolower(points[i].tc);
-
621  handle_points.push_back({control_point1, TC});
-
622  handle_points.push_back({control_point2, TC});
-
623  }
-
624  } else if (tolower(points[i].tc) == 'a') {
-
625  Vector2Df end_point{cur_point.x + points[i].point.x,
-
626  cur_point.y + points[i].point.y};
-
627  if (points[i].tc == 'A') end_point = points[i].point;
-
628  handle_points.push_back(
-
629  {end_point, 'a', points[i].radius, points[i].x_axis_rotation,
-
630  points[i].large_arc_flag, points[i].sweep_flag});
+
548  // Tokenizing the path string using stringstream
+
549  std::stringstream ss(path_string);
+
550  std::string element;
+
551  PathPoint pPoint{{0, 0}, 'M'}; // Default starting point and command
+
552  while (ss >> element) {
+
553  if (std::isalpha(element[0])) {
+
554  pPoint.tc = element[0];
+
555  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
+
556  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
+
557  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't')
+
558  ss >> pPoint.point.x >> pPoint.point.y;
+
559  else if (tolower(pPoint.tc) == 'h') {
+
560  ss >> pPoint.point.x;
+
561  pPoint.point.y = 0;
+
562  } else if (tolower(pPoint.tc) == 'v') {
+
563  ss >> pPoint.point.y;
+
564  pPoint.point.x = 0;
+
565  } else if (tolower(pPoint.tc) == 'a') {
+
566  ss >> pPoint.radius.x >> pPoint.radius.y;
+
567  ss >> pPoint.x_axis_rotation;
+
568  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
+
569  ss >> pPoint.point.x >> pPoint.point.y;
+
570  }
+
571  } else {
+
572  if (tolower(pPoint.tc) == 'm' || tolower(pPoint.tc) == 'l' ||
+
573  tolower(pPoint.tc) == 'c' || tolower(pPoint.tc) == 's' ||
+
574  tolower(pPoint.tc) == 'q' || tolower(pPoint.tc) == 't') {
+
575  if (tolower(pPoint.tc) == 'm') pPoint.tc = 'L';
+
576  pPoint.point.x = std::stof(element);
+
577  ss >> pPoint.point.y;
+
578  } else if (tolower(pPoint.tc) == 'h') {
+
579  pPoint.point.x = std::stof(element);
+
580  pPoint.point.y = 0;
+
581  } else if (tolower(pPoint.tc) == 'v') {
+
582  pPoint.point.y = std::stof(element);
+
583  pPoint.point.x = 0;
+
584  } else if (tolower(pPoint.tc) == 'a') {
+
585  pPoint.radius.x = std::stof(element);
+
586  ss >> pPoint.radius.y;
+
587  ss >> pPoint.x_axis_rotation;
+
588  ss >> pPoint.large_arc_flag >> pPoint.sweep_flag;
+
589  ss >> pPoint.point.x >> pPoint.point.y;
+
590  }
+
591  }
+
592  points.push_back(pPoint);
+
593  }
+
594 
+
595  std::vector< PathPoint > handle_points;
+
596 
+
597  // Processing and transforming raw path points
+
598  Vector2Df first_point{0, 0}, cur_point{0, 0};
+
599  int n = points.size();
+
600  for (int i = 0; i < n; i++) {
+
601  if (tolower(points[i].tc) == 'm') {
+
602  first_point = points[i].point;
+
603  if (points[i].tc == 'm') {
+
604  first_point.x = cur_point.x + points[i].point.x;
+
605  first_point.y = cur_point.y + points[i].point.y;
+
606  }
+
607  cur_point = first_point;
+
608  handle_points.push_back({first_point, 'm'});
+
609 
+
610  } else if (tolower(points[i].tc) == 'l' ||
+
611  tolower(points[i].tc) == 't') {
+
612  Vector2Df end_point{cur_point.x + points[i].point.x,
+
613  cur_point.y + points[i].point.y};
+
614  if (points[i].tc == 'L' || points[i].tc == 'T')
+
615  end_point = points[i].point;
+
616  cur_point = end_point;
+
617  char TC = tolower(points[i].tc);
+
618  handle_points.push_back({end_point, TC});
+
619 
+
620  } else if (tolower(points[i].tc) == 'h') {
+
621  Vector2Df end_point{cur_point.x + points[i].point.x, cur_point.y};
+
622  if (points[i].tc == 'H')
+
623  end_point = Vector2Df{points[i].point.x, cur_point.y};
+
624  cur_point = end_point;
+
625  handle_points.push_back({end_point, 'h'});
+
626 
+
627  } else if (tolower(points[i].tc) == 'v') {
+
628  Vector2Df end_point{cur_point.x, cur_point.y + points[i].point.y};
+
629  if (points[i].tc == 'V')
+
630  end_point = Vector2Df{cur_point.x, points[i].point.y};
631  cur_point = end_point;
-
632  }
-
633  }
-
634  return handle_points;
-
635 }
+
632  handle_points.push_back({end_point, 'v'});
+
633 
+
634  } else if (tolower(points[i].tc) == 'c') {
+
635  if (i + 2 < n) {
+
636  Vector2Df control_point1 =
+
637  Vector2Df{cur_point.x + points[i].point.x,
+
638  cur_point.y + points[i].point.y};
+
639  Vector2Df control_point2 =
+
640  Vector2Df{cur_point.x + points[i + 1].point.x,
+
641  cur_point.y + points[i + 1].point.y};
+
642  Vector2Df control_point3 =
+
643  Vector2Df{cur_point.x + points[i + 2].point.x,
+
644  cur_point.y + points[i + 2].point.y};
+
645  if (points[i].tc == 'C') {
+
646  control_point1 = points[i].point;
+
647  control_point2 = points[i + 1].point;
+
648  control_point3 = points[i + 2].point;
+
649  }
+
650  i += 2;
+
651  cur_point = control_point3;
+
652  handle_points.push_back({control_point1, 'c'});
+
653  handle_points.push_back({control_point2, 'c'});
+
654  handle_points.push_back({control_point3, 'c'});
+
655  }
+
656  } else if (tolower(points[i].tc) == 'z') {
+
657  cur_point = first_point;
+
658  handle_points.push_back({first_point, 'z'});
+
659 
+
660  } else if (tolower(points[i].tc) == 's' ||
+
661  tolower(points[i].tc) == 'q') {
+
662  if (i + 1 < n) {
+
663  Vector2Df control_point1 =
+
664  Vector2Df{cur_point.x + points[i].point.x,
+
665  cur_point.y + points[i].point.y};
+
666  Vector2Df control_point2 =
+
667  Vector2Df{cur_point.x + points[i + 1].point.x,
+
668  cur_point.y + points[i + 1].point.y};
+
669  if (points[i].tc == 'S' || points[i].tc == 'Q') {
+
670  control_point1 = points[i].point;
+
671  control_point2 = points[i + 1].point;
+
672  }
+
673  i += 1;
+
674  cur_point = control_point2;
+
675  char TC = tolower(points[i].tc);
+
676  handle_points.push_back({control_point1, TC});
+
677  handle_points.push_back({control_point2, TC});
+
678  }
+
679 
+
680  } else if (tolower(points[i].tc) == 'a') {
+
681  Vector2Df end_point{cur_point.x + points[i].point.x,
+
682  cur_point.y + points[i].point.y};
+
683  if (points[i].tc == 'A') end_point = points[i].point;
+
684  handle_points.push_back(
+
685  {end_point, 'a', points[i].radius, points[i].x_axis_rotation,
+
686  points[i].large_arc_flag, points[i].sweep_flag});
+
687  cur_point = end_point;
+
688  }
+
689  }
+
690  return handle_points;
+
691 }
A struct that contains a point and a type of point.
Definition: Path.hpp:10
+
char tc
Type of point.
Definition: Path.hpp:12

@@ -1597,27 +1633,27 @@

Returns
The points of the element
-

Definition at line 478 of file Parser.cpp.

-
478  {
-
479  std::vector< Vector2Df > points;
-
480  std::string points_string = getAttribute(node, "points");
-
481 
-
482  std::stringstream ss(points_string);
-
483  float x, y;
-
484 
-
485  while (ss >> x) {
-
486  if (ss.peek() == ',') ss.ignore();
-
487  ss >> y;
-
488  points.push_back(Vector2Df(x, y));
-
489  }
-
490 
-
491  return points;
-
492 }
+

Definition at line 524 of file Parser.cpp.

+
524  {
+
525  std::vector< Vector2Df > points;
+
526  std::string points_string = getAttribute(node, "points");
+
527 
+
528  std::stringstream ss(points_string);
+
529  float x, y;
+
530 
+
531  while (ss >> x) {
+
532  if (ss.peek() == ',') ss.ignore();
+
533  ss >> y;
+
534  points.push_back(Vector2Df(x, y));
+
535  }
+
536 
+
537  return points;
+
538 }

- -

◆ parsePolygon()

+ +

◆ parsePolygon()

@@ -1634,13 +1670,13 @@

- + - + @@ -1674,28 +1710,28 @@

Returns
The polygon element
-

Definition at line 754 of file Parser.cpp.

-
756  {
-
757  Plygon *shape = new Plygon(fill_color, stroke_color, stroke_width);
-
758  std::vector< Vector2Df > points = parsePoints(node);
-
759  for (auto point : points) {
-
760  shape->addPoint(point);
-
761  }
-
762  std::string fill_rule = getAttribute(node, "fill-rule");
-
763  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
764  fill_rule.end());
-
765  shape->setFillRule(fill_rule);
-
766  return shape;
-
767 }
-
std::vector< Vector2Df > parsePoints(rapidxml::xml_node<> *node)
Gets the points of the element.
Definition: Parser.cpp:478
+

Definition at line 825 of file Parser.cpp.

+
828  {
+
829  Plygon *shape = new Plygon(fill_color, stroke_color, stroke_width);
+
830  std::vector< Vector2Df > points = parsePoints(node);
+
831  for (auto point : points) {
+
832  shape->addPoint(point);
+
833  }
+
834  std::string fill_rule = getAttribute(node, "fill-rule");
+
835  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
836  fill_rule.end());
+
837  shape->setFillRule(fill_rule);
+
838  return shape;
+
839 }
+
std::vector< Vector2Df > parsePoints(rapidxml::xml_node<> *node)
Gets the points of the element.
Definition: Parser.cpp:524
Represents a polygon in 2D space.
Definition: Polygon.hpp:12
void setFillRule(std::string fill_rule)
Sets the fill rule of the polyshape.
Definition: PolyShape.cpp:11
virtual void addPoint(const Vector2Df &point)
Adds a vertex to the shape.
Definition: PolyShape.cpp:7
- -

◆ parsePolyline()

+ +

◆ parsePolyline()

@@ -1712,13 +1748,13 @@

- + - + @@ -1752,25 +1788,25 @@

Returns
The polyline element
-

Definition at line 769 of file Parser.cpp.

-
771  {
-
772  Plyline *shape = new Plyline(fill_color, stroke_color, stroke_width);
-
773  std::vector< Vector2Df > points = parsePoints(node);
-
774  for (auto point : points) {
-
775  shape->addPoint(point);
-
776  }
-
777  std::string fill_rule = getAttribute(node, "fill-rule");
-
778  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
-
779  fill_rule.end());
-
780  shape->setFillRule(fill_rule);
-
781  return shape;
-
782 }
+

Definition at line 842 of file Parser.cpp.

+
845  {
+
846  Plyline *shape = new Plyline(fill_color, stroke_color, stroke_width);
+
847  std::vector< Vector2Df > points = parsePoints(node);
+
848  for (auto point : points) {
+
849  shape->addPoint(point);
+
850  }
+
851  std::string fill_rule = getAttribute(node, "fill-rule");
+
852  fill_rule.erase(std::remove(fill_rule.begin(), fill_rule.end(), ' '),
+
853  fill_rule.end());
+
854  shape->setFillRule(fill_rule);
+
855  return shape;
+
856 }
Represents a polyline in 2D space.
Definition: Polyline.hpp:12
- -

◆ parseRect()

+ +

◆ parseRect()

@@ -1787,13 +1823,13 @@

- + - + @@ -1827,18 +1863,18 @@

Returns
The rect element
-

Definition at line 719 of file Parser.cpp.

-
720  {
-
721  float x = getFloatAttribute(node, "x");
-
722  float y = getFloatAttribute(node, "y");
-
723  float rx = getFloatAttribute(node, "rx");
-
724  float ry = getFloatAttribute(node, "ry");
-
725  Rect *shape =
-
726  new Rect(getFloatAttribute(node, "width"),
-
727  getFloatAttribute(node, "height"), Vector2Df(x, y),
-
728  Vector2Df(rx, ry), fill_color, stroke_color, stroke_width);
-
729  return shape;
-
730 }
+

Definition at line 784 of file Parser.cpp.

+
786  {
+
787  float x = getFloatAttribute(node, "x");
+
788  float y = getFloatAttribute(node, "y");
+
789  float rx = getFloatAttribute(node, "rx");
+
790  float ry = getFloatAttribute(node, "ry");
+
791  Rect *shape =
+
792  new Rect(getFloatAttribute(node, "width"),
+
793  getFloatAttribute(node, "height"), Vector2Df(x, y),
+
794  Vector2Df(rx, ry), fill_color, stroke_color, stroke_width);
+
795  return shape;
+
796 }
Represents a rectangle in 2D space.
Definition: Rect.hpp:13
@@ -1876,63 +1912,66 @@

Returns
The group of elements
-

Definition at line 667 of file Parser.cpp.

-
667  {
-
668  SVGElement *shape = NULL;
-
669  std::string type = node->name();
-
670  std::string id = "";
-
671  mColor stroke_color = parseColor(node, "stroke", id);
-
672  mColor fill_color = parseColor(node, "fill", id);
-
673  float stroke_width = getFloatAttribute(node, "stroke-width");
-
674  if (type == "line") {
-
675  shape = parseLine(node, stroke_color, stroke_width);
-
676  } else if (type == "rect") {
-
677  shape = parseRect(node, fill_color, stroke_color, stroke_width);
-
678  } else if (type == "circle") {
-
679  shape = parseCircle(node, fill_color, stroke_color, stroke_width);
-
680  } else if (type == "ellipse") {
-
681  shape = parseEllipse(node, fill_color, stroke_color, stroke_width);
-
682  } else if (type == "polygon") {
-
683  shape = parsePolygon(node, fill_color, stroke_color, stroke_width);
-
684  } else if (type == "polyline") {
-
685  shape = parsePolyline(node, fill_color, stroke_color, stroke_width);
-
686  } else if (type == "path") {
-
687  shape = parsePath(node, fill_color, stroke_color, stroke_width);
-
688  } else if (type == "text") {
-
689  shape = parseText(node, fill_color, stroke_color, stroke_width);
-
690  }
-
691  if (shape != NULL) {
-
692  if (type == "text") {
-
693  float dx = getFloatAttribute(node, "dx");
-
694  float dy = getFloatAttribute(node, "dy");
-
695  std::string transform = "translate(" + std::to_string(dx) + " " +
-
696  std::to_string(dy) + ")";
-
697  std::vector< std::string > transform_order =
-
698  getTransformOrder(node);
-
699  transform_order.push_back(transform);
-
700  shape->setTransforms(transform_order);
-
701  } else
-
702  shape->setTransforms(getTransformOrder(node));
-
703  if (id != "") {
-
704  shape->setGradient(parseGradient(id));
-
705  }
-
706  }
-
707  return shape;
-
708 }
-
class Plyline * parsePolyline(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the polyline element.
Definition: Parser.cpp:769
-
class Ell * parseEllipse(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the ellipse element.
Definition: Parser.cpp:743
-
Rect * parseRect(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the rect element.
Definition: Parser.cpp:719
-
Text * parseText(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the text element.
Definition: Parser.cpp:784
-
Path * parsePath(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the path element.
Definition: Parser.cpp:807
-
class Plygon * parsePolygon(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the polygon element.
Definition: Parser.cpp:754
-
Line * parseLine(rapidxml::xml_node<> *node, const mColor &stroke_color, float stroke_width)
Parses the line element.
Definition: Parser.cpp:710
-
Circle * parseCircle(rapidxml::xml_node<> *node, const mColor &fill_color, const mColor &stroke_color, float stroke_width)
Parses the circle element.
Definition: Parser.cpp:732
+

Definition at line 727 of file Parser.cpp.

+
727  {
+
728  SVGElement *shape = NULL;
+
729  std::string type = node->name();
+
730  std::string id = "";
+
731  ColorShape stroke_color = parseColor(node, "stroke", id);
+
732  ColorShape fill_color = parseColor(node, "fill", id);
+
733  float stroke_width = getFloatAttribute(node, "stroke-width");
+
734  // Determine the type of SVG element and create the corresponding object
+
735  if (type == "line") {
+
736  shape = parseLine(node, stroke_color, stroke_width);
+
737  } else if (type == "rect") {
+
738  shape = parseRect(node, fill_color, stroke_color, stroke_width);
+
739  } else if (type == "circle") {
+
740  shape = parseCircle(node, fill_color, stroke_color, stroke_width);
+
741  } else if (type == "ellipse") {
+
742  shape = parseEllipse(node, fill_color, stroke_color, stroke_width);
+
743  } else if (type == "polygon") {
+
744  shape = parsePolygon(node, fill_color, stroke_color, stroke_width);
+
745  } else if (type == "polyline") {
+
746  shape = parsePolyline(node, fill_color, stroke_color, stroke_width);
+
747  } else if (type == "path") {
+
748  shape = parsePath(node, fill_color, stroke_color, stroke_width);
+
749  } else if (type == "text") {
+
750  shape = parseText(node, fill_color, stroke_color, stroke_width);
+
751  }
+
752 
+
753  // Apply transformations and gradient if applicable
+
754  if (shape != NULL) {
+
755  if (type == "text") {
+
756  float dx = getFloatAttribute(node, "dx");
+
757  float dy = getFloatAttribute(node, "dy");
+
758  std::string transform = "translate(" + std::to_string(dx) + " " +
+
759  std::to_string(dy) + ")";
+
760  std::vector< std::string > transform_order =
+
761  getTransformOrder(node);
+
762  transform_order.push_back(transform);
+
763  shape->setTransforms(transform_order);
+
764  } else
+
765  shape->setTransforms(getTransformOrder(node));
+
766  if (id != "") {
+
767  shape->setGradient(parseGradient(id));
+
768  }
+
769  }
+
770  return shape;
+
771 }
+
class Plygon * parsePolygon(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the polygon element.
Definition: Parser.cpp:825
+
class Plyline * parsePolyline(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the polyline element.
Definition: Parser.cpp:842
+
Line * parseLine(rapidxml::xml_node<> *node, const ColorShape &stroke_color, float stroke_width)
Parses the line element.
Definition: Parser.cpp:774
+
Text * parseText(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the text element.
Definition: Parser.cpp:859
+
class Ell * parseEllipse(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the ellipse element.
Definition: Parser.cpp:812
+
Rect * parseRect(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the rect element.
Definition: Parser.cpp:784
+
Path * parsePath(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the path element.
Definition: Parser.cpp:884
+
Circle * parseCircle(rapidxml::xml_node<> *node, const ColorShape &fill_color, const ColorShape &stroke_color, float stroke_width)
Parses the circle element.
Definition: Parser.cpp:799
void setGradient(Gradient *gradient)
Sets the gradient of the shape.
Definition: SVGElement.cpp:79
- -

◆ parseText()

+ +

◆ parseText()

@@ -1949,13 +1988,13 @@

- + - + @@ -1989,28 +2028,28 @@

Returns
The text element
-

Definition at line 784 of file Parser.cpp.

-
785  {
-
786  float x = getFloatAttribute(node, "x");
-
787  float y = getFloatAttribute(node, "y");
-
788  float font_size = getFloatAttribute(node, "font-size");
-
789  std::string text = getAttribute(node, "text");
-
790 
-
791  Text *shape =
-
792  new Text(Vector2Df(x - (font_size * 6.6 / 40),
-
793  y - font_size + (font_size * 4.4 / 40)),
-
794  text, font_size, fill_color, stroke_color, stroke_width);
-
795 
-
796  std::string anchor = getAttribute(node, "text-anchor");
-
797  anchor.erase(std::remove(anchor.begin(), anchor.end(), ' '), anchor.end());
-
798  shape->setAnchor(anchor);
-
799 
-
800  std::string style = getAttribute(node, "font-style");
-
801  style.erase(std::remove(style.begin(), style.end(), ' '), style.end());
-
802  shape->setFontStyle(style);
-
803 
-
804  return shape;
-
805 }
+

Definition at line 859 of file Parser.cpp.

+
861  {
+
862  float x = getFloatAttribute(node, "x");
+
863  float y = getFloatAttribute(node, "y");
+
864  float font_size = getFloatAttribute(node, "font-size");
+
865  std::string text = getAttribute(node, "text");
+
866 
+
867  Text *shape =
+
868  new Text(Vector2Df(x - (font_size * 6.6 / 40),
+
869  y - font_size + (font_size * 4.4 / 40)),
+
870  text, font_size, fill_color, stroke_color, stroke_width);
+
871 
+
872  std::string anchor = getAttribute(node, "text-anchor");
+
873  anchor.erase(std::remove(anchor.begin(), anchor.end(), ' '), anchor.end());
+
874  shape->setAnchor(anchor);
+
875 
+
876  std::string style = getAttribute(node, "font-style");
+
877  style.erase(std::remove(style.begin(), style.end(), ' '), style.end());
+
878  shape->setFontStyle(style);
+
879 
+
880  return shape;
+
881 }
Represents text in 2D space.
Definition: Text.hpp:12
void setFontStyle(std::string style)
Sets the style of the text.
Definition: Text.cpp:22
void setAnchor(std::string anchor)
Sets the anchor of the text.
Definition: Text.cpp:18
@@ -2035,8 +2074,8 @@

Note
This function is used for debugging.
-

Definition at line 828 of file Parser.cpp.

-
828 { root->printData(); }
+

Definition at line 908 of file Parser.cpp.

+
908 { root->printData(); }
virtual void printData() const
Prints the data of the shape.
Definition: SVGElement.cpp:47
@@ -2063,7 +2102,7 @@

The gradients of the SVG file.

-

Definition at line 277 of file Parser.hpp.

+

Definition at line 279 of file Parser.hpp.

diff --git a/docs/classParser.js b/docs/classParser.js index 882e179..6f32556 100644 --- a/docs/classParser.js +++ b/docs/classParser.js @@ -10,26 +10,26 @@ var classParser = [ "getInstance", "classParser.html#a06952fa44f19fdb573c1355ac26454c5", null ], [ "getRoot", "classParser.html#a59ed4455eaec306cde11939785c4e71a", null ], [ "getTransformOrder", "classParser.html#a99df58e649089762bf434502173716d6", null ], - [ "getViewBox", "classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69", null ], + [ "getViewBox", "classParser.html#a231c2e522115ae9a4fd9629285ed28e1", null ], [ "getViewPort", "classParser.html#a009fbe10a1b9b58a65be44634335a062", null ], - [ "parseCircle", "classParser.html#ab7776f740b7d63c388a086c8b8ecccd0", null ], - [ "parseColor", "classParser.html#a18d5a9aa35bd124023a060940486e183", null ], + [ "parseCircle", "classParser.html#af634ef273fb8c221a832688c19244adf", null ], + [ "parseColor", "classParser.html#a2e5e2efef794624abaa9bf390e234950", null ], [ "parseElements", "classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af", null ], - [ "parseEllipse", "classParser.html#a0af0085ee5e20739bdf23a5b685642b6", null ], + [ "parseEllipse", "classParser.html#aa2249c02eee1ce310158a3450450ff3e", null ], [ "parseGradient", "classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3", null ], - [ "parseLine", "classParser.html#a95e84ae219109769fae08702381acf78", null ], - [ "parsePath", "classParser.html#a6f80728e7a771d2653baf1b453b655d9", null ], + [ "parseLine", "classParser.html#a741b866e359471784380c23c5b71d9da", null ], + [ "parsePath", "classParser.html#af4b65cb5b02ac856daba07387f67c6aa", null ], [ "parsePathPoints", "classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3", null ], [ "parsePoints", "classParser.html#af408a2ef7b27ceed0547093d73e6b2eb", null ], - [ "parsePolygon", "classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5", null ], - [ "parsePolyline", "classParser.html#a03766f0f9f6ebdead0474973d3ac50aa", null ], - [ "parseRect", "classParser.html#a20352ab58a59e61f6da1b4d20861907d", null ], + [ "parsePolygon", "classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359", null ], + [ "parsePolyline", "classParser.html#a5dd4328e960681889155a13f699200ce", null ], + [ "parseRect", "classParser.html#ad7063613f30bc89a4a9197cd664fe9d4", null ], [ "parseShape", "classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e", null ], - [ "parseText", "classParser.html#a539bda46a2832a22741105c9299c12cb", null ], + [ "parseText", "classParser.html#a9ed27a4ee0360f437acb83553dd76c9f", null ], [ "printShapesData", "classParser.html#a3d8927f2e26abf6a63bd850c154b23c6", null ], [ "gradients", "classParser.html#a7f085da78317baf2cc61e6e92b4b29c8", null ], [ "instance", "classParser.html#ae3a28c02c18171f4e83fae54b9f21a90", null ], [ "root", "classParser.html#a13a5e2fdac62670c1584de1edbba77f2", null ], - [ "viewbox", "classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7", null ], + [ "viewbox", "classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666", null ], [ "viewport", "classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a", null ] ]; \ No newline at end of file diff --git a/docs/classParser__coll__graph.map b/docs/classParser__coll__graph.map index 5086395..7dc5f7a 100644 --- a/docs/classParser__coll__graph.map +++ b/docs/classParser__coll__graph.map @@ -1,7 +1,8 @@ - + - + + diff --git a/docs/classParser__coll__graph.md5 b/docs/classParser__coll__graph.md5 index f01d584..c90d000 100644 --- a/docs/classParser__coll__graph.md5 +++ b/docs/classParser__coll__graph.md5 @@ -1 +1 @@ -05c158b829a8e9183f51bdd787bd2a08 \ No newline at end of file +623b500ca6f49f264476c196d915684c \ No newline at end of file diff --git a/docs/classParser__coll__graph.svg b/docs/classParser__coll__graph.svg index 1c61f4c..b1eba90 100644 --- a/docs/classParser__coll__graph.svg +++ b/docs/classParser__coll__graph.svg @@ -4,25 +4,25 @@ - + Parser Node1 - -Parser + +Parser - + Node1->Node1 - - - instance + + + instance @@ -36,8 +36,8 @@ Node2->Node1 - - + + viewport @@ -59,12 +59,12 @@ Node3->Node1 - - - root + + + root - + Node3->Node3 @@ -89,34 +89,50 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node3 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow + + + +Node6 + + +ViewBox + + + + + +Node6->Node1 + + + viewbox diff --git a/docs/classPath-members.html b/docs/classPath-members.html index a02e49d..0c982bd 100644 --- a/docs/classPath-members.html +++ b/docs/classPath-members.html @@ -126,15 +126,15 @@

mColor Parser::parseColor ColorShape Parser::parseColor ( rapidxml::xml_node<> *  node, const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
const mColorconst ColorShape fill_color,
const mColorconst ColorShape stroke_color,
- + - + - + @@ -142,24 +142,24 @@ - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(PathPoint point)Path
fillSVGElementprivate
fillSVGElementprivate
fill_rulePathprivate
getClass() const overridePathvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPath
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPath
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Path(const mColor &fill, const mColor &stroke, float stroke_width)Path
Path(const ColorShape &fill, const ColorShape &stroke, float stroke_width)Path
pointsPathprivate
positionSVGElementprivate
printData() const overridePathvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)Path
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPath.html b/docs/classPath.html index 35e881a..fe68bd9 100644 --- a/docs/classPath.html +++ b/docs/classPath.html @@ -133,20 +133,21 @@
Inheritance diagram for Path:
-
+
+
[legend]
Collaboration diagram for Path:
-
+
[legend]
- - - + + + @@ -170,12 +171,12 @@ virtual  - - - - - - + + + + + + @@ -185,12 +186,12 @@ - - - - - - + + + + + + @@ -242,12 +243,12 @@ - - - - - - + + + + + + @@ -260,8 +261,8 @@

Definition at line 28 of file Path.hpp.

Constructor & Destructor Documentation

- -

◆ Path()

+ +

◆ Path()

@@ -269,13 +270,13 @@

Path::Path

- + - + @@ -303,11 +304,11 @@

Definition at line 3 of file Path.cpp.

-
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPath.js b/docs/classPath.js index ad8ec6f..e81bb55 100644 --- a/docs/classPath.js +++ b/docs/classPath.js @@ -1,6 +1,6 @@ var classPath = [ - [ "Path", "classPath.html#a089f2f59cc5574ce9e93826891044378", null ], + [ "Path", "classPath.html#ad8dab023d3009f51f001fb930c2334c2", null ], [ "addPoint", "classPath.html#ad4273c2a1b288fe43dd86375afc16f66", null ], [ "getClass", "classPath.html#ac99ffb44f19586a10ee39aa70fd4a260", null ], [ "getFillRule", "classPath.html#a9395325e65f86fd2a4be2dc24408753a", null ], diff --git a/docs/classPath__coll__graph.map b/docs/classPath__coll__graph.map index ce5fae0..7b3398c 100644 --- a/docs/classPath__coll__graph.map +++ b/docs/classPath__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classPath__coll__graph.md5 b/docs/classPath__coll__graph.md5 index 7f0387b..3b3d0cb 100644 --- a/docs/classPath__coll__graph.md5 +++ b/docs/classPath__coll__graph.md5 @@ -1 +1 @@ -0fc4e47c8228a07aa79d8250700028df \ No newline at end of file +434bf4554cc7a0b3bfcfacccfa8fd6dd \ No newline at end of file diff --git a/docs/classPath__coll__graph.svg b/docs/classPath__coll__graph.svg index 0b6d530..f3f196c 100644 --- a/docs/classPath__coll__graph.svg +++ b/docs/classPath__coll__graph.svg @@ -4,8 +4,8 @@ - + Path @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPlygon-members.html b/docs/classPlygon-members.html index 79ea9fc..4933afc 100644 --- a/docs/classPlygon-members.html +++ b/docs/classPlygon-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Path (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Path object. More...
 
 Path (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Path object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -142,25 +142,25 @@ - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const overridePlygonvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Plygon(mColor fill, mColor stroke, float stroke_width)Plygon
Plygon(ColorShape fill, ColorShape stroke, float stroke_width)Plygon
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPlygon.html b/docs/classPlygon.html index d89fd72..69f583b 100644 --- a/docs/classPlygon.html +++ b/docs/classPlygon.html @@ -132,20 +132,21 @@
Inheritance diagram for Plygon:
-
+
+
[legend]
Collaboration diagram for Plygon:
-
+
[legend]
- - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -228,19 +229,19 @@ - - - + + + - - - - - - + + + + + + @@ -262,8 +263,8 @@

Definition at line 12 of file Polygon.hpp.

Constructor & Destructor Documentation

- -

◆ Plygon()

+ +

◆ Plygon()

@@ -271,13 +272,13 @@

Plygon::Plygon

- + - + @@ -305,11 +306,11 @@

Definition at line 3 of file Polygon.cpp.

-
-
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPlygon.js b/docs/classPlygon.js index 1b7c07f..9e602e1 100644 --- a/docs/classPlygon.js +++ b/docs/classPlygon.js @@ -1,5 +1,5 @@ var classPlygon = [ - [ "Plygon", "classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd", null ], + [ "Plygon", "classPlygon.html#ade144fd5857f80e3b345e2ba538b017d", null ], [ "getClass", "classPlygon.html#aab00a0d0230ea320271e96c326c6b919", null ] ]; \ No newline at end of file diff --git a/docs/classPlygon__coll__graph.map b/docs/classPlygon__coll__graph.map index 71c0076..e15522d 100644 --- a/docs/classPlygon__coll__graph.map +++ b/docs/classPlygon__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classPlygon__coll__graph.md5 b/docs/classPlygon__coll__graph.md5 index 5ab6465..4e5a334 100644 --- a/docs/classPlygon__coll__graph.md5 +++ b/docs/classPlygon__coll__graph.md5 @@ -1 +1 @@ -8536278a428191f058cbfd035fae0c5b \ No newline at end of file +75fb883a1fbb41675f9027b30df4e300 \ No newline at end of file diff --git a/docs/classPlygon__coll__graph.svg b/docs/classPlygon__coll__graph.svg index 0eeeafd..473d57d 100644 --- a/docs/classPlygon__coll__graph.svg +++ b/docs/classPlygon__coll__graph.svg @@ -4,8 +4,8 @@ - + Plygon @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -89,34 +89,34 @@ Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPlyline-members.html b/docs/classPlyline-members.html index d14c0b1..106ce88 100644 --- a/docs/classPlyline-members.html +++ b/docs/classPlyline-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Plygon (mColor fill, mColor stroke, float stroke_width)
 Constructs a Polygon object. More...
 
 Plygon (ColorShape fill, ColorShape stroke, float stroke_width)
 Constructs a Polygon object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PolyShape
 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from PolyShape
std::vector< Vector2Dfpoints
(mColor ColorShape  fill,
mColor ColorShape  stroke,
- + - + - + @@ -142,25 +142,25 @@ - + - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const overridePlylinevirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
getTransforms() constSVGElement
gradientSVGElementprivate
parentSVGElementprotected
Plyline(const mColor &fill, const mColor &stroke, float stroke_width)Plyline
Plyline(const ColorShape &fill, const ColorShape &stroke, float stroke_width)Plyline
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPlyline.html b/docs/classPlyline.html index 4887647..6f8911f 100644 --- a/docs/classPlyline.html +++ b/docs/classPlyline.html @@ -132,20 +132,21 @@
Inheritance diagram for Plyline:
-
+
+
[legend]
Collaboration diagram for Plyline:
-
+
[legend]
- - - + + + @@ -176,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -191,12 +192,12 @@ - - - - - - + + + + + + @@ -228,19 +229,19 @@ - - - + + + - - - - - - + + + + + + @@ -262,8 +263,8 @@

Definition at line 12 of file Polyline.hpp.

Constructor & Destructor Documentation

- -

◆ Plyline()

+ +

◆ Plyline()

@@ -271,13 +272,13 @@

Plyline::Plyline

- + - + @@ -305,11 +306,11 @@

Definition at line 3 of file Polyline.cpp.

-
-
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)
Constructs a PolyShape object.
Definition: PolyShape.cpp:3
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
@@ -342,8 +343,8 @@

PolyShape.

-

Definition at line 6 of file Polyline.cpp.

-
6 { return "Polyline"; }
+

Definition at line 7 of file Polyline.cpp.

+
7 { return "Polyline"; }
diff --git a/docs/classPlyline.js b/docs/classPlyline.js index 8281f55..861eb1e 100644 --- a/docs/classPlyline.js +++ b/docs/classPlyline.js @@ -1,5 +1,5 @@ var classPlyline = [ - [ "Plyline", "classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3", null ], + [ "Plyline", "classPlyline.html#a248be9e58f3122f28c3828ed178ab863", null ], [ "getClass", "classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9", null ] ]; \ No newline at end of file diff --git a/docs/classPlyline__coll__graph.map b/docs/classPlyline__coll__graph.map index 01053f2..3135224 100644 --- a/docs/classPlyline__coll__graph.map +++ b/docs/classPlyline__coll__graph.map @@ -4,5 +4,5 @@ - + diff --git a/docs/classPlyline__coll__graph.md5 b/docs/classPlyline__coll__graph.md5 index 53602d5..b862d6c 100644 --- a/docs/classPlyline__coll__graph.md5 +++ b/docs/classPlyline__coll__graph.md5 @@ -1 +1 @@ -f0ed404981477147a32211aec4575635 \ No newline at end of file +63ca03c897e86b642b5807fff7f186ac \ No newline at end of file diff --git a/docs/classPlyline__coll__graph.svg b/docs/classPlyline__coll__graph.svg index 068048a..ce9513a 100644 --- a/docs/classPlyline__coll__graph.svg +++ b/docs/classPlyline__coll__graph.svg @@ -4,8 +4,8 @@ - + Plyline @@ -48,7 +48,7 @@ - + Node3->Node3 @@ -89,34 +89,34 @@ Node6 - - -mColor + + +ColorShape - + Node6->Node3 - - - fill -stroke + + + fill +stroke - + Node6->Node6 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classPolyShape-members.html b/docs/classPolyShape-members.html index b935adf..83d0d38 100644 --- a/docs/classPolyShape-members.html +++ b/docs/classPolyShape-members.html @@ -126,15 +126,15 @@

Public Member Functions

 Plyline (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Polyline object. More...
 
 Plyline (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Polyline object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PolyShape
 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from PolyShape
std::vector< Vector2Dfpoints
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -143,23 +143,23 @@ - + - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
addPoint(const Vector2Df &point)PolyShapevirtual
fillSVGElementprivate
fillSVGElementprivate
fill_rulePolyShapeprotected
getClass() const =0PolyShapepure virtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getFillRule() constPolyShape
getGradient() constSVGElement
getMaxBound() const overridePolyShapevirtual
getMinBound() const overridePolyShapevirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPoints() constPolyShape
gradientSVGElementprivate
parentSVGElementprotected
pointsPolyShapeprotected
PolyShape(const mColor &fill, const mColor &stroke, float stroke_width)PolyShapeprotected
PolyShape(const ColorShape &fill, const ColorShape &stroke, float stroke_width)PolyShapeprotected
positionSVGElementprivate
printData() const overridePolyShapevirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setFillRule(std::string fill_rule)PolyShape
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classPolyShape.html b/docs/classPolyShape.html index ac41d52..585f208 100644 --- a/docs/classPolyShape.html +++ b/docs/classPolyShape.html @@ -140,7 +140,7 @@
Collaboration diagram for PolyShape:
-
+
[legend]
@@ -175,12 +175,12 @@ virtual  - - - - - - + + + + + + @@ -190,12 +190,12 @@ - - - - - - + + + + + + @@ -226,19 +226,19 @@
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
- - - + + + - - - - - - + + + + + +

Protected Member Functions

 PolyShape (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
 PolyShape (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a PolyShape object. More...
 
- Protected Member Functions inherited from SVGElement
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
@@ -262,8 +262,8 @@

Definition at line 12 of file PolyShape.hpp.

Constructor & Destructor Documentation

- -

◆ PolyShape()

+ +

◆ PolyShape()

@@ -274,13 +274,13 @@

PolyShape::PolyShape

- + - + @@ -313,11 +313,11 @@

Definition at line 3 of file PolyShape.cpp.

-
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
+
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classPolyShape.js b/docs/classPolyShape.js index 4958756..e269575 100644 --- a/docs/classPolyShape.js +++ b/docs/classPolyShape.js @@ -1,6 +1,6 @@ var classPolyShape = [ - [ "PolyShape", "classPolyShape.html#a6fd054647bea080272ed79bbea7080ac", null ], + [ "PolyShape", "classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45", null ], [ "addPoint", "classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55", null ], [ "getClass", "classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b", null ], [ "getFillRule", "classPolyShape.html#acac99a28e69ee5020eed782175a5a355", null ], diff --git a/docs/classPolyShape__coll__graph.map b/docs/classPolyShape__coll__graph.map index 7b5f923..80e3de1 100644 --- a/docs/classPolyShape__coll__graph.map +++ b/docs/classPolyShape__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classPolyShape__coll__graph.md5 b/docs/classPolyShape__coll__graph.md5 index ad241b3..a128226 100644 --- a/docs/classPolyShape__coll__graph.md5 +++ b/docs/classPolyShape__coll__graph.md5 @@ -1 +1 @@ -1b3228cc01eb2b29188f8aa7284181bc \ No newline at end of file +23a2e1893a89b0636a1834ebdf8458f1 \ No newline at end of file diff --git a/docs/classPolyShape__coll__graph.svg b/docs/classPolyShape__coll__graph.svg index 8667c73..40c51d0 100644 --- a/docs/classPolyShape__coll__graph.svg +++ b/docs/classPolyShape__coll__graph.svg @@ -4,8 +4,8 @@ - + PolyShape @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -74,34 +74,34 @@ Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classRect-members.html b/docs/classRect-members.html index 25e1804..7705f10 100644 --- a/docs/classRect-members.html +++ b/docs/classRect-members.html @@ -125,14 +125,14 @@

This is the complete list of members for Rect, including all inherited members.

Protected Attributes

(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + - + - + @@ -145,11 +145,11 @@ - - + + - + @@ -157,11 +157,11 @@ - + - - + + diff --git a/docs/classRect.html b/docs/classRect.html index 85f08b7..8afccac 100644 --- a/docs/classRect.html +++ b/docs/classRect.html @@ -139,15 +139,15 @@
Collaboration diagram for Rect:
-
+
[legend]
addElement(SVGElement *element)SVGElementvirtual
fillSVGElementprivate
fillSVGElementprivate
getClass() const overrideRectvirtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getHeight() constRect
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
positionSVGElementprivate
printData() const overrideRectvirtual
radiusRectprivate
Rect(float width, float height, Vector2Df position, Vector2Df radius, const mColor &fill, const mColor &stroke, float stroke_width)Rect
setFillColor(const mColor &color)SVGElement
Rect(float width, float height, Vector2Df position, Vector2Df radius, const ColorShape &fill, const ColorShape &stroke, float stroke_width)Rect
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setHeight(float height)Rect
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setRadius(const Vector2Df &radius)Rect
setTransforms(const std::vector< std::string > &transforms)SVGElement
setWidth(float width)Rect
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
widthRectprivate
~SVGElement()=defaultSVGElementvirtual
- - - + + + @@ -177,12 +177,12 @@ virtual  - - - - - - + + + + + + @@ -192,12 +192,12 @@ - - - - - - + + + + + + @@ -253,12 +253,12 @@ - - - - - - + + + + + + @@ -271,8 +271,8 @@

Definition at line 13 of file Rect.hpp.

Constructor & Destructor Documentation

- -

◆ Rect()

+ +

◆ Rect()

@@ -304,13 +304,13 @@

- + - + @@ -342,16 +342,16 @@

Definition at line 3 of file Rect.cpp.

-
+
float height
Height of the rectangle.
Definition: Rect.hpp:16
Vector2Df radius
Radii of the rectangle in the x and y directions.
Definition: Rect.hpp:17
float width
Width of the rectangle.
Definition: Rect.hpp:15
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
SVGElement()
Constructs a Shape object.
Definition: SVGElement.cpp:5
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
diff --git a/docs/classRect.js b/docs/classRect.js index 7423ce6..463cc95 100644 --- a/docs/classRect.js +++ b/docs/classRect.js @@ -1,6 +1,6 @@ var classRect = [ - [ "Rect", "classRect.html#ad52d66e844d848d0e95f744b697e7beb", null ], + [ "Rect", "classRect.html#ab8ceb8946210a2779862a66ad8d43397", null ], [ "getClass", "classRect.html#a4f6ba1c3eef4054847a89da472f392cd", null ], [ "getHeight", "classRect.html#a418fffe5bb9368f4e158b63e13faba16", null ], [ "getRadius", "classRect.html#a31ca84cc8755233b5e61d22189f637b0", null ], diff --git a/docs/classRect__coll__graph.map b/docs/classRect__coll__graph.map index e37b9f4..99af263 100644 --- a/docs/classRect__coll__graph.map +++ b/docs/classRect__coll__graph.map @@ -3,5 +3,5 @@ - + diff --git a/docs/classRect__coll__graph.md5 b/docs/classRect__coll__graph.md5 index bd2ddf6..0b8c68c 100644 --- a/docs/classRect__coll__graph.md5 +++ b/docs/classRect__coll__graph.md5 @@ -1 +1 @@ -428634443f6b388d85bd2492f5c91974 \ No newline at end of file +dfe10046906fe4c6ea620488d42be1e7 \ No newline at end of file diff --git a/docs/classRect__coll__graph.svg b/docs/classRect__coll__graph.svg index 5af2819..4c5ff6c 100644 --- a/docs/classRect__coll__graph.svg +++ b/docs/classRect__coll__graph.svg @@ -4,8 +4,8 @@ - + Rect @@ -33,7 +33,7 @@ - + Node2->Node2 @@ -58,9 +58,9 @@ Node3->Node2 - - - position + + + position @@ -76,39 +76,39 @@ Node4->Node2 - gradient + gradient Node5 - - -mColor + + +ColorShape - + Node5->Node2 - - - fill -stroke + + + fill +stroke - + Node5->Node5 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classRenderer.html b/docs/classRenderer.html index dddd21a..9978c80 100644 --- a/docs/classRenderer.html +++ b/docs/classRenderer.html @@ -135,7 +135,8 @@
Collaboration diagram for Renderer:
-
+
+
[legend]

Public Member Functions

 Rect (float width, float height, Vector2Df position, Vector2Df radius, const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Rect object. More...
 
 Rect (float width, float height, Vector2Df position, Vector2Df radius, const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Rect object. More...
 
std::string getClass () const override
 Gets the type of the shape. More...
 
~SVGElement ()=default
 Virtual constructor.
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
- Protected Attributes inherited from SVGElement
SVGElementparent
const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- - + + @@ -158,6 +158,8 @@ + + diff --git a/docs/functions.html b/docs/functions.html index faf72c1..6ca0c4b 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -121,7 +121,7 @@

- a -

@@ -257,28 +258,28 @@

Definition at line 50 of file Renderer.cpp.

-
51  {
-
52  for (auto type : transform_order) {
-
53  if (type.find("translate") != std::string::npos) {
-
54  float trans_x = getTranslate(type).first,
-
55  trans_y = getTranslate(type).second;
-
56  graphics.TranslateTransform(trans_x, trans_y);
-
57  } else if (type.find("rotate") != std::string::npos) {
-
58  float degree = getRotate(type);
-
59  graphics.RotateTransform(degree);
-
60  } else if (type.find("scale") != std::string::npos) {
-
61  if (type.find(",") != std::string::npos) {
-
62  float scale_x = getScaleXY(type).first,
-
63  scale_y = getScaleXY(type).second;
-
64  graphics.ScaleTransform(scale_x, scale_y);
-
65  } else {
-
66  float scale = getScale(type);
-
67  graphics.ScaleTransform(scale, scale);
-
68  }
-
69  }
-
70  }
-
71 }
+

Definition at line 55 of file Renderer.cpp.

+
56  {
+
57  for (auto type : transform_order) {
+
58  if (type.find("translate") != std::string::npos) {
+
59  float trans_x = getTranslate(type).first,
+
60  trans_y = getTranslate(type).second;
+
61  graphics.TranslateTransform(trans_x, trans_y);
+
62  } else if (type.find("rotate") != std::string::npos) {
+
63  float degree = getRotate(type);
+
64  graphics.RotateTransform(degree);
+
65  } else if (type.find("scale") != std::string::npos) {
+
66  if (type.find(",") != std::string::npos) {
+
67  float scale_x = getScaleXY(type).first,
+
68  scale_y = getScaleXY(type).second;
+
69  graphics.ScaleTransform(scale_x, scale_y);
+
70  } else {
+
71  float scale = getScale(type);
+
72  graphics.ScaleTransform(scale, scale);
+
73  }
+
74  }
+
75  }
+
76 }
@@ -325,38 +326,42 @@

Definition at line 673 of file Renderer.cpp.

-
675  {
-
676  for (auto type : transform_order) {
-
677  if (type.find("translate") != std::string::npos) {
-
678  float trans_x = getTranslate(type).first,
-
679  trans_y = getTranslate(type).second;
-
680  brush->TranslateTransform(trans_x, trans_y);
-
681  } else if (type.find("rotate") != std::string::npos) {
-
682  float degree = getRotate(type);
-
683  brush->RotateTranform(degree);
-
684  } else if (type.find("scale") != std::string::npos) {
-
685  if (type.find(",") != std::string::npos) {
-
686  float scale_x = getScaleXY(type).first,
-
687  scale_y = getScaleXY(type).second;
-
688  brush->ScaleTransform(scale_x, scale_y);
-
689  } else {
-
690  float scale = getScale(type);
-
691  brush->ScaleTransform(scale, scale);
-
692  }
-
693  } else if (type.find("matrix") != std::string::npos) {
-
694  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
695  if (type.find(",") != std::string::npos) {
-
696  type.erase(std::remove(type.begin(), type.end(), ','),
-
697  type.end());
-
698  }
-
699  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
-
700  &e, &f);
-
701  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
702  brush->SetTransform(&matrix);
-
703  }
-
704  }
-
705 }
+

Definition at line 791 of file Renderer.cpp.

+
793  {
+
794  for (auto type : transform_order) {
+
795  if (type.find("translate") != std::string::npos) {
+
796  // Apply translation transformation
+
797  float trans_x = getTranslate(type).first,
+
798  trans_y = getTranslate(type).second;
+
799  brush->TranslateTransform(trans_x, trans_y);
+
800  } else if (type.find("rotate") != std::string::npos) {
+
801  // Apply rotation transformation
+
802  float degree = getRotate(type);
+
803  brush->RotateTranform(degree);
+
804  } else if (type.find("scale") != std::string::npos) {
+
805  // Apply scaling transformation
+
806  if (type.find(",") != std::string::npos) {
+
807  float scale_x = getScaleXY(type).first,
+
808  scale_y = getScaleXY(type).second;
+
809  brush->ScaleTransform(scale_x, scale_y);
+
810  } else {
+
811  float scale = getScale(type);
+
812  brush->ScaleTransform(scale, scale);
+
813  }
+
814  } else if (type.find("matrix") != std::string::npos) {
+
815  // Apply matrix transformation
+
816  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
817  if (type.find(",") != std::string::npos) {
+
818  type.erase(std::remove(type.begin(), type.end(), ','),
+
819  type.end());
+
820  }
+
821  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
+
822  &e, &f);
+
823  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
824  brush->SetTransform(&matrix);
+
825  }
+
826  }
+
827 }
@@ -403,38 +408,38 @@

Definition at line 707 of file Renderer.cpp.

-
709  {
-
710  for (auto type : transform_order) {
-
711  if (type.find("translate") != std::string::npos) {
-
712  float trans_x = getTranslate(type).first,
-
713  trans_y = getTranslate(type).second;
-
714  brush->TranslateTransform(trans_x, trans_y);
-
715  } else if (type.find("rotate") != std::string::npos) {
-
716  float degree = getRotate(type);
-
717  brush->RotateTransform(degree);
-
718  } else if (type.find("scale") != std::string::npos) {
-
719  if (type.find(",") != std::string::npos) {
-
720  float scale_x = getScaleXY(type).first,
-
721  scale_y = getScaleXY(type).second;
-
722  brush->ScaleTransform(scale_x, scale_y);
-
723  } else {
-
724  float scale = getScale(type);
-
725  brush->ScaleTransform(scale, scale);
-
726  }
-
727  } else if (type.find("matrix") != std::string::npos) {
-
728  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
729  if (type.find(",") != std::string::npos) {
-
730  type.erase(std::remove(type.begin(), type.end(), ','),
-
731  type.end());
-
732  }
-
733  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
-
734  &e, &f);
-
735  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
736  brush->SetTransform(&matrix);
-
737  }
-
738  }
-
739 }
+

Definition at line 830 of file Renderer.cpp.

+
832  {
+
833  for (auto type : transform_order) {
+
834  if (type.find("translate") != std::string::npos) {
+
835  float trans_x = getTranslate(type).first,
+
836  trans_y = getTranslate(type).second;
+
837  brush->TranslateTransform(trans_x, trans_y);
+
838  } else if (type.find("rotate") != std::string::npos) {
+
839  float degree = getRotate(type);
+
840  brush->RotateTransform(degree);
+
841  } else if (type.find("scale") != std::string::npos) {
+
842  if (type.find(",") != std::string::npos) {
+
843  float scale_x = getScaleXY(type).first,
+
844  scale_y = getScaleXY(type).second;
+
845  brush->ScaleTransform(scale_x, scale_y);
+
846  } else {
+
847  float scale = getScale(type);
+
848  brush->ScaleTransform(scale, scale);
+
849  }
+
850  } else if (type.find("matrix") != std::string::npos) {
+
851  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
852  if (type.find(",") != std::string::npos) {
+
853  type.erase(std::remove(type.begin(), type.end(), ','),
+
854  type.end());
+
855  }
+
856  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b, &c, &d,
+
857  &e, &f);
+
858  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
859  brush->SetTransform(&matrix);
+
860  }
+
861  }
+
862 }
@@ -473,62 +478,67 @@

Definition at line 73 of file Renderer.cpp.

-
73  {
-
74  for (auto shape : group->getElements()) {
-
75  Gdiplus::Matrix original;
-
76  graphics.GetTransform(&original);
-
77  applyTransform(shape->getTransforms(), graphics);
-
78  if (shape->getClass() == "Group") {
-
79  Group* group = dynamic_cast< Group* >(shape);
-
80  draw(graphics, group);
-
81  } else if (shape->getClass() == "Polyline") {
-
82  Plyline* polyline = dynamic_cast< Plyline* >(shape);
-
83  drawPolyline(graphics, polyline);
-
84  } else if (shape->getClass() == "Text") {
-
85  Text* text = dynamic_cast< Text* >(shape);
-
86  drawText(graphics, text);
-
87  } else if (shape->getClass() == "Rect") {
-
88  Rect* rectangle = dynamic_cast< Rect* >(shape);
-
89  drawRectangle(graphics, rectangle);
-
90  } else if (shape->getClass() == "Circle") {
-
91  Circle* circle = dynamic_cast< Circle* >(shape);
-
92  drawCircle(graphics, circle);
-
93  } else if (shape->getClass() == "Ellipse") {
-
94  Ell* ellipse = dynamic_cast< Ell* >(shape);
-
95  drawEllipse(graphics, ellipse);
-
96  } else if (shape->getClass() == "Line") {
-
97  Line* line = dynamic_cast< Line* >(shape);
-
98  drawLine(graphics, line);
-
99  } else if (shape->getClass() == "Polygon") {
-
100  Plygon* polygon = dynamic_cast< Plygon* >(shape);
-
101  drawPolygon(graphics, polygon);
-
102  } else if (shape->getClass() == "Path") {
-
103  Path* path = dynamic_cast< Path* >(shape);
-
104  drawPath(graphics, path);
-
105  }
-
106  graphics.SetTransform(&original);
-
107  }
-
108 }
+

Definition at line 79 of file Renderer.cpp.

+
79  {
+
80  for (auto shape : group->getElements()) {
+
81  // Store the original transformation matrix
+
82  Gdiplus::Matrix original;
+
83  graphics.GetTransform(&original);
+
84 
+
85  // Apply the transformations for the current shape
+
86  applyTransform(shape->getTransforms(), graphics);
+
87 
+
88  // Draw the specific shape based on its class
+
89  if (shape->getClass() == "Group") {
+
90  Group* group = dynamic_cast< Group* >(shape);
+
91  draw(graphics, group);
+
92  } else if (shape->getClass() == "Polyline") {
+
93  Plyline* polyline = dynamic_cast< Plyline* >(shape);
+
94  drawPolyline(graphics, polyline);
+
95  } else if (shape->getClass() == "Text") {
+
96  Text* text = dynamic_cast< Text* >(shape);
+
97  drawText(graphics, text);
+
98  } else if (shape->getClass() == "Rect") {
+
99  Rect* rectangle = dynamic_cast< Rect* >(shape);
+
100  drawRectangle(graphics, rectangle);
+
101  } else if (shape->getClass() == "Circle") {
+
102  Circle* circle = dynamic_cast< Circle* >(shape);
+
103  drawCircle(graphics, circle);
+
104  } else if (shape->getClass() == "Ellipse") {
+
105  Ell* ellipse = dynamic_cast< Ell* >(shape);
+
106  drawEllipse(graphics, ellipse);
+
107  } else if (shape->getClass() == "Line") {
+
108  Line* line = dynamic_cast< Line* >(shape);
+
109  drawLine(graphics, line);
+
110  } else if (shape->getClass() == "Polygon") {
+
111  Plygon* polygon = dynamic_cast< Plygon* >(shape);
+
112  drawPolygon(graphics, polygon);
+
113  } else if (shape->getClass() == "Path") {
+
114  Path* path = dynamic_cast< Path* >(shape);
+
115  drawPath(graphics, path);
+
116  }
+
117  graphics.SetTransform(&original);
+
118  }
+
119 }
Represents a circle in 2D space.
Definition: Circle.hpp:13
Represents an ellipse in 2D space.
Definition: Ellipse.hpp:12
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
std::vector< SVGElement * > getElements() const
Gets the vector of shapes in the composite group.
Definition: Group.cpp:22
Represents a line in 2D space.
Definition: Line.hpp:12
Represents a path element in 2D space.
Definition: Path.hpp:28
Represents a polygon in 2D space.
Definition: Polygon.hpp:12
Represents a polyline in 2D space.
Definition: Polyline.hpp:12
Represents a rectangle in 2D space.
Definition: Rect.hpp:13
-
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:73
-
void drawPolygon(Gdiplus::Graphics &graphics, Plygon *polygon) const
Draws a polygon shape using Gdiplus::Graphics.
Definition: Renderer.cpp:229
-
void drawPolyline(Gdiplus::Graphics &graphics, Plyline *polyline) const
Draws a polyline shape using Gdiplus::Graphics.
Definition: Renderer.cpp:322
-
void drawPath(Gdiplus::Graphics &graphics, Path *path) const
Draws a path shape using Gdiplus::Graphics.
Definition: Renderer.cpp:365
-
void drawText(Gdiplus::Graphics &graphics, Text *text) const
Draws text using Gdiplus::Graphics.
Definition: Renderer.cpp:267
-
void applyTransform(std::vector< std::string > transform_order, Gdiplus::Graphics &graphics) const
Utility function to apply a series of transformations to the graphics context.
Definition: Renderer.cpp:50
-
void drawCircle(Gdiplus::Graphics &graphics, Circle *circle) const
Draws a circle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:165
-
void drawLine(Gdiplus::Graphics &graphics, Line *line) const
Draws a line shape using Gdiplus::Graphics.
Definition: Renderer.cpp:110
-
void drawRectangle(Gdiplus::Graphics &graphics, Rect *rectangle) const
Draws a rectangle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:119
-
void drawEllipse(Gdiplus::Graphics &graphics, Ell *ellipse) const
Draws an ellipse shape using Gdiplus::Graphics.
Definition: Renderer.cpp:197
+
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:79
+
void drawPolygon(Gdiplus::Graphics &graphics, Plygon *polygon) const
Draws a polygon shape using Gdiplus::Graphics.
Definition: Renderer.cpp:270
+
void drawPolyline(Gdiplus::Graphics &graphics, Plyline *polyline) const
Draws a polyline shape using Gdiplus::Graphics.
Definition: Renderer.cpp:385
+
void drawPath(Gdiplus::Graphics &graphics, Path *path) const
Draws a path shape using Gdiplus::Graphics.
Definition: Renderer.cpp:438
+
void drawText(Gdiplus::Graphics &graphics, Text *text) const
Draws text using Gdiplus::Graphics.
Definition: Renderer.cpp:318
+
void applyTransform(std::vector< std::string > transform_order, Gdiplus::Graphics &graphics) const
Utility function to apply a series of transformations to the graphics context.
Definition: Renderer.cpp:55
+
void drawCircle(Gdiplus::Graphics &graphics, Circle *circle) const
Draws a circle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:192
+
void drawLine(Gdiplus::Graphics &graphics, Line *line) const
Draws a line shape using Gdiplus::Graphics.
Definition: Renderer.cpp:122
+
void drawRectangle(Gdiplus::Graphics &graphics, Rect *rectangle) const
Draws a rectangle shape using Gdiplus::Graphics.
Definition: Renderer.cpp:134
+
void drawEllipse(Gdiplus::Graphics &graphics, Ell *ellipse) const
Draws an ellipse shape using Gdiplus::Graphics.
Definition: Renderer.cpp:231
Represents text in 2D space.
Definition: Text.hpp:12
@@ -576,55 +586,61 @@

Definition at line 165 of file Renderer.cpp.

-
165  {
-
166  mColor outline_color = circle->getOutlineColor();
-
167  Gdiplus::Pen circle_outline(
-
168  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
169  outline_color.b),
-
170  circle->getOutlineThickness());
-
171  Vector2Df min_bound = circle->getMinBound();
-
172  Vector2Df max_bound = circle->getMaxBound();
-
173  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
174  max_bound.y - min_bound.y);
-
175  Gdiplus::Brush* circle_fill = getBrush(circle, bound);
-
176  if (Gdiplus::PathGradientBrush* brush =
-
177  dynamic_cast< Gdiplus::PathGradientBrush* >(circle_fill)) {
-
178  mColor color = circle->getGradient()->getStops().back().getColor();
-
179  Gdiplus::SolidBrush corner_fill(
-
180  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
181  graphics.FillEllipse(
-
182  &corner_fill, circle->getPosition().x - circle->getRadius().x,
-
183  circle->getPosition().y - circle->getRadius().y,
-
184  circle->getRadius().x * 2, circle->getRadius().y * 2);
-
185  }
-
186  graphics.FillEllipse(circle_fill,
-
187  circle->getPosition().x - circle->getRadius().x,
-
188  circle->getPosition().y - circle->getRadius().y,
-
189  circle->getRadius().x * 2, circle->getRadius().y * 2);
-
190  graphics.DrawEllipse(&circle_outline,
-
191  circle->getPosition().x - circle->getRadius().x,
-
192  circle->getPosition().y - circle->getRadius().y,
-
193  circle->getRadius().x * 2, circle->getRadius().x * 2);
-
194  delete circle_fill;
-
195 }
+

Definition at line 192 of file Renderer.cpp.

+
192  {
+
193  ColorShape outline_color = circle->getOutlineColor();
+
194  Gdiplus::Pen circle_outline(
+
195  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
196  outline_color.b),
+
197  circle->getOutlineThickness());
+
198 
+
199  // Create a bounding rectangle for the circle
+
200  Vector2Df min_bound = circle->getMinBound();
+
201  Vector2Df max_bound = circle->getMaxBound();
+
202  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
203  max_bound.y - min_bound.y);
+
204  Gdiplus::Brush* circle_fill = getBrush(circle, bound);
+
205 
+
206  // Check if the circle has a gradient fill
+
207  if (Gdiplus::PathGradientBrush* brush =
+
208  dynamic_cast< Gdiplus::PathGradientBrush* >(circle_fill)) {
+
209  ColorShape color = circle->getGradient()->getStops().back().getColor();
+
210  Gdiplus::SolidBrush corner_fill(
+
211  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
212  graphics.FillEllipse(
+
213  &corner_fill, circle->getPosition().x - circle->getRadius().x,
+
214  circle->getPosition().y - circle->getRadius().y,
+
215  circle->getRadius().x * 2, circle->getRadius().y * 2);
+
216  }
+
217 
+
218  graphics.FillEllipse(circle_fill,
+
219  circle->getPosition().x - circle->getRadius().x,
+
220  circle->getPosition().y - circle->getRadius().y,
+
221  circle->getRadius().x * 2, circle->getRadius().y * 2);
+
222  graphics.DrawEllipse(&circle_outline,
+
223  circle->getPosition().x - circle->getRadius().x,
+
224  circle->getPosition().y - circle->getRadius().y,
+
225  circle->getRadius().x * 2, circle->getRadius().x * 2);
+
226 
+
227  delete circle_fill;
+
228 }
+
Utility class for manipulating RGBA ColorShapes.
Definition: ColorShape.hpp:11
+
int r
Red component.
Definition: ColorShape.hpp:61
+
int g
Green component.
Definition: ColorShape.hpp:62
+
int a
Alpha (opacity) component.
Definition: ColorShape.hpp:64
+
int b
Blue component.
Definition: ColorShape.hpp:63
Vector2Df getRadius() const
Gets the radius of the ellipse.
Definition: Ellipse.cpp:13
Vector2Df getMaxBound() const override
Gets the maximum bounding box of the shape.
Definition: Ellipse.cpp:20
Vector2Df getMinBound() const override
Gets the minimum bounding box of the shape.
Definition: Ellipse.cpp:15
std::vector< Stop > getStops() const
Gets the stops of the gradient.
Definition: Gradient.cpp:7
-
Gdiplus::Brush * getBrush(SVGElement *shape, Gdiplus::RectF bound) const
Gets the Gdiplus::brush object for the shape fill.
Definition: Renderer.cpp:583
+
Gdiplus::Brush * getBrush(SVGElement *shape, Gdiplus::RectF bound) const
Gets the Gdiplus::brush object for the shape fill.
Definition: Renderer.cpp:683
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
Gradient * getGradient() const
Gets the gradient of the shape.
Definition: SVGElement.cpp:81
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
-
Utility class for manipulating RGBA mColors.
Definition: Color.hpp:11
-
int g
Green component.
Definition: Color.hpp:61
-
int r
Red component.
Definition: Color.hpp:60
-
int a
Alpha (opacity) component.
Definition: Color.hpp:63
-
int b
Blue component.
Definition: Color.hpp:62
@@ -671,38 +687,44 @@

Definition at line 197 of file Renderer.cpp.

-
197  {
-
198  mColor outline_color = ellipse->getOutlineColor();
-
199  Gdiplus::Pen ellipse_outline(
-
200  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
201  outline_color.b),
-
202  ellipse->getOutlineThickness());
-
203  Vector2Df min_bound = ellipse->getMinBound();
-
204  Vector2Df max_bound = ellipse->getMaxBound();
-
205  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
206  max_bound.y - min_bound.y);
-
207  Gdiplus::Brush* ellipse_fill = getBrush(ellipse, bound);
-
208  if (Gdiplus::PathGradientBrush* brush =
-
209  dynamic_cast< Gdiplus::PathGradientBrush* >(ellipse_fill)) {
-
210  mColor color = ellipse->getGradient()->getStops().back().getColor();
-
211  Gdiplus::SolidBrush corner_fill(
-
212  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
213  graphics.FillEllipse(
-
214  &corner_fill, ellipse->getPosition().x - ellipse->getRadius().x,
-
215  ellipse->getPosition().y - ellipse->getRadius().y,
-
216  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
217  }
-
218  graphics.FillEllipse(
-
219  ellipse_fill, ellipse->getPosition().x - ellipse->getRadius().x,
-
220  ellipse->getPosition().y - ellipse->getRadius().y,
-
221  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
222  graphics.DrawEllipse(
-
223  &ellipse_outline, ellipse->getPosition().x - ellipse->getRadius().x,
-
224  ellipse->getPosition().y - ellipse->getRadius().y,
-
225  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
-
226  delete ellipse_fill;
-
227 }
+

Definition at line 231 of file Renderer.cpp.

+
231  {
+
232  ColorShape outline_color = ellipse->getOutlineColor();
+
233 
+
234  Gdiplus::Pen ellipse_outline(
+
235  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
236  outline_color.b),
+
237  ellipse->getOutlineThickness());
+
238 
+
239  // Create a bounding rectangle for the ellipse
+
240  Vector2Df min_bound = ellipse->getMinBound();
+
241  Vector2Df max_bound = ellipse->getMaxBound();
+
242  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
243  max_bound.y - min_bound.y);
+
244  Gdiplus::Brush* ellipse_fill = getBrush(ellipse, bound);
+
245 
+
246  if (Gdiplus::PathGradientBrush* brush =
+
247  dynamic_cast< Gdiplus::PathGradientBrush* >(ellipse_fill)) {
+
248  ColorShape color = ellipse->getGradient()->getStops().back().getColor();
+
249  Gdiplus::SolidBrush corner_fill(
+
250  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
251  graphics.FillEllipse(
+
252  &corner_fill, ellipse->getPosition().x - ellipse->getRadius().x,
+
253  ellipse->getPosition().y - ellipse->getRadius().y,
+
254  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
255  }
+
256 
+
257  graphics.FillEllipse(
+
258  ellipse_fill, ellipse->getPosition().x - ellipse->getRadius().x,
+
259  ellipse->getPosition().y - ellipse->getRadius().y,
+
260  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
261  graphics.DrawEllipse(
+
262  &ellipse_outline, ellipse->getPosition().x - ellipse->getRadius().x,
+
263  ellipse->getPosition().y - ellipse->getRadius().y,
+
264  ellipse->getRadius().x * 2, ellipse->getRadius().y * 2);
+
265 
+
266  delete ellipse_fill;
+
267 }
@@ -749,15 +771,17 @@

Definition at line 110 of file Renderer.cpp.

-
110  {
-
111  mColor color = line->getOutlineColor();
-
112  Gdiplus::Pen linePen(Gdiplus::Color(color.a, color.r, color.g, color.b),
-
113  line->getOutlineThickness());
-
114  Gdiplus::PointF startPoint(line->getPosition().x, line->getPosition().y);
-
115  Gdiplus::PointF endPoint(line->getDirection().x, line->getDirection().y);
-
116  graphics.DrawLine(&linePen, startPoint, endPoint);
-
117 }
+

Definition at line 122 of file Renderer.cpp.

+
122  {
+
123  // Extract color and thickness information from the Line object
+
124  ColorShape color = line->getOutlineColor();
+
125  Gdiplus::Pen linePen(Gdiplus::Color(color.a, color.r, color.g, color.b),
+
126  line->getOutlineThickness());
+
127  // Extract start and end points from the Line object
+
128  Gdiplus::PointF startPoint(line->getPosition().x, line->getPosition().y);
+
129  Gdiplus::PointF endPoint(line->getDirection().x, line->getDirection().y);
+
130  graphics.DrawLine(&linePen, startPoint, endPoint);
+
131 }
Vector2Df getDirection() const
Gets the direction of the line.
Definition: Line.cpp:16
@@ -805,224 +829,249 @@

Definition at line 365 of file Renderer.cpp.

-
365  {
-
366  mColor outline_color = path->getOutlineColor();
-
367  Gdiplus::Pen path_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
368  outline_color.g, outline_color.b),
-
369  path->getOutlineThickness());
-
370 
-
371  Gdiplus::FillMode fill_mode;
-
372  if (path->getFillRule() == "evenodd") {
-
373  fill_mode = Gdiplus::FillModeAlternate;
-
374  } else if (path->getFillRule() == "nonzero") {
-
375  fill_mode = Gdiplus::FillModeWinding;
-
376  }
-
377  Gdiplus::GraphicsPath gdi_path(fill_mode);
-
378 
-
379  const std::vector< PathPoint >& points = path->getPoints();
-
380  int n = points.size();
-
381  Vector2Df first_point{0, 0}, cur_point{0, 0};
-
382 
-
383  for (int i = 0; i < n; ++i) {
-
384  if (points[i].tc == 'm') {
-
385  first_point = points[i].point;
-
386  gdi_path.StartFigure();
-
387  cur_point = first_point;
-
388  } else if (points[i].tc == 'l' || points[i].tc == 'h' ||
-
389  points[i].tc == 'v') {
-
390  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
-
391  points[i].point.y);
-
392  cur_point = points[i].point;
-
393  } else if (points[i].tc == 'c') {
-
394  if (i + 2 < n) {
-
395  Vector2Df control_point1 = points[i].point;
-
396  Vector2Df control_point2 = points[i + 1].point;
-
397  Vector2Df control_point3 = points[i + 2].point;
-
398  gdi_path.AddBezier(cur_point.x, cur_point.y, control_point1.x,
-
399  control_point1.y, control_point2.x,
-
400  control_point2.y, control_point3.x,
-
401  control_point3.y);
-
402  i += 2;
-
403  cur_point = control_point3;
-
404  }
-
405  } else if (points[i].tc == 'z') {
-
406  gdi_path.CloseFigure();
-
407  cur_point = first_point;
-
408  } else if (points[i].tc == 's') {
-
409  if (i + 1 < n) {
-
410  Vector2Df auto_control_point;
-
411  if (i > 0 &&
-
412  (points[i - 1].tc == 'c' || points[i - 1].tc == 's')) {
-
413  auto_control_point.x =
-
414  cur_point.x * 2 - points[i - 2].point.x;
-
415  auto_control_point.y =
-
416  cur_point.y * 2 - points[i - 2].point.y;
-
417  } else {
-
418  auto_control_point = cur_point;
-
419  }
-
420  Vector2Df control_point2 = points[i].point;
-
421  Vector2Df control_point3 = points[i + 1].point;
-
422  gdi_path.AddBezier(cur_point.x, cur_point.y,
-
423  auto_control_point.x, auto_control_point.y,
-
424  control_point2.x, control_point2.y,
-
425  control_point3.x, control_point3.y);
-
426  i += 1;
-
427  cur_point = control_point3;
-
428  }
-
429  } else if (points[i].tc == 'q') {
-
430  if (i + 1 < n) {
-
431  Vector2Df control_point = points[i].point;
-
432  Vector2Df end_point = points[i + 1].point;
-
433 
-
434  Gdiplus::PointF q_points[3];
-
435  q_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
-
436  q_points[1] = Gdiplus::PointF{control_point.x, control_point.y};
-
437  q_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
-
438  gdi_path.AddCurve(q_points, 3);
-
439  cur_point = points[i + 1].point;
-
440  i += 1;
-
441  }
-
442  } else if (points[i].tc == 't') {
-
443  Vector2Df auto_control_point;
-
444  if (i > 0 && (points[i - 1].tc == 'q' || points[i - 1].tc == 't')) {
-
445  auto_control_point.x = cur_point.x * 2 - points[i - 2].point.x;
-
446  auto_control_point.y = cur_point.y * 2 - points[i - 2].point.y;
-
447  } else {
-
448  auto_control_point = cur_point;
-
449  }
-
450  Vector2Df end_point = points[i].point;
-
451  Gdiplus::PointF t_points[3];
-
452  t_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
-
453  t_points[1] =
-
454  Gdiplus::PointF{auto_control_point.x, auto_control_point.y};
-
455  t_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
-
456  gdi_path.AddCurve(t_points, 3);
-
457  cur_point = points[i].point;
-
458  } else if (points[i].tc == 'a') {
-
459  float rx = points[i].radius.x;
-
460  float ry = points[i].radius.y;
-
461  if (rx == 0 || ry == 0) {
-
462  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
-
463  points[i].point.y);
-
464  cur_point = points[i].point;
-
465  continue;
-
466  }
-
467  if (rx < 0) {
-
468  rx = std::fabs(rx);
-
469  }
-
470  if (ry < 0) {
-
471  ry = std::fabs(ry);
-
472  }
-
473 
-
474  float x_axis_rotation = points[i].x_axis_rotation;
-
475  bool large_arc_flag = points[i].large_arc_flag;
-
476  bool sweep_flag = points[i].sweep_flag;
-
477  Vector2Df end_point{points[i].point.x, points[i].point.y};
-
478 
-
479  float angle = x_axis_rotation * acos(-1) / 180.0;
-
480  float cosAngle = cos(angle);
-
481  float sinAngle = sin(angle);
-
482 
-
483  Vector2Df point1;
-
484  float X = (cur_point.x - end_point.x) / 2.0;
-
485  float Y = (cur_point.y - end_point.y) / 2.0;
-
486  point1.x = (cosAngle * cosAngle + sinAngle * sinAngle) * X;
-
487  point1.y = (cosAngle * cosAngle + sinAngle * sinAngle) * Y;
-
488 
-
489  float radii_check = (point1.x * point1.x) / (rx * rx) +
-
490  (point1.y * point1.y) / (ry * ry);
-
491  if (radii_check > 1.0) {
-
492  rx = std::sqrt(radii_check) * rx;
-
493  ry = std::sqrt(radii_check) * ry;
-
494  }
-
495 
-
496  float sign = (large_arc_flag == sweep_flag ? -1.0 : 1.0);
-
497  Vector2Df point2;
-
498  float numo = (rx * rx) * (ry * ry) -
-
499  (rx * rx) * (point1.y * point1.y) -
-
500  (ry * ry) * (point1.x * point1.x);
-
501  float deno = (rx * rx) * (point1.y * point1.y) +
-
502  (ry * ry) * (point1.x * point1.x);
-
503 
-
504  if (numo < 0) {
-
505  numo = std::fabs(numo);
-
506  }
-
507 
-
508  point2.x = sign * std::sqrt(numo / deno) * ((rx * point1.y) / ry);
-
509  point2.y = sign * std::sqrt(numo / deno) * ((-ry * point1.x) / rx);
-
510 
-
511  Vector2Df center;
-
512  X = (cur_point.x + end_point.x) / 2.0;
-
513  Y = (cur_point.y + end_point.y) / 2.0;
-
514  center.x =
-
515  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.x + X;
-
516  center.y =
-
517  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.y + Y;
-
518 
-
519  float start_angle =
-
520  atan2((point1.y - point2.y) / ry, (point1.x - point2.x) / rx);
-
521  float end_angle =
-
522  atan2((-point1.y - point2.y) / ry, (-point1.x - point2.x) / rx);
-
523 
-
524  float delta_angle = end_angle - start_angle;
-
525 
-
526  if (sweep_flag && delta_angle < 0) {
-
527  delta_angle += 2.0 * acos(-1);
-
528  } else if (!sweep_flag && delta_angle > 0) {
-
529  delta_angle -= 2.0 * acos(-1);
-
530  }
-
531 
-
532  float start_angle_degree =
-
533  std::fmod((start_angle * 180.0) / acos(-1), 360);
-
534  float delta_angle_degree =
-
535  std::fmod((delta_angle * 180.0) / acos(-1), 360);
-
536 
-
537  gdi_path.AddArc(center.x - rx, center.y - ry, 2.0 * rx, 2.0 * ry,
-
538  start_angle_degree, delta_angle_degree);
-
539 
-
540  cur_point = end_point;
-
541  }
-
542  }
-
543 
-
544  Gdiplus::RectF bound;
-
545  gdi_path.GetBounds(&bound);
-
546  Gdiplus::Brush* path_fill = getBrush(path, bound);
-
547  Gdiplus::Region region(&gdi_path);
-
548  if (Gdiplus::PathGradientBrush* brush =
-
549  dynamic_cast< Gdiplus::PathGradientBrush* >(path_fill)) {
-
550  mColor color = path->getGradient()->getStops().back().getColor();
-
551  Gdiplus::SolidBrush corner_fill(
-
552  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
553  if (path->getGradient()->getUnits() == "userSpaceOnUse") {
-
554  float cx = path->getGradient()->getPoints().first.x;
-
555  float cy = path->getGradient()->getPoints().first.y;
-
556  float r = dynamic_cast< RadialGradient* >(path->getGradient())
-
557  ->getRadius()
-
558  .x;
-
559  Gdiplus::GraphicsPath fill_path(fill_mode);
-
560  fill_path.AddEllipse(cx - r, cy - r, 2 * r, 2 * r);
-
561  for (auto type : path->getGradient()->getTransforms()) {
-
562  if (type.find("matrix") != std::string::npos) {
-
563  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
-
564  if (type.find(",") != std::string::npos) {
-
565  type.erase(std::remove(type.begin(), type.end(), ','),
-
566  type.end());
-
567  }
-
568  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b,
-
569  &c, &d, &e, &f);
-
570  Gdiplus::Matrix matrix(a, b, c, d, e, f);
-
571  fill_path.Transform(&matrix);
-
572  }
-
573  }
-
574  region.Exclude(&fill_path);
-
575  }
-
576  graphics.FillRegion(&corner_fill, &region);
-
577  }
-
578  graphics.FillPath(path_fill, &gdi_path);
-
579  graphics.DrawPath(&path_outline, &gdi_path);
-
580  delete path_fill;
-
581 }
+

Definition at line 438 of file Renderer.cpp.

+
438  {
+
439  ColorShape outline_color = path->getOutlineColor();
+
440  Gdiplus::Pen path_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
441  outline_color.g, outline_color.b),
+
442  path->getOutlineThickness());
+
443 
+
444  // Fill the path by rules
+
445  Gdiplus::FillMode fill_mode;
+
446  if (path->getFillRule() == "evenodd") {
+
447  fill_mode = Gdiplus::FillModeAlternate;
+
448  } else if (path->getFillRule() == "nonzero") {
+
449  fill_mode = Gdiplus::FillModeWinding;
+
450  }
+
451  Gdiplus::GraphicsPath gdi_path(fill_mode);
+
452 
+
453  const std::vector< PathPoint >& points = path->getPoints();
+
454  int n = points.size();
+
455  Vector2Df first_point{0, 0}, cur_point{0, 0};
+
456 
+
457  // Construct the path
+
458  for (int i = 0; i < n; ++i) {
+
459  if (points[i].tc == 'm') {
+
460  // If the command is m, then start a new figure
+
461  first_point = points[i].point;
+
462  gdi_path.StartFigure();
+
463  cur_point = first_point;
+
464  } else if (points[i].tc == 'l' || points[i].tc == 'h' ||
+
465  points[i].tc == 'v') {
+
466  // If the command is l, h, or v, then add a line to the path
+
467  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
+
468  points[i].point.y);
+
469  cur_point = points[i].point;
+
470  } else if (points[i].tc == 'c') {
+
471  // If the command is c, then add a bezier curve to the path
+
472  if (i + 2 < n) {
+
473  Vector2Df control_point1 = points[i].point;
+
474  Vector2Df control_point2 = points[i + 1].point;
+
475  Vector2Df control_point3 = points[i + 2].point;
+
476  gdi_path.AddBezier(cur_point.x, cur_point.y, control_point1.x,
+
477  control_point1.y, control_point2.x,
+
478  control_point2.y, control_point3.x,
+
479  control_point3.y);
+
480  i += 2;
+
481  cur_point = control_point3;
+
482  }
+
483  } else if (points[i].tc == 'z') {
+
484  // If the command is z, then close the figure
+
485  gdi_path.CloseFigure();
+
486  cur_point = first_point;
+
487  } else if (points[i].tc == 's') {
+
488  // If the command is s, then add a bezier curve to the path
+
489  if (i + 1 < n) {
+
490  // Calculate the first control point
+
491  Vector2Df auto_control_point;
+
492  if (i > 0 &&
+
493  (points[i - 1].tc == 'c' || points[i - 1].tc == 's')) {
+
494  auto_control_point.x =
+
495  cur_point.x * 2 - points[i - 2].point.x;
+
496  auto_control_point.y =
+
497  cur_point.y * 2 - points[i - 2].point.y;
+
498  } else {
+
499  auto_control_point = cur_point;
+
500  }
+
501  // Calculate the rest control points
+
502  Vector2Df control_point2 = points[i].point;
+
503  Vector2Df control_point3 = points[i + 1].point;
+
504  gdi_path.AddBezier(cur_point.x, cur_point.y,
+
505  auto_control_point.x, auto_control_point.y,
+
506  control_point2.x, control_point2.y,
+
507  control_point3.x, control_point3.y);
+
508  i += 1;
+
509  cur_point = control_point3;
+
510  }
+
511  } else if (points[i].tc == 'q') {
+
512  // If the command is q, then add a quadratic bezier curve to the
+
513  if (i + 1 < n) {
+
514  // Calculate the control point and its end point
+
515  Vector2Df control_point = points[i].point;
+
516  Vector2Df end_point = points[i + 1].point;
+
517 
+
518  // Add the curve to the path
+
519  Gdiplus::PointF q_points[3];
+
520  q_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
+
521  q_points[1] = Gdiplus::PointF{control_point.x, control_point.y};
+
522  q_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
+
523  gdi_path.AddCurve(q_points, 3);
+
524  cur_point = points[i + 1].point;
+
525  i += 1;
+
526  }
+
527  } else if (points[i].tc == 't') {
+
528  // Calculate reflection control point
+
529  Vector2Df auto_control_point;
+
530  if (i > 0 && (points[i - 1].tc == 'q' || points[i - 1].tc == 't')) {
+
531  // If the previous point is a quadratic bezier or a smooth
+
532  // quadratic bezier,
+
533  // calculate the reflection control point using the reflection
+
534  // formula
+
535  auto_control_point.x = cur_point.x * 2 - points[i - 2].point.x;
+
536  auto_control_point.y = cur_point.y * 2 - points[i - 2].point.y;
+
537  } else {
+
538  // Otherwise, use the current point as the control point
+
539  auto_control_point = cur_point;
+
540  }
+
541  Vector2Df end_point = points[i].point;
+
542  Gdiplus::PointF t_points[3];
+
543  t_points[0] = Gdiplus::PointF{cur_point.x, cur_point.y};
+
544  t_points[1] =
+
545  Gdiplus::PointF{auto_control_point.x, auto_control_point.y};
+
546  t_points[2] = Gdiplus::PointF{end_point.x, end_point.y};
+
547  // Add the cubic bezier curve to the path
+
548  gdi_path.AddCurve(t_points, 3);
+
549  cur_point = points[i].point;
+
550  } else if (points[i].tc == 'a') {
+
551  float rx = points[i].radius.x;
+
552  float ry = points[i].radius.y;
+
553  // If either radius is zero, treat it as a line segment
+
554  if (rx == 0 || ry == 0) {
+
555  gdi_path.AddLine(cur_point.x, cur_point.y, points[i].point.x,
+
556  points[i].point.y);
+
557  cur_point = points[i].point;
+
558  continue;
+
559  }
+
560  if (rx < 0) {
+
561  rx = std::fabs(rx);
+
562  }
+
563  if (ry < 0) {
+
564  ry = std::fabs(ry);
+
565  }
+
566 
+
567  float x_axis_rotation = points[i].x_axis_rotation;
+
568  bool large_arc_flag = points[i].large_arc_flag;
+
569  bool sweep_flag = points[i].sweep_flag;
+
570  Vector2Df end_point{points[i].point.x, points[i].point.y};
+
571  // Calculate angles and points for the elliptical arc
+
572  float angle = x_axis_rotation * acos(-1) / 180.0;
+
573  float cosAngle = cos(angle);
+
574  float sinAngle = sin(angle);
+
575 
+
576  Vector2Df point1;
+
577  float X = (cur_point.x - end_point.x) / 2.0;
+
578  float Y = (cur_point.y - end_point.y) / 2.0;
+
579  point1.x = (cosAngle * cosAngle + sinAngle * sinAngle) * X;
+
580  point1.y = (cosAngle * cosAngle + sinAngle * sinAngle) * Y;
+
581  // Correction of out-of-range radii
+
582  float radii_check = (point1.x * point1.x) / (rx * rx) +
+
583  (point1.y * point1.y) / (ry * ry);
+
584  if (radii_check > 1.0) {
+
585  rx = std::sqrt(radii_check) * rx;
+
586  ry = std::sqrt(radii_check) * ry;
+
587  }
+
588 
+
589  float sign = (large_arc_flag == sweep_flag ? -1.0 : 1.0);
+
590  Vector2Df point2;
+
591  float numo = (rx * rx) * (ry * ry) -
+
592  (rx * rx) * (point1.y * point1.y) -
+
593  (ry * ry) * (point1.x * point1.x);
+
594  float deno = (rx * rx) * (point1.y * point1.y) +
+
595  (ry * ry) * (point1.x * point1.x);
+
596 
+
597  if (numo < 0) {
+
598  numo = std::fabs(numo);
+
599  }
+
600 
+
601  point2.x = sign * std::sqrt(numo / deno) * ((rx * point1.y) / ry);
+
602  point2.y = sign * std::sqrt(numo / deno) * ((-ry * point1.x) / rx);
+
603 
+
604  Vector2Df center;
+
605  X = (cur_point.x + end_point.x) / 2.0;
+
606  Y = (cur_point.y + end_point.y) / 2.0;
+
607  center.x =
+
608  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.x + X;
+
609  center.y =
+
610  (cosAngle * cosAngle + sinAngle * sinAngle) * point2.y + Y;
+
611 
+
612  float start_angle =
+
613  atan2((point1.y - point2.y) / ry, (point1.x - point2.x) / rx);
+
614  float end_angle =
+
615  atan2((-point1.y - point2.y) / ry, (-point1.x - point2.x) / rx);
+
616 
+
617  float delta_angle = end_angle - start_angle;
+
618 
+
619  if (sweep_flag && delta_angle < 0) {
+
620  delta_angle += 2.0 * acos(-1);
+
621  } else if (!sweep_flag && delta_angle > 0) {
+
622  delta_angle -= 2.0 * acos(-1);
+
623  }
+
624 
+
625  float start_angle_degree =
+
626  std::fmod((start_angle * 180.0) / acos(-1), 360);
+
627  float delta_angle_degree =
+
628  std::fmod((delta_angle * 180.0) / acos(-1), 360);
+
629  // Add the elliptical arc to the path
+
630  gdi_path.AddArc(center.x - rx, center.y - ry, 2.0 * rx, 2.0 * ry,
+
631  start_angle_degree, delta_angle_degree);
+
632 
+
633  cur_point = end_point;
+
634  }
+
635  }
+
636 
+
637  Gdiplus::RectF bound;
+
638  gdi_path.GetBounds(&bound);
+
639  Gdiplus::Brush* path_fill = getBrush(path, bound);
+
640  Gdiplus::Region region(&gdi_path);
+
641 
+
642  if (Gdiplus::PathGradientBrush* brush =
+
643  dynamic_cast< Gdiplus::PathGradientBrush* >(path_fill)) {
+
644  ColorShape color = path->getGradient()->getStops().back().getColor();
+
645  Gdiplus::SolidBrush corner_fill(
+
646  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
647 
+
648  if (path->getGradient()->getUnits() == "userSpaceOnUse") {
+
649  float cx = path->getGradient()->getPoints().first.x;
+
650  float cy = path->getGradient()->getPoints().first.y;
+
651  float r = dynamic_cast< RadialGradient* >(path->getGradient())
+
652  ->getRadius()
+
653  .x;
+
654  Gdiplus::GraphicsPath fill_path(fill_mode);
+
655  fill_path.AddEllipse(cx - r, cy - r, 2 * r, 2 * r);
+
656 
+
657  for (auto type : path->getGradient()->getTransforms()) {
+
658  if (type.find("matrix") != std::string::npos) {
+
659  float a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;
+
660  if (type.find(",") != std::string::npos) {
+
661  type.erase(std::remove(type.begin(), type.end(), ','),
+
662  type.end());
+
663  }
+
664  sscanf(type.c_str(), "matrix(%f %f %f %f %f %f)", &a, &b,
+
665  &c, &d, &e, &f);
+
666  Gdiplus::Matrix matrix(a, b, c, d, e, f);
+
667  fill_path.Transform(&matrix);
+
668  }
+
669  }
+
670  region.Exclude(&fill_path);
+
671  }
+
672  graphics.FillRegion(&corner_fill, &region);
+
673  }
+
674 
+
675  graphics.FillPath(path_fill, &gdi_path);
+
676  graphics.DrawPath(&path_outline, &gdi_path);
+
677 
+
678  delete path_fill;
+
679 }
std::string getUnits() const
Gets the units of the gradient.
Definition: Gradient.cpp:13
std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
std::vector< std::string > getTransforms() const
Gets the transforms of the gradient.
Definition: Gradient.cpp:19
@@ -1075,44 +1124,53 @@

Definition at line 229 of file Renderer.cpp.

-
229  {
-
230  mColor outline_color = polygon->getOutlineColor();
-
231  Gdiplus::Pen polygon_outline(
-
232  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
233  outline_color.b),
-
234  polygon->getOutlineThickness());
-
235 
-
236  Gdiplus::PointF* points = new Gdiplus::PointF[polygon->getPoints().size()];
-
237  int idx = 0;
-
238  const std::vector< Vector2Df >& vertices = polygon->getPoints();
-
239  for (const Vector2Df vertex : vertices) {
-
240  points[idx++] = Gdiplus::PointF(vertex.x, vertex.y);
-
241  }
-
242 
-
243  Gdiplus::FillMode fill_mode;
-
244  if (polygon->getFillRule() == "evenodd") {
-
245  fill_mode = Gdiplus::FillModeAlternate;
-
246  } else if (polygon->getFillRule() == "nonzero") {
-
247  fill_mode = Gdiplus::FillModeWinding;
-
248  }
-
249  Vector2Df min_bound = polygon->getMinBound();
-
250  Vector2Df max_bound = polygon->getMaxBound();
-
251  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
252  max_bound.y - min_bound.y);
-
253  Gdiplus::Brush* polygon_fill = getBrush(polygon, bound);
-
254  if (Gdiplus::PathGradientBrush* brush =
-
255  dynamic_cast< Gdiplus::PathGradientBrush* >(polygon_fill)) {
-
256  mColor color = polygon->getGradient()->getStops().back().getColor();
-
257  Gdiplus::SolidBrush corner_fill(
-
258  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
259  graphics.FillPolygon(&corner_fill, points, idx, fill_mode);
-
260  }
-
261  graphics.FillPolygon(polygon_fill, points, idx, fill_mode);
-
262  graphics.DrawPolygon(&polygon_outline, points, idx);
-
263  delete[] points;
-
264  delete polygon_fill;
-
265 }
+

Definition at line 270 of file Renderer.cpp.

+
270  {
+
271  ColorShape outline_color = polygon->getOutlineColor();
+
272  Gdiplus::Pen polygon_outline(
+
273  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
274  outline_color.b),
+
275  polygon->getOutlineThickness());
+
276 
+
277  // Extract vertices and create an array of Gdiplus::PointF
+
278  Gdiplus::PointF* points = new Gdiplus::PointF[polygon->getPoints().size()];
+
279  int idx = 0;
+
280  const std::vector< Vector2Df >& vertices = polygon->getPoints();
+
281  for (const Vector2Df vertex : vertices) {
+
282  points[idx++] = Gdiplus::PointF(vertex.x, vertex.y);
+
283  }
+
284 
+
285  // Determine the fill mode based on the polygon's fill rule
+
286  Gdiplus::FillMode fill_mode;
+
287  if (polygon->getFillRule() == "evenodd") {
+
288  fill_mode = Gdiplus::FillModeAlternate;
+
289  } else if (polygon->getFillRule() == "nonzero") {
+
290  fill_mode = Gdiplus::FillModeWinding;
+
291  }
+
292 
+
293  // Create a bounding rectangle for the polygon
+
294  Vector2Df min_bound = polygon->getMinBound();
+
295  Vector2Df max_bound = polygon->getMaxBound();
+
296  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
297  max_bound.y - min_bound.y);
+
298  // Get the fill brush for the polygon
+
299  Gdiplus::Brush* polygon_fill = getBrush(polygon, bound);
+
300 
+
301  // If the fill brush is a gradient, fill the polygon with a corner color
+
302  if (Gdiplus::PathGradientBrush* brush =
+
303  dynamic_cast< Gdiplus::PathGradientBrush* >(polygon_fill)) {
+
304  ColorShape color = polygon->getGradient()->getStops().back().getColor();
+
305  Gdiplus::SolidBrush corner_fill(
+
306  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
307  graphics.FillPolygon(&corner_fill, points, idx, fill_mode);
+
308  }
+
309 
+
310  graphics.FillPolygon(polygon_fill, points, idx, fill_mode);
+
311  graphics.DrawPolygon(&polygon_outline, points, idx);
+
312 
+
313  delete[] points;
+
314  delete polygon_fill;
+
315 }
Vector2Df getMinBound() const override
Gets the minimum bounding box of the shape.
Definition: PolyShape.cpp:17
const std::vector< Vector2Df > & getPoints() const
Gets the total number of vertices representing the shape.
Definition: PolyShape.cpp:9
Vector2Df getMaxBound() const override
Gets the maximum bounding box of the shape.
Definition: PolyShape.cpp:27
@@ -1163,48 +1221,57 @@

Definition at line 322 of file Renderer.cpp.

-
323  {
-
324  mColor outline_color = polyline->getOutlineColor();
-
325  Gdiplus::Pen polyline_outline(
-
326  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
-
327  outline_color.b),
-
328  polyline->getOutlineThickness());
-
329 
-
330  Gdiplus::FillMode fill_mode;
-
331  if (polyline->getFillRule() == "evenodd") {
-
332  fill_mode = Gdiplus::FillModeAlternate;
-
333  } else if (polyline->getFillRule() == "nonzero") {
-
334  fill_mode = Gdiplus::FillModeWinding;
-
335  }
-
336  Gdiplus::GraphicsPath path(fill_mode);
-
337  const std::vector< Vector2Df >& points = polyline->getPoints();
-
338  if (points.size() < 2) {
-
339  return;
-
340  }
-
341 
-
342  path.StartFigure();
-
343  path.AddLine(points[0].x, points[0].y, points[1].x, points[1].y);
-
344  for (size_t i = 2; i < points.size(); ++i) {
-
345  path.AddLine(points[i - 1].x, points[i - 1].y, points[i].x,
-
346  points[i].y);
-
347  }
-
348  Vector2Df min_bound = polyline->getMinBound();
-
349  Vector2Df max_bound = polyline->getMaxBound();
-
350  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
-
351  max_bound.y - min_bound.y);
-
352  Gdiplus::Brush* polyline_fill = getBrush(polyline, bound);
-
353  if (Gdiplus::PathGradientBrush* brush =
-
354  dynamic_cast< Gdiplus::PathGradientBrush* >(polyline_fill)) {
-
355  mColor color = polyline->getGradient()->getStops().back().getColor();
-
356  Gdiplus::SolidBrush corner_fill(
-
357  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
358  graphics.FillPath(&corner_fill, &path);
-
359  }
-
360  graphics.FillPath(polyline_fill, &path);
-
361  graphics.DrawPath(&polyline_outline, &path);
-
362  delete polyline_fill;
-
363 }
+

Definition at line 385 of file Renderer.cpp.

+
386  {
+
387  ColorShape outline_color = polyline->getOutlineColor();
+
388  Gdiplus::Pen polyline_outline(
+
389  Gdiplus::Color(outline_color.a, outline_color.r, outline_color.g,
+
390  outline_color.b),
+
391  polyline->getOutlineThickness());
+
392 
+
393  // Determine the fill mode based on the polyline's fill rule
+
394  Gdiplus::FillMode fill_mode;
+
395  if (polyline->getFillRule() == "evenodd") {
+
396  fill_mode = Gdiplus::FillModeAlternate;
+
397  } else if (polyline->getFillRule() == "nonzero") {
+
398  fill_mode = Gdiplus::FillModeWinding;
+
399  }
+
400 
+
401  Gdiplus::GraphicsPath path(fill_mode);
+
402  const std::vector< Vector2Df >& points = polyline->getPoints();
+
403  if (points.size() < 2) {
+
404  return;
+
405  }
+
406 
+
407  path.StartFigure();
+
408  path.AddLine(points[0].x, points[0].y, points[1].x, points[1].y);
+
409  for (size_t i = 2; i < points.size(); ++i) {
+
410  path.AddLine(points[i - 1].x, points[i - 1].y, points[i].x,
+
411  points[i].y);
+
412  }
+
413 
+
414  // Create a bounding rectangle for the polyline
+
415  Vector2Df min_bound = polyline->getMinBound();
+
416  Vector2Df max_bound = polyline->getMaxBound();
+
417  Gdiplus::RectF bound(min_bound.x, min_bound.y, max_bound.x - min_bound.x,
+
418  max_bound.y - min_bound.y);
+
419  Gdiplus::Brush* polyline_fill = getBrush(polyline, bound);
+
420 
+
421  // If the fill brush is a gradient, fill the polyline with a corner color
+
422  if (Gdiplus::PathGradientBrush* brush =
+
423  dynamic_cast< Gdiplus::PathGradientBrush* >(polyline_fill)) {
+
424  ColorShape color =
+
425  polyline->getGradient()->getStops().back().getColor();
+
426  Gdiplus::SolidBrush corner_fill(
+
427  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
428  graphics.FillPath(&corner_fill, &path);
+
429  }
+
430 
+
431  graphics.FillPath(polyline_fill, &path);
+
432  graphics.DrawPath(&polyline_outline, &path);
+
433 
+
434  delete polyline_fill;
+
435 }

@@ -1251,51 +1318,62 @@

Definition at line 119 of file Renderer.cpp.

-
120  {
-
121  float x = rectangle->getPosition().x;
-
122  float y = rectangle->getPosition().y;
-
123  float width = rectangle->getWidth();
-
124  float height = rectangle->getHeight();
-
125  mColor outline_color = rectangle->getOutlineColor();
-
126  Gdiplus::Pen rect_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
127  outline_color.g, outline_color.b),
-
128  rectangle->getOutlineThickness());
-
129  Gdiplus::RectF bound(x, y, width, height);
-
130  Gdiplus::Brush* rect_fill = getBrush(rectangle, bound);
-
131  if (rectangle->getRadius().x != 0 || rectangle->getRadius().y != 0) {
-
132  float dx = rectangle->getRadius().x * 2;
-
133  float dy = rectangle->getRadius().y * 2;
-
134  Gdiplus::GraphicsPath path;
-
135  path.AddArc(x, y, dx, dy, 180, 90);
-
136  path.AddArc(x + width - dx, y, dx, dy, 270, 90);
-
137  path.AddArc(x + width - dx, y + height - dy, dx, dy, 0, 90);
-
138  path.AddArc(x, y + height - dy, dx, dy, 90, 90);
-
139  path.CloseFigure();
-
140  if (Gdiplus::PathGradientBrush* brush =
-
141  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
-
142  mColor color =
-
143  rectangle->getGradient()->getStops().back().getColor();
-
144  Gdiplus::SolidBrush corner_fill(
-
145  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
146  graphics.FillPath(&corner_fill, &path);
-
147  }
-
148  graphics.FillPath(rect_fill, &path);
-
149  graphics.DrawPath(&rect_outline, &path);
-
150  } else {
-
151  if (Gdiplus::PathGradientBrush* brush =
-
152  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
-
153  mColor color =
-
154  rectangle->getGradient()->getStops().back().getColor();
-
155  Gdiplus::SolidBrush corner_fill(
-
156  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
157  graphics.FillRectangle(&corner_fill, x, y, width, height);
-
158  }
-
159  graphics.FillRectangle(rect_fill, x, y, width, height);
-
160  graphics.DrawRectangle(&rect_outline, x, y, width, height);
-
161  }
-
162  delete rect_fill;
-
163 }
+

Definition at line 134 of file Renderer.cpp.

+
135  {
+
136  float x = rectangle->getPosition().x;
+
137  float y = rectangle->getPosition().y;
+
138  float width = rectangle->getWidth();
+
139  float height = rectangle->getHeight();
+
140  ColorShape outline_color = rectangle->getOutlineColor();
+
141 
+
142  // Create a pen for the rectangle outline
+
143  Gdiplus::Pen rect_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
144  outline_color.g, outline_color.b),
+
145  rectangle->getOutlineThickness());
+
146  Gdiplus::RectF bound(x, y, width, height);
+
147  Gdiplus::Brush* rect_fill = getBrush(rectangle, bound);
+
148 
+
149  // Check if the rectangle has rounded corners
+
150  if (rectangle->getRadius().x != 0 || rectangle->getRadius().y != 0) {
+
151  float dx = rectangle->getRadius().x * 2;
+
152  float dy = rectangle->getRadius().y * 2;
+
153 
+
154  // Create a GraphicsPath for drawing rounded rectangles
+
155  Gdiplus::GraphicsPath path;
+
156  path.AddArc(x, y, dx, dy, 180, 90);
+
157  path.AddArc(x + width - dx, y, dx, dy, 270, 90);
+
158  path.AddArc(x + width - dx, y + height - dy, dx, dy, 0, 90);
+
159  path.AddArc(x, y + height - dy, dx, dy, 90, 90);
+
160  path.CloseFigure();
+
161  // Fill and draw the rounded rectangle
+
162  if (Gdiplus::PathGradientBrush* brush =
+
163  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
+
164  ColorShape color =
+
165  rectangle->getGradient()->getStops().back().getColor();
+
166  Gdiplus::SolidBrush corner_fill(
+
167  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
168  graphics.FillPath(&corner_fill, &path);
+
169  }
+
170 
+
171  graphics.FillPath(rect_fill, &path);
+
172  graphics.DrawPath(&rect_outline, &path);
+
173  } else {
+
174  // Fill and draw the regular rectangle
+
175  if (Gdiplus::PathGradientBrush* brush =
+
176  dynamic_cast< Gdiplus::PathGradientBrush* >(rect_fill)) {
+
177  ColorShape color =
+
178  rectangle->getGradient()->getStops().back().getColor();
+
179  Gdiplus::SolidBrush corner_fill(
+
180  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
181  graphics.FillRectangle(&corner_fill, x, y, width, height);
+
182  }
+
183 
+
184  graphics.FillRectangle(rect_fill, x, y, width, height);
+
185  graphics.DrawRectangle(&rect_outline, x, y, width, height);
+
186  }
+
187 
+
188  delete rect_fill;
+
189 }
Vector2Df getRadius() const
Gets the radii of the rectangle.
Definition: Rect.cpp:20
float getHeight() const
Gets the height of the rectangle.
Definition: Rect.cpp:16
float getWidth() const
Gets the width of the rectangle.
Definition: Rect.cpp:12
@@ -1345,62 +1423,73 @@

Definition at line 267 of file Renderer.cpp.

-
267  {
-
268  mColor outline_color = text->getOutlineColor();
-
269  graphics.SetTextRenderingHint(Gdiplus::TextRenderingHintAntiAliasGridFit);
-
270 
-
271  Gdiplus::Pen text_outline(Gdiplus::Color(outline_color.a, outline_color.r,
-
272  outline_color.g, outline_color.b),
-
273  text->getOutlineThickness());
-
274 
-
275  Gdiplus::FontFamily font_family(L"Times New Roman");
-
276 
-
277  Gdiplus::PointF position(text->getPosition().x, text->getPosition().y);
-
278  Gdiplus::GraphicsPath path;
-
279 
-
280  std::wstring_convert< std::codecvt_utf8_utf16< wchar_t > > converter;
-
281  std::wstring wide_content = converter.from_bytes(text->getContent());
-
282  Gdiplus::StringFormat string_format;
-
283  if (text->getAnchor() == "middle") {
-
284  string_format.SetAlignment(Gdiplus::StringAlignmentCenter);
-
285  position.X += 7;
-
286  } else if (text->getAnchor() == "end") {
-
287  string_format.SetAlignment(Gdiplus::StringAlignmentFar);
-
288  position.X += 14;
-
289  } else {
-
290  string_format.SetAlignment(Gdiplus::StringAlignmentNear);
-
291  }
-
292  Gdiplus::FontStyle font_style = Gdiplus::FontStyleRegular;
-
293  if (text->getFontStyle() == "italic" || text->getFontStyle() == "oblique") {
-
294  font_style = Gdiplus::FontStyleItalic;
-
295  position.Y -= 1;
-
296  }
-
297 
-
298  path.AddString(wide_content.c_str(), wide_content.size(), &font_family,
-
299  font_style, text->getFontSize(), position, &string_format);
-
300  Gdiplus::RectF bound;
-
301  path.GetBounds(&bound);
-
302  Gdiplus::Brush* text_fill = getBrush(text, bound);
-
303  if (Gdiplus::PathGradientBrush* brush =
-
304  dynamic_cast< Gdiplus::PathGradientBrush* >(text_fill)) {
-
305  mColor color = text->getGradient()->getStops().back().getColor();
-
306  Gdiplus::SolidBrush corner_fill(
-
307  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
308  graphics.FillPath(&corner_fill, &path);
-
309  }
-
310  graphics.FillPath(text_fill, &path);
-
311  if (text->getOutlineColor().a != 0 &&
-
312  text->getOutlineColor().a == text->getFillColor().a) {
-
313  text_outline.SetColor(Gdiplus::Color(255, 255, 255, 255));
-
314  graphics.DrawPath(&text_outline, &path);
-
315  text_outline.SetColor(Gdiplus::Color(outline_color.a, outline_color.r,
-
316  outline_color.g, outline_color.b));
-
317  }
-
318  graphics.DrawPath(&text_outline, &path);
-
319  delete text_fill;
-
320 }
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
+

Definition at line 318 of file Renderer.cpp.

+
318  {
+
319  ColorShape outline_color = text->getOutlineColor();
+
320  graphics.SetTextRenderingHint(Gdiplus::TextRenderingHintAntiAliasGridFit);
+
321 
+
322  Gdiplus::Pen text_outline(Gdiplus::Color(outline_color.a, outline_color.r,
+
323  outline_color.g, outline_color.b),
+
324  text->getOutlineThickness());
+
325 
+
326  // Set the font family for the text
+
327  Gdiplus::FontFamily font_family(L"Times New Roman");
+
328 
+
329  // Set the position for the text
+
330  Gdiplus::PointF position(text->getPosition().x, text->getPosition().y);
+
331  Gdiplus::GraphicsPath path;
+
332 
+
333  // Convert the content to wide string for GDI+
+
334  std::wstring_convert< std::codecvt_utf8_utf16< wchar_t > > converter;
+
335  std::wstring wide_content = converter.from_bytes(text->getContent());
+
336 
+
337  // Set text alignment based on anchor position
+
338  Gdiplus::StringFormat string_format;
+
339  if (text->getAnchor() == "middle") {
+
340  string_format.SetAlignment(Gdiplus::StringAlignmentCenter);
+
341  position.X += 7;
+
342  } else if (text->getAnchor() == "end") {
+
343  string_format.SetAlignment(Gdiplus::StringAlignmentFar);
+
344  position.X += 14;
+
345  } else {
+
346  string_format.SetAlignment(Gdiplus::StringAlignmentNear);
+
347  }
+
348 
+
349  // Set font style based on text style
+
350  Gdiplus::FontStyle font_style = Gdiplus::FontStyleRegular;
+
351  if (text->getFontStyle() == "italic" || text->getFontStyle() == "oblique") {
+
352  font_style = Gdiplus::FontStyleItalic;
+
353  position.Y -= 1;
+
354  }
+
355 
+
356  path.AddString(wide_content.c_str(), wide_content.size(), &font_family,
+
357  font_style, text->getFontSize(), position, &string_format);
+
358  Gdiplus::RectF bound;
+
359  path.GetBounds(&bound);
+
360  Gdiplus::Brush* text_fill = getBrush(text, bound);
+
361 
+
362  // If the fill brush is a gradient, fill the text with a corner color
+
363  if (Gdiplus::PathGradientBrush* brush =
+
364  dynamic_cast< Gdiplus::PathGradientBrush* >(text_fill)) {
+
365  ColorShape color = text->getGradient()->getStops().back().getColor();
+
366  Gdiplus::SolidBrush corner_fill(
+
367  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
368  graphics.FillPath(&corner_fill, &path);
+
369  }
+
370 
+
371  graphics.FillPath(text_fill, &path);
+
372  if (text->getOutlineColor().a != 0 &&
+
373  text->getOutlineColor().a == text->getFillColor().a) {
+
374  text_outline.SetColor(Gdiplus::Color(255, 255, 255, 255));
+
375  graphics.DrawPath(&text_outline, &path);
+
376  text_outline.SetColor(Gdiplus::Color(outline_color.a, outline_color.r,
+
377  outline_color.g, outline_color.b));
+
378  }
+
379  graphics.DrawPath(&text_outline, &path);
+
380 
+
381  delete text_fill;
+
382 }
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
std::string getAnchor() const
Gets the anchor of the text.
Definition: Text.cpp:20
float getFontSize() const
Gets the font size of the text.
Definition: Text.cpp:12
std::string getFontStyle() const
Gets the style of the text.
Definition: Text.cpp:24
@@ -1452,99 +1541,116 @@

Returns
The Gdiplus::brush object for the shape fill.
-

Definition at line 583 of file Renderer.cpp.

-
584  {
-
585  Gradient* gradient = shape->getGradient();
-
586  if (gradient != NULL) {
-
587  std::pair< Vector2Df, Vector2Df > points = gradient->getPoints();
-
588  std::vector< Stop > stops = gradient->getStops();
-
589  int stop_size = stops.size() + 2;
-
590  Gdiplus::Color* colors = new Gdiplus::Color[stop_size];
-
591  float* offsets = new float[stop_size];
-
592  if (gradient->getClass() == "LinearGradient") {
-
593  if (gradient->getUnits() == "objectBoundingBox") {
-
594  points.first.x = bound.X;
-
595  points.first.y = bound.Y;
-
596  points.second.x = bound.X + bound.Width;
-
597  points.second.y = bound.Y + bound.Height;
-
598  }
-
599  offsets[0] = 0;
-
600  offsets[stop_size - 1] = 1;
-
601  colors[0] =
-
602  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
-
603  stops[0].getColor().g, stops[0].getColor().b);
-
604  colors[stop_size - 1] =
-
605  Gdiplus::Color(stops[stop_size - 3].getColor().a,
-
606  stops[stop_size - 3].getColor().r,
-
607  stops[stop_size - 3].getColor().g,
-
608  stops[stop_size - 3].getColor().b);
-
609  for (size_t i = 1; i < stop_size - 1; ++i) {
-
610  colors[i] = Gdiplus::Color(
-
611  stops[i - 1].getColor().a, stops[i - 1].getColor().r,
-
612  stops[i - 1].getColor().g, stops[i - 1].getColor().b);
-
613  offsets[i] = stops[i - 1].getOffset();
-
614  }
-
615  Gdiplus::LinearGradientBrush* fill =
-
616  new Gdiplus::LinearGradientBrush(
-
617  Gdiplus::PointF(points.first.x, points.first.y),
-
618  Gdiplus::PointF(points.second.x, points.second.y),
-
619  colors[0], colors[stop_size - 1]);
-
620  fill->SetWrapMode(Gdiplus::WrapModeTileFlipX);
-
621  fill->SetInterpolationColors(colors, offsets, stop_size);
-
622  applyTransformsOnBrush(gradient->getTransforms(), fill);
-
623  delete[] colors;
-
624  delete[] offsets;
-
625  return fill;
-
626  } else if (gradient->getClass() == "RadialGradient") {
-
627  RadialGradient* radial_gradient =
-
628  dynamic_cast< RadialGradient* >(gradient);
-
629  Vector2Df radius = radial_gradient->getRadius();
-
630  if (gradient->getUnits() == "userSpaceOnUse") {
-
631  bound.X = points.first.x - radius.x;
-
632  bound.Y = points.first.y - radius.x;
-
633  bound.Width = radius.x * 2;
-
634  bound.Height = radius.x * 2;
-
635  }
-
636  Gdiplus::GraphicsPath path;
-
637  path.AddEllipse(bound);
-
638  Gdiplus::PathGradientBrush* fill =
-
639  new Gdiplus::PathGradientBrush(&path);
-
640  offsets[0] = 0;
-
641  offsets[stop_size - 1] = 1;
-
642  colors[0] = Gdiplus::Color(stops[stop_size - 3].getColor().a,
-
643  stops[stop_size - 3].getColor().r,
-
644  stops[stop_size - 3].getColor().g,
-
645  stops[stop_size - 3].getColor().b);
-
646  colors[stop_size - 1] =
-
647  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
-
648  stops[0].getColor().g, stops[0].getColor().b);
-
649 
-
650  for (size_t i = 1; i < stop_size - 1; ++i) {
-
651  colors[i] =
-
652  Gdiplus::Color(stops[stop_size - 2 - i].getColor().a,
-
653  stops[stop_size - 2 - i].getColor().r,
-
654  stops[stop_size - 2 - i].getColor().g,
-
655  stops[stop_size - 2 - i].getColor().b);
-
656  offsets[i] = 1 - stops[stop_size - 2 - i].getOffset();
-
657  }
-
658  fill->SetInterpolationColors(colors, offsets, stop_size);
-
659  applyTransformsOnBrush(gradient->getTransforms(), fill);
-
660  delete[] colors;
-
661  delete[] offsets;
-
662  return fill;
-
663  }
-
664  } else {
-
665  mColor color = shape->getFillColor();
-
666  Gdiplus::SolidBrush* fill = new Gdiplus::SolidBrush(
-
667  Gdiplus::Color(color.a, color.r, color.g, color.b));
-
668  return fill;
-
669  }
-
670  return nullptr;
-
671 }
+

Definition at line 683 of file Renderer.cpp.

+
684  {
+
685  Gradient* gradient = shape->getGradient();
+
686  if (gradient != NULL) {
+
687  std::pair< Vector2Df, Vector2Df > points = gradient->getPoints();
+
688  std::vector< Stop > stops = gradient->getStops();
+
689  int stop_size = stops.size() + 2;
+
690  Gdiplus::Color* colors = new Gdiplus::Color[stop_size];
+
691  float* offsets = new float[stop_size];
+
692 
+
693  if (gradient->getClass() == "LinearGradient") {
+
694  // Brush linear gradient
+
695  if (gradient->getUnits() == "objectBoundingBox") {
+
696  points.first.x = bound.X;
+
697  points.first.y = bound.Y;
+
698  points.second.x = bound.X + bound.Width;
+
699  points.second.y = bound.Y + bound.Height;
+
700  }
+
701 
+
702  // Set the center color
+
703  offsets[0] = 0;
+
704  offsets[stop_size - 1] = 1;
+
705  colors[0] =
+
706  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
+
707  stops[0].getColor().g, stops[0].getColor().b);
+
708  colors[stop_size - 1] =
+
709  Gdiplus::Color(stops[stop_size - 3].getColor().a,
+
710  stops[stop_size - 3].getColor().r,
+
711  stops[stop_size - 3].getColor().g,
+
712  stops[stop_size - 3].getColor().b);
+
713 
+
714  // Reverse the order of the stops
+
715  for (size_t i = 1; i < stop_size - 1; ++i) {
+
716  colors[i] = Gdiplus::Color(
+
717  stops[i - 1].getColor().a, stops[i - 1].getColor().r,
+
718  stops[i - 1].getColor().g, stops[i - 1].getColor().b);
+
719  offsets[i] = stops[i - 1].getOffset();
+
720  }
+
721 
+
722  // Create the brush of linear gradient
+
723  Gdiplus::LinearGradientBrush* fill =
+
724  new Gdiplus::LinearGradientBrush(
+
725  Gdiplus::PointF(points.first.x, points.first.y),
+
726  Gdiplus::PointF(points.second.x, points.second.y),
+
727  colors[0], colors[stop_size - 1]);
+
728  fill->SetWrapMode(Gdiplus::WrapModeTileFlipX);
+
729  fill->SetInterpolationColors(colors, offsets, stop_size);
+
730  applyTransformsOnBrush(gradient->getTransforms(), fill);
+
731 
+
732  delete[] colors;
+
733  delete[] offsets;
+
734  return fill;
+
735  } else if (gradient->getClass() == "RadialGradient") {
+
736  // Brush radiol gradient
+
737  RadialGradient* radial_gradient =
+
738  dynamic_cast< RadialGradient* >(gradient);
+
739  Vector2Df radius = radial_gradient->getRadius();
+
740 
+
741  // If the gradient is in userSpaceOnUse, the radius is the distance
+
742  if (gradient->getUnits() == "userSpaceOnUse") {
+
743  bound.X = points.first.x - radius.x;
+
744  bound.Y = points.first.y - radius.x;
+
745  bound.Width = radius.x * 2;
+
746  bound.Height = radius.x * 2;
+
747  }
+
748 
+
749  Gdiplus::GraphicsPath path;
+
750  path.AddEllipse(bound);
+
751  Gdiplus::PathGradientBrush* fill =
+
752  new Gdiplus::PathGradientBrush(&path);
+
753 
+
754  // Set the center color
+
755  offsets[0] = 0;
+
756  offsets[stop_size - 1] = 1;
+
757  colors[0] = Gdiplus::Color(stops[stop_size - 3].getColor().a,
+
758  stops[stop_size - 3].getColor().r,
+
759  stops[stop_size - 3].getColor().g,
+
760  stops[stop_size - 3].getColor().b);
+
761  colors[stop_size - 1] =
+
762  Gdiplus::Color(stops[0].getColor().a, stops[0].getColor().r,
+
763  stops[0].getColor().g, stops[0].getColor().b);
+
764 
+
765  // Reverse the order of the stops
+
766  for (size_t i = 1; i < stop_size - 1; ++i) {
+
767  colors[i] =
+
768  Gdiplus::Color(stops[stop_size - 2 - i].getColor().a,
+
769  stops[stop_size - 2 - i].getColor().r,
+
770  stops[stop_size - 2 - i].getColor().g,
+
771  stops[stop_size - 2 - i].getColor().b);
+
772  offsets[i] = 1 - stops[stop_size - 2 - i].getOffset();
+
773  }
+
774 
+
775  fill->SetInterpolationColors(colors, offsets, stop_size);
+
776  applyTransformsOnBrush(gradient->getTransforms(), fill);
+
777  delete[] colors;
+
778  delete[] offsets;
+
779  return fill;
+
780  }
+
781  } else {
+
782  ColorShape color = shape->getFillColor();
+
783  Gdiplus::SolidBrush* fill = new Gdiplus::SolidBrush(
+
784  Gdiplus::Color(color.a, color.r, color.g, color.b));
+
785  return fill;
+
786  }
+
787  return nullptr;
+
788 }
A class that represents a gradient.
Definition: Gradient.hpp:18
virtual std::string getClass() const =0
Gets the type of the gradient.
Vector2Df getRadius() const
Gets the radius of the gradient.
-
void applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const
Utility function to apply a series of transformations to the brush object.
Definition: Renderer.cpp:673
+
void applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const
Utility function to apply a series of transformations to the brush object.
Definition: Renderer.cpp:791

diff --git a/docs/classSVGElement-members.html b/docs/classSVGElement-members.html index 2854769..fa3dd4a 100644 --- a/docs/classSVGElement-members.html +++ b/docs/classSVGElement-members.html @@ -125,13 +125,13 @@

This is the complete list of members for SVGElement, including all inherited members.

- + - + - + @@ -140,19 +140,19 @@ - + - + - + - - + +
addElement(SVGElement *element)SVGElementvirtual
fillSVGElementprivate
fillSVGElementprivate
getClass() const =0SVGElementpure virtual
getFillColor() constSVGElement
getFillColor() constSVGElement
getGradient() constSVGElement
getMaxBound() constSVGElementvirtual
getMinBound() constSVGElementvirtual
getOutlineColor() constSVGElement
getOutlineColor() constSVGElement
getOutlineThickness() constSVGElement
getParent() constSVGElement
getPosition() constSVGElement
parentSVGElementprotected
positionSVGElementprivate
printData() constSVGElementvirtual
setFillColor(const mColor &color)SVGElement
setFillColor(const ColorShape &color)SVGElement
setGradient(Gradient *gradient)SVGElement
setOutlineColor(const mColor &color)SVGElement
setOutlineColor(const ColorShape &color)SVGElement
setOutlineThickness(float thickness)SVGElement
setParent(SVGElement *parent)SVGElement
setPosition(float x, float y)SVGElement
setPosition(const Vector2Df &position)SVGElement
setTransforms(const std::vector< std::string > &transforms)SVGElement
strokeSVGElementprivate
strokeSVGElementprivate
stroke_widthSVGElementprivate
SVGElement()SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)SVGElementprotected
SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)SVGElementprotected
SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)SVGElementprotected
transformsSVGElementprivate
~SVGElement()=defaultSVGElementvirtual
diff --git a/docs/classSVGElement.html b/docs/classSVGElement.html index 8571dbe..2dd5762 100644 --- a/docs/classSVGElement.html +++ b/docs/classSVGElement.html @@ -141,7 +141,7 @@
Collaboration diagram for SVGElement:
-
+
[legend]
@@ -154,12 +154,12 @@ - - - - - - + + + + + + @@ -169,12 +169,12 @@ - - - - - - + + + + + + @@ -217,12 +217,12 @@ - - - - - - + + + + + +
virtual std::string getClass () const =0
 Gets the type of the shape. More...
 
void setFillColor (const mColor &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const mColor &color)
 Sets the outline color of the shape. More...
 
void setFillColor (const ColorShape &color)
 Sets the fill color of the shape. More...
 
void setOutlineColor (const ColorShape &color)
 Sets the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Sets the outline thickness of the shape. More...
 
void setPosition (const Vector2Df &position)
 Sets the position of the shape. More...
 
const mColorgetFillColor () const
 Gets the fill color of the shape. More...
 
const mColorgetOutlineColor () const
 Gets the outline color of the shape. More...
 
const ColorShapegetFillColor () const
 Gets the fill color of the shape. More...
 
const ColorShapegetOutlineColor () const
 Gets the outline color of the shape. More...
 
float getOutlineThickness () const
 Gets the outline thickness of the shape. More...
 
 SVGElement ()
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width)
 Constructs a Shape object. More...
 
 SVGElement (const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)
 Constructs a Shape object. More...
 
@@ -233,14 +233,14 @@

Protected Attributes

- - - - - - + + + + + + @@ -295,19 +295,19 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 5 of file SVGElement.cpp.

-
+
7  gradient(NULL) {}
-
mColor fill
Fill color.
Definition: SVGElement.hpp:222
-
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:224
-
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:227
-
mColor stroke
Outline color.
Definition: SVGElement.hpp:223
-
static const mColor Black
Black predefined color.
Definition: Color.hpp:50
-
static const mColor Transparent
Transparent (black) predefined color.
Definition: Color.hpp:58
+
static const ColorShape Black
Black predefined color.
Definition: ColorShape.hpp:50
+
static const ColorShape Transparent
Transparent (black) predefined color.
Definition: ColorShape.hpp:59
+
float stroke_width
Thickness of the shape's outline.
Definition: SVGElement.hpp:225
+
Gradient * gradient
Pointer to the gradient that contains the shape.
Definition: SVGElement.hpp:228
+
ColorShape stroke
Outline color.
Definition: SVGElement.hpp:224
+
ColorShape fill
Fill color.
Definition: SVGElement.hpp:223
- -

◆ SVGElement() [2/3]

+ +

◆ SVGElement() [2/3]

@@ -318,13 +318,13 @@

SVGElement::SVGElement

- + - + @@ -358,12 +358,12 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 9 of file SVGElement.cpp.

- - -

◆ SVGElement() [3/3]

+ +

◆ SVGElement() [3/3]

@@ -374,13 +374,13 @@

SVGElement::SVGElement

- + - + @@ -421,9 +421,9 @@

Note
This constructor is protected because Shape is an abstract class that cannot be instantiated.

Definition at line 13 of file SVGElement.cpp.

-
+
16  position(position), gradient(NULL) {}
-
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:225
+
Vector2Df position
Position of the shape.
Definition: SVGElement.hpp:226
@@ -503,14 +503,14 @@

-

◆ getFillColor()

+ +

◆ getFillColor()

Private Attributes

-mColor fill
 Fill color.
 
-mColor stroke
 Outline color.
 
+ColorShape fill
 Fill color.
 
+ColorShape stroke
 Outline color.
 
float stroke_width
 Thickness of the shape's outline.
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
(const mColorconst ColorShape fill,
const mColorconst ColorShape stroke,
- + @@ -523,7 +523,7 @@

Note
The default fill color is white.

Definition at line 20 of file SVGElement.cpp.

-
20 { return fill; }
+
20 { return fill; }
@@ -618,14 +618,14 @@

-

◆ getOutlineColor()

+ +

◆ getOutlineColor()

const mColor & SVGElement::getFillColor const ColorShape & SVGElement::getFillColor ( ) const
- + @@ -638,7 +638,7 @@

Note
The default outline color is white.

Definition at line 24 of file SVGElement.cpp.

-
24 { return stroke; }
+
24 { return stroke; }
@@ -687,7 +687,7 @@

Definition at line 77 of file SVGElement.cpp.

77 { return parent; }
-
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:219
+
SVGElement * parent
Pointer to the group that contains the shape.
Definition: SVGElement.hpp:220
@@ -740,7 +740,7 @@

71  {
72  return transforms;
73 }
-
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:226
+
std::vector< std::string > transforms
List of transformations.
Definition: SVGElement.hpp:227
@@ -777,8 +777,8 @@

Definition at line 47 of file SVGElement.cpp.

47  {
48  std::cout << "Shape: " << getClass() << std::endl;
-
49  std::cout << "Fill: " << getFillColor() << std::endl;
-
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
+
49  std::cout << "Fill: " << getFillColor() << std::endl;
+
50  std::cout << "Stroke: " << getOutlineColor() << std::endl;
51  std::cout << "Stroke width: " << getOutlineThickness() << std::endl;
52  std::cout << "Position: " << getPosition().x << " " << getPosition().y
53  << std::endl;
@@ -796,18 +796,18 @@

65 }

std::pair< Vector2Df, Vector2Df > getPoints() const
Gets the start and end points of the gradient.
Definition: Gradient.cpp:9
virtual std::string getClass() const =0
Gets the type of the gradient.
+
const ColorShape & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
float getOutlineThickness() const
Gets the outline thickness of the shape.
Definition: SVGElement.cpp:30
Vector2Df getPosition() const
Get the current position of the shape.
Definition: SVGElement.cpp:41
-
const mColor & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
-
const mColor & getFillColor() const
Gets the fill color of the shape.
Definition: SVGElement.cpp:20
+
const ColorShape & getOutlineColor() const
Gets the outline color of the shape.
Definition: SVGElement.cpp:24
virtual std::string getClass() const =0
Gets the type of the shape.
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
- -

◆ setFillColor()

+ +

◆ setFillColor()

@@ -815,7 +815,7 @@

void SVGElement::setFillColor

- + @@ -831,7 +831,7 @@

Definition at line 18 of file SVGElement.cpp.

-
18 { fill = color; }
+
18 { fill = color; }
@@ -865,8 +865,8 @@

-

◆ setOutlineColor()

+ +

◆ setOutlineColor()

- + @@ -890,7 +890,7 @@

Definition at line 22 of file SVGElement.cpp.

-
22 { stroke = color; }
+
22 { stroke = color; }
diff --git a/docs/classSVGElement.js b/docs/classSVGElement.js index 6ef37ed..31b0f43 100644 --- a/docs/classSVGElement.js +++ b/docs/classSVGElement.js @@ -2,33 +2,33 @@ var classSVGElement = [ [ "~SVGElement", "classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1", null ], [ "SVGElement", "classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea", null ], - [ "SVGElement", "classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba", null ], - [ "SVGElement", "classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1", null ], + [ "SVGElement", "classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772", null ], + [ "SVGElement", "classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57", null ], [ "addElement", "classSVGElement.html#af699f9aa795572c2873e520849579881", null ], [ "getClass", "classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38", null ], - [ "getFillColor", "classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429", null ], + [ "getFillColor", "classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e", null ], [ "getGradient", "classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542", null ], [ "getMaxBound", "classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b", null ], [ "getMinBound", "classSVGElement.html#a0cce88c48233f4da470daad2edab0d06", null ], - [ "getOutlineColor", "classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e", null ], + [ "getOutlineColor", "classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c", null ], [ "getOutlineThickness", "classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51", null ], [ "getParent", "classSVGElement.html#a1b075314d4cda4fa895688979fe462fd", null ], [ "getPosition", "classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2", null ], [ "getTransforms", "classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87", null ], [ "printData", "classSVGElement.html#ad4bcd981ae7431161013811024b452e1", null ], - [ "setFillColor", "classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb", null ], + [ "setFillColor", "classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d", null ], [ "setGradient", "classSVGElement.html#a312b6aa934488672585c7e9d858300f8", null ], - [ "setOutlineColor", "classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2", null ], + [ "setOutlineColor", "classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e", null ], [ "setOutlineThickness", "classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8", null ], [ "setParent", "classSVGElement.html#a43b3bf06fae88a1634a189272088d11d", null ], [ "setPosition", "classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5", null ], [ "setPosition", "classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d", null ], [ "setTransforms", "classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5", null ], - [ "fill", "classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1", null ], + [ "fill", "classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05", null ], [ "gradient", "classSVGElement.html#aab61149df9916892540627a0d7c4480c", null ], [ "parent", "classSVGElement.html#adee748c3014de1c1ebd20411a52e824a", null ], [ "position", "classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f", null ], - [ "stroke", "classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13", null ], + [ "stroke", "classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8", null ], [ "stroke_width", "classSVGElement.html#a88449b487a890e3765ae20e96ee95c06", null ], [ "transforms", "classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6", null ] ]; \ No newline at end of file diff --git a/docs/classSVGElement__coll__graph.map b/docs/classSVGElement__coll__graph.map index 8bc79fa..de3de75 100644 --- a/docs/classSVGElement__coll__graph.map +++ b/docs/classSVGElement__coll__graph.map @@ -2,5 +2,5 @@ - + diff --git a/docs/classSVGElement__coll__graph.md5 b/docs/classSVGElement__coll__graph.md5 index 3032e4a..7c300ae 100644 --- a/docs/classSVGElement__coll__graph.md5 +++ b/docs/classSVGElement__coll__graph.md5 @@ -1 +1 @@ -de14543b2aa386bd3cc8059e5c509c75 \ No newline at end of file +c08278aa43bd6eab95cf4fb3be6b047a \ No newline at end of file diff --git a/docs/classSVGElement__coll__graph.svg b/docs/classSVGElement__coll__graph.svg index 238b93a..6fa6645 100644 --- a/docs/classSVGElement__coll__graph.svg +++ b/docs/classSVGElement__coll__graph.svg @@ -4,8 +4,8 @@ - + SVGElement @@ -18,7 +18,7 @@ - + Node1->Node1 @@ -59,34 +59,34 @@ Node4 - - -mColor + + +ColorShape - + Node4->Node1 - - - fill -stroke + + + fill +stroke - + Node4->Node4 - - - Black -Blue -Cyan -Green -Magenta -Red -Transparent -White -Yellow + + + Black +Blue +Cyan +Green +Magenta +Red +Transparent +White +Yellow diff --git a/docs/classStop-members.html b/docs/classStop-members.html index b26dbd5..5bdc200 100644 --- a/docs/classStop-members.html +++ b/docs/classStop-members.html @@ -124,11 +124,11 @@

This is the complete list of members for Stop, including all inherited members.

const mColor & SVGElement::getOutlineColor const ColorShape & SVGElement::getOutlineColor ( ) const(const mColorconst ColorShape color)
(const mColorconst ColorShape color)
- - + + - +
colorStopprivate
getColor() constStop
colorStopprivate
getColor() constStop
getOffset() constStop
offsetStopprivate
Stop(const mColor &color, float offset)Stop
Stop(const ColorShape &color, float offset)Stop

+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ViewBox Member List
+
+
+ +

This is the complete list of members for ViewBox, including all inherited members.

+ + + + + + + + + + + +
getHeight() constViewBox
getWidth() constViewBox
getX() constViewBox
getY() constViewBox
hViewBoxprivate
ViewBox()ViewBox
ViewBox(float X, float Y, float W, float H)ViewBox
wViewBoxprivate
xViewBoxprivate
yViewBoxprivate
+
+ + + \ No newline at end of file diff --git a/docs/classViewBox.html b/docs/classViewBox.html new file mode 100644 index 0000000..70a5e3a --- /dev/null +++ b/docs/classViewBox.html @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + +svg-reader: ViewBox Class Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
svg-reader +  0.3 +
+
Parse and render SVG files, handle user interactions.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
ViewBox Class Reference
+
+
+ +

A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user. + More...

+ +

#include <ViewBox.hpp>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ViewBox ()
 Default constructor. More...
 
 ViewBox (float X, float Y, float W, float H)
 Construct the ViewBox from its coordinates. More...
 
float getX () const
 Get the X coordinate of the ViewBox. More...
 
float getY () const
 Get the Y coordinate of the ViewBox. More...
 
float getWidth () const
 Get the width of the ViewBox. More...
 
float getHeight () const
 Get the height of the ViewBox. More...
 
+ + + + + + + + + + + + + +

+Private Attributes

+float x
 X coordinate of the ViewBox.
 
+float y
 Y coordinate of the ViewBox.
 
+float w
 Width of the ViewBox.
 
+float h
 Height of the ViewBox.
 
+

Detailed Description

+

A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.

+

The ViewBox is defined by its X and Y coordinates, its width and its height.

+ +

Definition at line 10 of file ViewBox.hpp.

+

Constructor & Destructor Documentation

+ +

◆ ViewBox() [1/2]

+ +
+
+ + + + + + + +
ViewBox::ViewBox ()
+
+ +

Default constructor.

+

Creates a ViewBox(0, 0, 0, 0).

+ +

Definition at line 3 of file ViewBox.cpp.

+
3 : x(0), y(0), w(0), h(0) {}
+
float h
Height of the ViewBox.
Definition: ViewBox.hpp:61
+
float w
Width of the ViewBox.
Definition: ViewBox.hpp:60
+
float x
X coordinate of the ViewBox.
Definition: ViewBox.hpp:58
+
float y
Y coordinate of the ViewBox.
Definition: ViewBox.hpp:59
+
+
+
+ +

◆ ViewBox() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ViewBox::ViewBox (float X,
float Y,
float W,
float H 
)
+
+ +

Construct the ViewBox from its coordinates.

+
Parameters
+ + + + + +
XX coordinate
YY coordinate
WWidth
HHeight
+
+
+ +

Definition at line 5 of file ViewBox.cpp.

+
5 : x(X), y(Y), w(W), h(H) {}
+
+
+
+

Member Function Documentation

+ +

◆ getHeight()

+ +
+
+ + + + + + + +
float ViewBox::getHeight () const
+
+ +

Get the height of the ViewBox.

+
Returns
Height of the ViewBox
+ +

Definition at line 13 of file ViewBox.cpp.

+
13 { return h; }
+
+
+
+ +

◆ getWidth()

+ +
+
+ + + + + + + +
float ViewBox::getWidth () const
+
+ +

Get the width of the ViewBox.

+
Returns
Width of the ViewBox
+ +

Definition at line 11 of file ViewBox.cpp.

+
11 { return w; }
+
+
+
+ +

◆ getX()

+ +
+
+ + + + + + + +
float ViewBox::getX () const
+
+ +

Get the X coordinate of the ViewBox.

+
Returns
X coordinate of the ViewBox
+ +

Definition at line 7 of file ViewBox.cpp.

+
7 { return x; }
+
+
+
+ +

◆ getY()

+ +
+
+ + + + + + + +
float ViewBox::getY () const
+
+ +

Get the Y coordinate of the ViewBox.

+
Returns
Y coordinate of the ViewBox
+ +

Definition at line 9 of file ViewBox.cpp.

+
9 { return y; }
+
+
+
+
The documentation for this class was generated from the following files: +
+
+ + + \ No newline at end of file diff --git a/docs/classViewBox.js b/docs/classViewBox.js new file mode 100644 index 0000000..82197e3 --- /dev/null +++ b/docs/classViewBox.js @@ -0,0 +1,13 @@ +var classViewBox = +[ + [ "ViewBox", "classViewBox.html#a23ee8257f489c18146082bf7c58a09e1", null ], + [ "ViewBox", "classViewBox.html#ac775b83d6648112514928499ca1256a4", null ], + [ "getHeight", "classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d", null ], + [ "getWidth", "classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b", null ], + [ "getX", "classViewBox.html#a62e0eb37e6f49b008be683a9051857f1", null ], + [ "getY", "classViewBox.html#ace506c1585508555ebff5f834b13f74f", null ], + [ "h", "classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74", null ], + [ "w", "classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0", null ], + [ "x", "classViewBox.html#aba09e235897cb11d7ce19f7a2b614366", null ], + [ "y", "classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0", null ] +]; \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html index ca784b6..62212c4 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -121,11 +121,11 @@
Class Index

-
C | E | G | L | M | P | R | S | T | V
+
C | E | G | L | P | R | S | T | V

diff --git a/docs/dir_560415a5d2bc4999842279f4fc1debef.js b/docs/dir_560415a5d2bc4999842279f4fc1debef.js index 9e39bb4..9c1637c 100644 --- a/docs/dir_560415a5d2bc4999842279f4fc1debef.js +++ b/docs/dir_560415a5d2bc4999842279f4fc1debef.js @@ -2,8 +2,8 @@ var dir_560415a5d2bc4999842279f4fc1debef = [ [ "Circle.cpp", "Circle_8cpp_source.html", null ], [ "Circle.hpp", "Circle_8hpp_source.html", null ], - [ "Color.cpp", "Color_8cpp_source.html", null ], - [ "Color.hpp", "Color_8hpp_source.html", null ], + [ "ColorShape.cpp", "ColorShape_8cpp_source.html", null ], + [ "ColorShape.hpp", "ColorShape_8hpp_source.html", null ], [ "Ellipse.cpp", "Ellipse_8cpp_source.html", null ], [ "Ellipse.hpp", "Ellipse_8hpp_source.html", null ], [ "Gradient.cpp", "Gradient_8cpp_source.html", null ], @@ -32,5 +32,7 @@ var dir_560415a5d2bc4999842279f4fc1debef = [ "SVGElement.hpp", "SVGElement_8hpp_source.html", null ], [ "Text.cpp", "Text_8cpp_source.html", null ], [ "Text.hpp", "Text_8hpp_source.html", null ], - [ "Vector2D.hpp", "Vector2D_8hpp_source.html", null ] + [ "Vector2D.hpp", "Vector2D_8hpp_source.html", null ], + [ "ViewBox.cpp", "ViewBox_8cpp_source.html", null ], + [ "ViewBox.hpp", "ViewBox_8hpp_source.html", null ] ]; \ No newline at end of file diff --git a/docs/files.html b/docs/files.html index be6ff43..ab28e06 100644 --- a/docs/files.html +++ b/docs/files.html @@ -127,8 +127,8 @@

  graphics
 Circle.cpp
 Circle.hpp
 Color.cpp
 Color.hpp
 ColorShape.cpp
 ColorShape.hpp
 Ellipse.cpp
 Ellipse.hpp
 Gradient.cpp
 Text.cpp
 Text.hpp
 Vector2D.hpp
 ViewBox.cpp
 ViewBox.hpp
 Graphics.hpp
 main.cpp
 Parser.cpp
- - - - + + + + @@ -146,7 +146,8 @@ - + +
 CGradientA class that represents a gradient
 CLinearGradientA class that represents a linear gradient
 CRadialGradientA class that represents a radial gradient
 CmColorUtility class for manipulating RGBA mColors
 CColorShapeUtility class for manipulating RGBA ColorShapes
 CGradientA class that represents a gradient
 CLinearGradientA class that represents a linear gradient
 CRadialGradientA class that represents a radial gradient
 CParserTo manipulate and parse an SVG file
 CPathPointA struct that contains a point and a type of point
 CRendererSingleton class responsible for rendering shapes using GDI+
 CTextRepresents text in 2D space
 CVector2D< T >Utility template class for manipulating 2-dimensional vectors
 CVector2D< float >
 CViewerRepresents a viewer for rendering and interacting with a scene
 CViewBoxA ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user
 CViewerRepresents a viewer for rendering and interacting with a scene
diff --git a/docs/hierarchy.js b/docs/hierarchy.js index be89d92..c36fc0d 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -1,10 +1,10 @@ var hierarchy = [ + [ "ColorShape", "classColorShape.html", null ], [ "Gradient", "classGradient.html", [ [ "LinearGradient", "classLinearGradient.html", null ], [ "RadialGradient", "classRadialGradient.html", null ] ] ], - [ "mColor", "classmColor.html", null ], [ "Parser", "classParser.html", null ], [ "PathPoint", "structPathPoint.html", null ], [ "Renderer", "classRenderer.html", null ], @@ -25,5 +25,6 @@ var hierarchy = ] ], [ "Vector2D< T >", "classVector2D.html", null ], [ "Vector2D< float >", "classVector2D.html", null ], + [ "ViewBox", "classViewBox.html", null ], [ "Viewer", "classViewer.html", null ] ]; \ No newline at end of file diff --git a/docs/inherit_graph_0.map b/docs/inherit_graph_0.map index 5a644b3..4cd9a25 100644 --- a/docs/inherit_graph_0.map +++ b/docs/inherit_graph_0.map @@ -1,5 +1,3 @@ - - - + diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 index 38ee721..ecbfb4b 100644 --- a/docs/inherit_graph_0.md5 +++ b/docs/inherit_graph_0.md5 @@ -1 +1 @@ -7a024556b281146d5c87fc69160b63da \ No newline at end of file +1e1fce3b0813fe4394e0bb89f6cd570f \ No newline at end of file diff --git a/docs/inherit_graph_0.svg b/docs/inherit_graph_0.svg index 69349df..405cb60 100644 --- a/docs/inherit_graph_0.svg +++ b/docs/inherit_graph_0.svg @@ -4,48 +4,18 @@ - - + + Graphical Class Hierarchy Node0 - - -Gradient + + +ColorShape - - -Node1 - - -LinearGradient - - - - - -Node0->Node1 - - - - - -Node2 - - -RadialGradient - - - - - -Node0->Node2 - - - diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map index a56d7a5..5a644b3 100644 --- a/docs/inherit_graph_1.map +++ b/docs/inherit_graph_1.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 index 337e5d3..38ee721 100644 --- a/docs/inherit_graph_1.md5 +++ b/docs/inherit_graph_1.md5 @@ -1 +1 @@ -e9151bbeb9d674c4613eb5287372eb63 \ No newline at end of file +7a024556b281146d5c87fc69160b63da \ No newline at end of file diff --git a/docs/inherit_graph_1.svg b/docs/inherit_graph_1.svg index bf3465c..69349df 100644 --- a/docs/inherit_graph_1.svg +++ b/docs/inherit_graph_1.svg @@ -4,18 +4,48 @@ - - + + Graphical Class Hierarchy Node0 - - -mColor + + +Gradient + + +Node1 + + +LinearGradient + + + + + +Node0->Node1 + + + + + +Node2 + + +RadialGradient + + + + + +Node0->Node2 + + + diff --git a/docs/inherit_graph_10.map b/docs/inherit_graph_10.map new file mode 100644 index 0000000..13611f4 --- /dev/null +++ b/docs/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_10.md5 b/docs/inherit_graph_10.md5 new file mode 100644 index 0000000..328d461 --- /dev/null +++ b/docs/inherit_graph_10.md5 @@ -0,0 +1 @@ +8d40b5ccb585d3083a800b0554f0fc30 \ No newline at end of file diff --git a/docs/inherit_graph_10.svg b/docs/inherit_graph_10.svg new file mode 100644 index 0000000..2c9155f --- /dev/null +++ b/docs/inherit_graph_10.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +Viewer + + + + + diff --git a/docs/inherit_graph_9.map b/docs/inherit_graph_9.map index 13611f4..36e5801 100644 --- a/docs/inherit_graph_9.map +++ b/docs/inherit_graph_9.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_9.md5 b/docs/inherit_graph_9.md5 index 328d461..696575f 100644 --- a/docs/inherit_graph_9.md5 +++ b/docs/inherit_graph_9.md5 @@ -1 +1 @@ -8d40b5ccb585d3083a800b0554f0fc30 \ No newline at end of file +30f996d0cfcd5b095c17be5c1bc93320 \ No newline at end of file diff --git a/docs/inherit_graph_9.svg b/docs/inherit_graph_9.svg index 2c9155f..c41a6c3 100644 --- a/docs/inherit_graph_9.svg +++ b/docs/inherit_graph_9.svg @@ -4,16 +4,16 @@ - + Graphical Class Hierarchy Node0 - - -Viewer + + +ViewBox diff --git a/docs/inherits.html b/docs/inherits.html index cb78d1a..c5973cd 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -124,9 +124,9 @@ - - @@ -142,7 +142,9 @@ - +
+
+
+
+
diff --git a/docs/main_8cpp_source.html b/docs/main_8cpp_source.html index 0d9468a..ffd9d55 100644 --- a/docs/main_8cpp_source.html +++ b/docs/main_8cpp_source.html @@ -137,154 +137,177 @@
14 
15 void OnPaint(HDC hdc, const std::string& filePath, Viewer& viewer) {
16  Gdiplus::Graphics graphics(hdc);
-
17  if (!parser) {
-
18  parser = Parser::getInstance(filePath);
-
19  }
-
20  Vector2Df viewport = parser->getViewPort();
-
21  std::pair< Vector2Df, Vector2Df > viewbox = parser->getViewBox();
-
22  if (viewport.x == 0 && viewport.y == 0) {
-
23  viewport.x = viewer.window_size.x;
-
24  viewport.y = viewer.window_size.y;
-
25  }
-
26  graphics.SetClip(Gdiplus::Rect(0, 0, viewport.x, viewport.y));
-
27  if ((viewport.x != viewbox.second.x || viewport.y != viewbox.second.y) &&
-
28  viewbox.second.x != 0 && viewbox.second.y != 0) {
-
29  float scale_x = viewport.x / viewbox.second.x;
-
30  float scale_y = viewport.y / viewbox.second.y;
-
31  float scale = std::min(scale_x, scale_y);
-
32  scale = roundf(scale * 100) / 100;
-
33  graphics.ScaleTransform(scale, scale);
-
34  float offset_x = 0.0f;
-
35  float offset_y = 0.0f;
-
36  if (viewport.x > viewbox.second.x) {
-
37  offset_x = (viewport.x - viewbox.second.x * scale) / 2 / scale;
-
38  }
-
39  if (viewport.y > viewbox.second.y) {
-
40  offset_y = (viewport.y - viewbox.second.y * scale) / 2 / scale;
-
41  }
-
42  graphics.TranslateTransform(offset_x, offset_y);
-
43  }
-
44  graphics.TranslateTransform(-viewbox.first.x, -viewbox.first.y);
-
45 
-
46  graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias8x8);
-
47  graphics.SetTextContrast(100);
-
48  graphics.SetCompositingMode(Gdiplus::CompositingModeSourceOver);
-
49  graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHighQuality);
-
50  graphics.SetInterpolationMode(Gdiplus::InterpolationModeHighQuality);
-
51 
-
52  Gdiplus::Matrix matrix;
-
53  Gdiplus::Region region;
-
54  graphics.GetClip(&region);
-
55  graphics.RotateTransform(viewer.rotate_angle);
-
56  graphics.ScaleTransform(viewer.zoom_factor, viewer.zoom_factor);
-
57  graphics.TranslateTransform(viewer.offset_x, viewer.offset_y);
-
58  graphics.SetClip(&region);
-
59 
-
60  Renderer* renderer = Renderer::getInstance();
-
61  SVGElement* root = parser->getRoot();
-
62  Group* group = dynamic_cast< Group* >(root);
-
63  renderer->draw(graphics, group);
-
64 }
-
65 
-
66 INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow) {
-
67  HWND hWnd;
-
68  MSG msg;
-
69  WNDCLASS wndClass;
-
70  Gdiplus::GdiplusStartupInput gdiplusStartupInput;
-
71  ULONG_PTR gdiplusToken;
-
72 
-
73  // Initialize GDI+.
-
74  GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
-
75 
-
76  wndClass.style = CS_HREDRAW | CS_VREDRAW;
-
77  wndClass.lpfnWndProc = WndProc;
-
78  wndClass.cbClsExtra = 0;
-
79  wndClass.cbWndExtra = 0;
-
80  wndClass.hInstance = hInstance;
-
81  wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
-
82  wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
-
83  wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
-
84  wndClass.lpszMenuName = NULL;
-
85  wndClass.lpszClassName = TEXT("svg-reader-v0.2");
-
86 
-
87  RegisterClass(&wndClass);
-
88 
-
89  hWnd = CreateWindowEx(0,
-
90  TEXT("svg-reader-v0.2"), // window class name
-
91  TEXT("svg-reader-v0.2"), // window caption
-
92  WS_OVERLAPPEDWINDOW, // window style
-
93  0, // initial x position
-
94  0, // initial y position
-
95  1600, // initial x size
-
96  900, // initial y size
-
97  NULL, // parent window handle
-
98  NULL, // window menu handle
-
99  hInstance, // program instance handle
-
100  NULL); // creation parameters
-
101 
-
102  ShowWindow(hWnd, iCmdShow);
-
103  UpdateWindow(hWnd);
-
104 
-
105  while (GetMessage(&msg, NULL, 0, 0)) {
-
106  TranslateMessage(&msg);
-
107  DispatchMessage(&msg);
-
108  }
-
109 
-
110  if (parser) delete parser;
-
111  Gdiplus::GdiplusShutdown(gdiplusToken);
-
112  return msg.wParam;
-
113 }
-
114 
-
115 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
-
116  LPARAM lParam) {
-
117  HDC hdc;
-
118  PAINTSTRUCT ps;
-
119  std::string filePath;
-
120  if (__argc > 1) {
-
121  filePath = __argv[1];
-
122  }
-
123  Viewer* viewer = Viewer::getInstance();
-
124  switch (message) {
-
125  case WM_PAINT:
-
126  hdc = BeginPaint(hWnd, &ps);
-
127  viewer->getWindowSize(hWnd);
-
128  OnPaint(hdc, filePath, *viewer);
-
129  EndPaint(hWnd, &ps);
-
130  return 0;
-
131  case WM_MOUSEWHEEL:
-
132  case WM_MOUSEMOVE:
-
133  case WM_LBUTTONDOWN:
-
134  case WM_LBUTTONUP:
-
135  viewer->handleMouseEvent(message, wParam, lParam);
-
136  if (viewer->needs_repaint) {
-
137  InvalidateRect(hWnd, NULL, TRUE);
-
138  viewer->needs_repaint = false;
-
139  }
-
140  return 0;
-
141  case WM_KEYDOWN:
-
142  viewer->handleKeyEvent(wParam);
-
143  InvalidateRect(hWnd, NULL, TRUE);
-
144  return 0;
-
145  case WM_DESTROY:
-
146  PostQuitMessage(0);
-
147  return 0;
-
148  default:
-
149  return DefWindowProc(hWnd, message, wParam, lParam);
-
150  }
-
151 }
-
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:19
+
17 
+
18  // Set up the graphics object for antialiased rendering.
+
19  if (!parser) {
+
20  parser = Parser::getInstance(filePath);
+
21  }
+
22 
+
23  // Set up Viewbox and Viewport
+
24  Vector2Df viewport = parser->getViewPort();
+
25  ViewBox viewbox = parser->getViewBox();
+
26  if (viewport.x == 0 && viewport.y == 0) {
+
27  viewport.x = viewer.window_size.x;
+
28  viewport.y = viewer.window_size.y;
+
29  }
+
30 
+
31  graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias8x8);
+
32  graphics.SetTextContrast(100);
+
33  graphics.SetCompositingMode(Gdiplus::CompositingModeSourceOver);
+
34  graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHighQuality);
+
35  graphics.SetInterpolationMode(Gdiplus::InterpolationModeHighQuality);
+
36 
+
37  graphics.SetClip(Gdiplus::Rect(0, 0, viewport.x, viewport.y));
+
38  if ((viewport.x != viewbox.getWidth() ||
+
39  viewport.y != viewbox.getHeight()) &&
+
40  viewbox.getWidth() != 0 && viewbox.getHeight() != 0) {
+
41  float scale_x = viewport.x / viewbox.getWidth();
+
42  float scale_y = viewport.y / viewbox.getHeight();
+
43  float scale = std::min(scale_x, scale_y);
+
44  graphics.ScaleTransform(scale, scale);
+
45  float offset_x = 0.0f;
+
46  float offset_y = 0.0f;
+
47  if (viewport.x > viewbox.getWidth()) {
+
48  offset_x = (viewport.x - viewbox.getWidth() * scale) / 2 / scale;
+
49  }
+
50  if (viewport.y > viewbox.getHeight()) {
+
51  offset_y = (viewport.y - viewbox.getHeight() * scale) / 2 / scale;
+
52  }
+
53  graphics.TranslateTransform(offset_x, offset_y);
+
54  }
+
55  graphics.TranslateTransform(-viewbox.getX(), -viewbox.getY());
+
56 
+
57  Gdiplus::Matrix matrix;
+
58  Gdiplus::Region region;
+
59  graphics.GetClip(&region);
+
60  graphics.RotateTransform(viewer.rotate_angle);
+
61  graphics.ScaleTransform(viewer.zoom_factor, viewer.zoom_factor);
+
62  graphics.TranslateTransform(viewer.offset_x, viewer.offset_y);
+
63  graphics.SetClip(&region);
+
64 
+
65  // Render the SVG file.
+
66  Renderer* renderer = Renderer::getInstance();
+
67  SVGElement* root = parser->getRoot();
+
68  Group* group = dynamic_cast< Group* >(root);
+
69  renderer->draw(graphics, group);
+
70 }
+
71 
+
72 INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow) {
+
73  HWND hWnd;
+
74  MSG msg;
+
75  WNDCLASS wndClass;
+
76  Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+
77  ULONG_PTR gdiplusToken;
+
78 
+
79  // Initialize GDI+.
+
80  GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
+
81 
+
82  wndClass.style = CS_HREDRAW | CS_VREDRAW;
+
83  wndClass.lpfnWndProc = WndProc;
+
84  wndClass.cbClsExtra = 0;
+
85  wndClass.cbWndExtra = 0;
+
86  wndClass.hInstance = hInstance;
+
87  wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+
88  wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
+
89  wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
+
90  wndClass.lpszMenuName = NULL;
+
91  wndClass.lpszClassName = TEXT("svg-reader-v0.2");
+
92 
+
93  RegisterClass(&wndClass);
+
94 
+
95  hWnd = CreateWindowEx(0,
+
96  TEXT("svg-reader-v0.2"), // window class name
+
97  TEXT("svg-reader-v0.2"), // window caption
+
98  WS_OVERLAPPEDWINDOW, // window style
+
99  0, // initial x position
+
100  0, // initial y position
+
101  1600, // initial x size
+
102  900, // initial y size
+
103  NULL, // parent window handle
+
104  NULL, // window menu handle
+
105  hInstance, // program instance handle
+
106  NULL); // creation parameters
+
107 
+
108  ShowWindow(hWnd, iCmdShow);
+
109  UpdateWindow(hWnd);
+
110 
+
111  while (GetMessage(&msg, NULL, 0, 0)) {
+
112  TranslateMessage(&msg);
+
113  DispatchMessage(&msg);
+
114  }
+
115 
+
116  if (parser) delete parser;
+
117  Gdiplus::GdiplusShutdown(gdiplusToken);
+
118  return msg.wParam;
+
119 }
+
120 
+
121 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
+
122  LPARAM lParam) {
+
123  HDC hdc;
+
124  PAINTSTRUCT ps;
+
125  std::string filePath;
+
126  if (__argc > 1) {
+
127  filePath = __argv[1];
+
128  std::ifstream file(filePath);
+
129  if (!file.good()) {
+
130  std::cerr << "Error: File path is invalid or does not exist."
+
131  << std::endl;
+
132  PostQuitMessage(0);
+
133  return 0;
+
134  }
+
135  file.close();
+
136  } else {
+
137  std::cerr << "Error: No file path provided." << std::endl;
+
138  PostQuitMessage(0);
+
139  return 0;
+
140  }
+
141  Viewer* viewer = Viewer::getInstance();
+
142  switch (message) {
+
143  case WM_PAINT:
+
144  hdc = BeginPaint(hWnd, &ps);
+
145  viewer->getWindowSize(hWnd);
+
146  OnPaint(hdc, filePath, *viewer);
+
147  EndPaint(hWnd, &ps);
+
148  return 0;
+
149  case WM_MOUSEWHEEL:
+
150  case WM_MOUSEMOVE:
+
151  case WM_LBUTTONDOWN:
+
152  case WM_LBUTTONUP:
+
153  viewer->handleMouseEvent(message, wParam, lParam);
+
154  if (viewer->needs_repaint) {
+
155  InvalidateRect(hWnd, NULL, TRUE);
+
156  viewer->needs_repaint = false;
+
157  }
+
158  return 0;
+
159  case WM_KEYDOWN:
+
160  viewer->handleKeyEvent(wParam);
+
161  InvalidateRect(hWnd, NULL, TRUE);
+
162  return 0;
+
163  case WM_DESTROY:
+
164  PostQuitMessage(0);
+
165  return 0;
+
166  default:
+
167  return DefWindowProc(hWnd, message, wParam, lParam);
+
168  }
+
169 }
+
A composite class that contains a vector of shape pointers (polymorphic).
Definition: Group.hpp:20
To manipulate and parse an SVG file.
Definition: Parser.hpp:24
-
Vector2Df getViewPort() const
Gets the viewport of the SVG file.
Definition: Parser.cpp:832
-
static Parser * getInstance(const std::string &file_name)
Gets the singleton instance of the Parser class.
Definition: Parser.cpp:158
-
std::pair< Vector2Df, Vector2Df > getViewBox() const
Gets the viewbox of the SVG file.
Definition: Parser.cpp:830
-
Group * getRoot()
Gets the root of the tree of SVGElements.
Definition: Parser.cpp:169
+
Vector2Df getViewPort() const
Gets the viewport of the SVG file.
Definition: Parser.cpp:914
+
static Parser * getInstance(const std::string &file_name)
Gets the singleton instance of the Parser class.
Definition: Parser.cpp:171
+
ViewBox getViewBox() const
Gets the viewbox of the SVG file.
Definition: Parser.cpp:911
+
Group * getRoot()
Gets the root of the tree of SVGElements.
Definition: Parser.cpp:184
Singleton class responsible for rendering shapes using GDI+.
Definition: Renderer.hpp:24
-
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:73
+
void draw(Gdiplus::Graphics &graphics, Group *group) const
Draws a shape using Gdiplus::Graphics based on its type.
Definition: Renderer.cpp:79
static Renderer * getInstance()
Gets the singleton instance of the Renderer class.
Definition: Renderer.cpp:11
Represents an element in an SVG file.
Definition: SVGElement.hpp:18
T x
X coordinate of the vector.
Definition: Vector2D.hpp:45
T y
Y coordinate of the vector.
Definition: Vector2D.hpp:46
+
A ViewBox is a rectangle that defines the area of the SVG canvas that should be visible to the user.
Definition: ViewBox.hpp:10
+
float getX() const
Get the X coordinate of the ViewBox.
Definition: ViewBox.cpp:7
+
float getHeight() const
Get the height of the ViewBox.
Definition: ViewBox.cpp:13
+
float getWidth() const
Get the width of the ViewBox.
Definition: ViewBox.cpp:11
+
float getY() const
Get the Y coordinate of the ViewBox.
Definition: ViewBox.cpp:9
Represents a viewer for rendering and interacting with a scene.
Definition: Viewer.hpp:16
float offset_y
Y-coordinate offset of the viewer.
Definition: Viewer.hpp:19
float offset_x
X-coordinate offset of the viewer.
Definition: Viewer.hpp:18
diff --git a/docs/menudata.js b/docs/menudata.js index cbf38df..3d093d6 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -62,7 +62,6 @@ var menudata={children:[ {text:"g",url:"functions_func.html#index_g"}, {text:"h",url:"functions_func.html#index_h"}, {text:"l",url:"functions_func.html#index_l"}, -{text:"m",url:"functions_func.html#index_m"}, {text:"o",url:"functions_func.html#index_o"}, {text:"p",url:"functions_func.html#index_p"}, {text:"r",url:"functions_func.html#index_r"}, diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 8083760..f51bf2d 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -45,7 +45,7 @@ var NAVTREE = var NAVTREEINDEX = [ "Circle_8cpp_source.html", -"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da" +"classText.html#a40e38d59ba9b34df9900375409f6f03f" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index d1069a6..0ce9a47 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -2,8 +2,8 @@ var NAVTREEINDEX0 = { "Circle_8cpp_source.html":[1,0,0,0,0], "Circle_8hpp_source.html":[1,0,0,0,1], -"Color_8cpp_source.html":[1,0,0,0,2], -"Color_8hpp_source.html":[1,0,0,0,3], +"ColorShape_8cpp_source.html":[1,0,0,0,2], +"ColorShape_8hpp_source.html":[1,0,0,0,3], "Ellipse_8cpp_source.html":[1,0,0,0,4], "Ellipse_8hpp_source.html":[1,0,0,0,5], "Gradient_8cpp_source.html":[1,0,0,0,6], @@ -38,92 +38,111 @@ var NAVTREEINDEX0 = "Text_8cpp_source.html":[1,0,0,0,30], "Text_8hpp_source.html":[1,0,0,0,31], "Vector2D_8hpp_source.html":[1,0,0,0,32], +"ViewBox_8cpp_source.html":[1,0,0,0,33], +"ViewBox_8hpp_source.html":[1,0,0,0,34], "Viewer_8cpp_source.html":[1,0,0,7], "Viewer_8hpp_source.html":[1,0,0,8], "annotated.html":[0,0], "classCircle.html":[0,0,0], "classCircle.html#a09523e46318092d42a5969a1da5613bb":[0,0,0,1], -"classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0":[0,0,0,0], -"classEll.html":[0,0,1], -"classEll.html#a00d607a5238705b552ec61b4409b76c1":[0,0,1,4], -"classEll.html#a0d0a2a70c06878c5769bd7d092277892":[0,0,1,1], -"classEll.html#a1d6d60039d2405f2b7aa117206d128fb":[0,0,1,5], -"classEll.html#a4a9956ca82cb9f957e993fa0c0faced6":[0,0,1,0], -"classEll.html#a8a8dd2acc8c7be5580dd8e549d247525":[0,0,1,2], -"classEll.html#a9f67131ba02c02fccf42c52f5f04525e":[0,0,1,6], -"classEll.html#ab79368df57ee08382916fc52b69afb85":[0,0,1,3], -"classEll.html#af57a48abe0e2bc8806e73dfa7762388f":[0,0,1,7], -"classGradient.html":[0,0,2], -"classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d":[0,0,2,5], -"classGradient.html#a1387db53f850dd8cc765fc837c6e97e8":[0,0,2,12], -"classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5":[0,0,2,2], -"classGradient.html#a54cc5770c2dce46f1d56bcfb63285173":[0,0,2,7], -"classGradient.html#a592dda454dc4df897263212191d6e3cb":[0,0,2,13], -"classGradient.html#a61dd624d452ab2afe913414158888165":[0,0,2,9], -"classGradient.html#a7831fa94135c818481ef7c85f792e1ca":[0,0,2,11], -"classGradient.html#a8da859d1b12459800e763c31f18d0d41":[0,0,2,10], -"classGradient.html#a9332299756c51c99398ce09e584a8b42":[0,0,2,1], -"classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257":[0,0,2,0], -"classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08":[0,0,2,4], -"classGradient.html#adb86ee7c9171cb7294d1bb8956e97891":[0,0,2,3], -"classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1":[0,0,2,6], -"classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9":[0,0,2,8], -"classGroup.html":[0,0,3], -"classGroup.html#a070e010084eaac6131e1bf814d10d234":[0,0,3,5], -"classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6":[0,0,3,1], -"classGroup.html#a310fa83ccb20841373c11b6b4ac1d336":[0,0,3,6], -"classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f":[0,0,3,4], -"classGroup.html#a42fa18c4215ad3669db32b78e22303fa":[0,0,3,7], -"classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41":[0,0,3,9], -"classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1":[0,0,3,0], -"classGroup.html#a9308f587c63720ccbe2bfd1bad868547":[0,0,3,8], -"classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c":[0,0,3,2], -"classGroup.html#af4dafed0506ca5e9ea9e1028b1504919":[0,0,3,3], -"classLine.html":[0,0,4], -"classLine.html#a3fe45077492213ef490739c6137200d1":[0,0,4,5], -"classLine.html#a745f295541d412b49dac89423bd957a6":[0,0,4,1], -"classLine.html#ab46a879365e623e8b360c2db54d76782":[0,0,4,4], -"classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c":[0,0,4,0], -"classLine.html#adb348ce7ddf4b500c3593b7126aa4451":[0,0,4,2], -"classLine.html#afe6672bc7667cf45739c46f9fc8cb237":[0,0,4,3], -"classLinearGradient.html":[0,0,5], -"classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a":[0,0,5,1], -"classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b":[0,0,5,0], +"classCircle.html#ace05db36eae5455a95be7aaff49d1fd9":[0,0,0,0], +"classColorShape.html":[0,0,1], +"classColorShape.html#a1df0c31367734b49349f8d51ebc26889":[0,0,1,7], +"classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1":[0,0,1,0], +"classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d":[0,0,1,10], +"classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302":[0,0,1,1], +"classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c":[0,0,1,13], +"classColorShape.html#a6bc88305d41255e2d9969bec6777420a":[0,0,1,16], +"classColorShape.html#a7e699ac932feca73128bb768047c154b":[0,0,1,12], +"classColorShape.html#a8132294eb978dd065d7da6896d7782af":[0,0,1,11], +"classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87":[0,0,1,6], +"classColorShape.html#a87ec94f44076a578446b384afafae0ec":[0,0,1,8], +"classColorShape.html#a91c01752af407a122a81c6c44afbba9f":[0,0,1,9], +"classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a":[0,0,1,4], +"classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68":[0,0,1,5], +"classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6":[0,0,1,2], +"classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44":[0,0,1,3], +"classColorShape.html#ac5fd30929839c15bf0e1321552130a70":[0,0,1,15], +"classColorShape.html#af806b9a0f2490761528be87924cb04c0":[0,0,1,14], +"classEll.html":[0,0,2], +"classEll.html#a00d607a5238705b552ec61b4409b76c1":[0,0,2,4], +"classEll.html#a0d0a2a70c06878c5769bd7d092277892":[0,0,2,1], +"classEll.html#a1d6d60039d2405f2b7aa117206d128fb":[0,0,2,5], +"classEll.html#a8a8dd2acc8c7be5580dd8e549d247525":[0,0,2,2], +"classEll.html#a9f67131ba02c02fccf42c52f5f04525e":[0,0,2,6], +"classEll.html#ab18115d5d2ad73b80ffbdf3661908f38":[0,0,2,0], +"classEll.html#ab79368df57ee08382916fc52b69afb85":[0,0,2,3], +"classEll.html#af57a48abe0e2bc8806e73dfa7762388f":[0,0,2,7], +"classGradient.html":[0,0,3], +"classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d":[0,0,3,5], +"classGradient.html#a1387db53f850dd8cc765fc837c6e97e8":[0,0,3,12], +"classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5":[0,0,3,2], +"classGradient.html#a54cc5770c2dce46f1d56bcfb63285173":[0,0,3,7], +"classGradient.html#a592dda454dc4df897263212191d6e3cb":[0,0,3,13], +"classGradient.html#a61dd624d452ab2afe913414158888165":[0,0,3,9], +"classGradient.html#a7831fa94135c818481ef7c85f792e1ca":[0,0,3,11], +"classGradient.html#a8da859d1b12459800e763c31f18d0d41":[0,0,3,10], +"classGradient.html#a9332299756c51c99398ce09e584a8b42":[0,0,3,1], +"classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257":[0,0,3,0], +"classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08":[0,0,3,4], +"classGradient.html#adb86ee7c9171cb7294d1bb8956e97891":[0,0,3,3], +"classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1":[0,0,3,6], +"classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9":[0,0,3,8], +"classGroup.html":[0,0,4], +"classGroup.html#a070e010084eaac6131e1bf814d10d234":[0,0,4,5], +"classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6":[0,0,4,1], +"classGroup.html#a310fa83ccb20841373c11b6b4ac1d336":[0,0,4,6], +"classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f":[0,0,4,4], +"classGroup.html#a42fa18c4215ad3669db32b78e22303fa":[0,0,4,7], +"classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41":[0,0,4,9], +"classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1":[0,0,4,0], +"classGroup.html#a9308f587c63720ccbe2bfd1bad868547":[0,0,4,8], +"classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c":[0,0,4,2], +"classGroup.html#af4dafed0506ca5e9ea9e1028b1504919":[0,0,4,3], +"classLine.html":[0,0,5], +"classLine.html#a3fe45077492213ef490739c6137200d1":[0,0,5,5], +"classLine.html#a745f295541d412b49dac89423bd957a6":[0,0,5,1], +"classLine.html#ab46a879365e623e8b360c2db54d76782":[0,0,5,4], +"classLine.html#abef476564dc2f7dad7259ee5071301fa":[0,0,5,0], +"classLine.html#adb348ce7ddf4b500c3593b7126aa4451":[0,0,5,2], +"classLine.html#afe6672bc7667cf45739c46f9fc8cb237":[0,0,5,3], +"classLinearGradient.html":[0,0,6], +"classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a":[0,0,6,1], +"classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b":[0,0,6,0], "classParser.html":[0,0,7], "classParser.html#a009fbe10a1b9b58a65be44634335a062":[0,0,7,11], -"classParser.html#a03766f0f9f6ebdead0474973d3ac50aa":[0,0,7,22], "classParser.html#a06952fa44f19fdb573c1355ac26454c5":[0,0,7,7], -"classParser.html#a0af0085ee5e20739bdf23a5b685642b6":[0,0,7,15], "classParser.html#a13a5e2fdac62670c1584de1edbba77f2":[0,0,7,29], -"classParser.html#a18d5a9aa35bd124023a060940486e183":[0,0,7,13], -"classParser.html#a20352ab58a59e61f6da1b4d20861907d":[0,0,7,23], +"classParser.html#a231c2e522115ae9a4fd9629285ed28e1":[0,0,7,10], "classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a":[0,0,7,31], +"classParser.html#a2e5e2efef794624abaa9bf390e234950":[0,0,7,13], "classParser.html#a350fc3e35535c5891cd9e36e79ee546a":[0,0,7,2], "classParser.html#a3d8927f2e26abf6a63bd850c154b23c6":[0,0,7,26], +"classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359":[0,0,7,21], "classParser.html#a3e658b5917a93a3ef648050d060e3a93":[0,0,7,1], "classParser.html#a48044a8caa14a251cb4dad9fb363658e":[0,0,7,0], -"classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69":[0,0,7,10], -"classParser.html#a539bda46a2832a22741105c9299c12cb":[0,0,7,25], "classParser.html#a59ed4455eaec306cde11939785c4e71a":[0,0,7,8], +"classParser.html#a5dd4328e960681889155a13f699200ce":[0,0,7,22], "classParser.html#a63329a7accdf332feb3fba1bcc4deec6":[0,0,7,3], -"classParser.html#a6f80728e7a771d2653baf1b453b655d9":[0,0,7,18], -"classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5":[0,0,7,21], -"classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7":[0,0,7,30], +"classParser.html#a741b866e359471784380c23c5b71d9da":[0,0,7,17], "classParser.html#a7f085da78317baf2cc61e6e92b4b29c8":[0,0,7,27], -"classParser.html#a95e84ae219109769fae08702381acf78":[0,0,7,17], "classParser.html#a99df58e649089762bf434502173716d6":[0,0,7,9], +"classParser.html#a9ed27a4ee0360f437acb83553dd76c9f":[0,0,7,25], +"classParser.html#aa2249c02eee1ce310158a3450450ff3e":[0,0,7,15], +"classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666":[0,0,7,30], "classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af":[0,0,7,14], "classParser.html#ab2b1df7c69830fafcbe36de5199dcd30":[0,0,7,4], -"classParser.html#ab7776f740b7d63c388a086c8b8ecccd0":[0,0,7,12], "classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e":[0,0,7,24], "classParser.html#ac00eac6bf37c45c9160fa47700d2466f":[0,0,7,5], "classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3":[0,0,7,16], "classParser.html#aca2ed5f466436a9e9f78618bb1e356fd":[0,0,7,6], +"classParser.html#ad7063613f30bc89a4a9197cd664fe9d4":[0,0,7,23], "classParser.html#ae3a28c02c18171f4e83fae54b9f21a90":[0,0,7,28], "classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3":[0,0,7,19], "classParser.html#af408a2ef7b27ceed0547093d73e6b2eb":[0,0,7,20], +"classParser.html#af4b65cb5b02ac856daba07387f67c6aa":[0,0,7,18], +"classParser.html#af634ef273fb8c221a832688c19244adf":[0,0,7,12], "classPath.html":[0,0,8], -"classPath.html#a089f2f59cc5574ce9e93826891044378":[0,0,8,0], "classPath.html#a1880b844baafdeca91a7cf5d155cf9f1":[0,0,8,8], "classPath.html#a3d2df8f3367db525772586065e16151e":[0,0,8,5], "classPath.html#a9395325e65f86fd2a4be2dc24408753a":[0,0,8,3], @@ -132,12 +151,13 @@ var NAVTREEINDEX0 = "classPath.html#ac99ffb44f19586a10ee39aa70fd4a260":[0,0,8,2], "classPath.html#ad2ba583a2dd567c3295ea62817b541e9":[0,0,8,6], "classPath.html#ad4273c2a1b288fe43dd86375afc16f66":[0,0,8,1], +"classPath.html#ad8dab023d3009f51f001fb930c2334c2":[0,0,8,0], "classPlygon.html":[0,0,10], "classPlygon.html#aab00a0d0230ea320271e96c326c6b919":[0,0,10,1], -"classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd":[0,0,10,0], +"classPlygon.html#ade144fd5857f80e3b345e2ba538b017d":[0,0,10,0], "classPlyline.html":[0,0,11], +"classPlyline.html#a248be9e58f3122f28c3828ed178ab863":[0,0,11,0], "classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9":[0,0,11,1], -"classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3":[0,0,11,0], "classPolyShape.html":[0,0,12], "classPolyShape.html#a0ad83e0129196572f99302830e0c9049":[0,0,12,5], "classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a":[0,0,12,8], @@ -145,10 +165,10 @@ var NAVTREEINDEX0 = "classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55":[0,0,12,1], "classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c":[0,0,12,7], "classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f":[0,0,12,4], -"classPolyShape.html#a6fd054647bea080272ed79bbea7080ac":[0,0,12,0], "classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1":[0,0,12,9], "classPolyShape.html#acac99a28e69ee5020eed782175a5a355":[0,0,12,3], "classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697":[0,0,12,10], +"classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45":[0,0,12,0], "classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b":[0,0,12,2], "classRadialGradient.html":[0,0,13], "classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c":[0,0,13,1], @@ -166,7 +186,7 @@ var NAVTREEINDEX0 = "classRect.html#a800053c390ccb818add47e627e535a5e":[0,0,14,11], "classRect.html#a964a6107f787f612798bda5c0423fb5b":[0,0,14,6], "classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a":[0,0,14,4], -"classRect.html#ad52d66e844d848d0e95f744b697e7beb":[0,0,14,0], +"classRect.html#ab8ceb8946210a2779862a66ad8d43397":[0,0,14,0], "classRect.html#ae11a39d12f7a766f773e662b0830848d":[0,0,14,8], "classRenderer.html":[0,0,15], "classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6":[0,0,15,5], @@ -191,63 +211,43 @@ var NAVTREEINDEX0 = "classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5":[0,0,17,23], "classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b":[0,0,17,8], "classSVGElement.html#a0cce88c48233f4da470daad2edab0d06":[0,0,17,9], -"classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba":[0,0,17,2], "classSVGElement.html#a1b075314d4cda4fa895688979fe462fd":[0,0,17,12], +"classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e":[0,0,17,6], "classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51":[0,0,17,11], "classSVGElement.html#a312b6aa934488672585c7e9d858300f8":[0,0,17,17], "classSVGElement.html#a43b3bf06fae88a1634a189272088d11d":[0,0,17,20], "classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2":[0,0,17,13], "classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1":[0,0,17,0], "classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87":[0,0,17,14], -"classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1":[0,0,17,24], -"classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1":[0,0,17,3], "classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d":[0,0,17,22], +"classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57":[0,0,17,3], +"classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c":[0,0,17,10], "classSVGElement.html#a88449b487a890e3765ae20e96ee95c06":[0,0,17,29], "classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8":[0,0,17,19], -"classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e":[0,0,17,10], "classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542":[0,0,17,7], "classSVGElement.html#aab61149df9916892540627a0d7c4480c":[0,0,17,25], -"classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13":[0,0,17,28], -"classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429":[0,0,17,6], -"classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb":[0,0,17,16], -"classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2":[0,0,17,18], +"classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8":[0,0,17,28], +"classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d":[0,0,17,16], "classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f":[0,0,17,27], +"classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e":[0,0,17,18], "classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea":[0,0,17,1], "classSVGElement.html#ad4bcd981ae7431161013811024b452e1":[0,0,17,15], "classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38":[0,0,17,5], "classSVGElement.html#adee748c3014de1c1ebd20411a52e824a":[0,0,17,26], +"classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772":[0,0,17,2], "classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5":[0,0,17,21], "classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6":[0,0,17,30], +"classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05":[0,0,17,24], "classSVGElement.html#af699f9aa795572c2873e520849579881":[0,0,17,4], "classStop.html":[0,0,16], -"classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff":[0,0,16,1], "classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b":[0,0,16,4], -"classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54":[0,0,16,0], +"classStop.html#a37689ec1609d4c705a5c641d14844b21":[0,0,16,1], "classStop.html#a60a63002485122f30a80e80220d99748":[0,0,16,2], -"classStop.html#afb57d3535781a9e40efff24c43520a21":[0,0,16,3], +"classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e":[0,0,16,3], +"classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e":[0,0,16,0], "classText.html":[0,0,18], "classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0":[0,0,18,8], "classText.html#a12ee81ccf865a414867d4101c8dbbdb2":[0,0,18,14], "classText.html#a33f5c94508241a960c139923c284491e":[0,0,18,11], -"classText.html#a405fac6f66711e0063e18e9e211e3a62":[0,0,18,2], -"classText.html#a40e38d59ba9b34df9900375409f6f03f":[0,0,18,6], -"classText.html#a445117756f52b37ae8bce225e254bea6":[0,0,18,1], -"classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb":[0,0,18,10], -"classText.html#a6a04680d93c625645278b1d1111420bb":[0,0,18,9], -"classText.html#a6e799a9b0ba6f88e704eea12599d3d5c":[0,0,18,4], -"classText.html#a71158226b190f16477820e45b549133f":[0,0,18,13], -"classText.html#a86fd1927b692d6691c8dd3901b6f6e48":[0,0,18,5], -"classText.html#a92c5df61031c3a9af813f9cc6978f34a":[0,0,18,0], -"classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde":[0,0,18,12], -"classText.html#aa503905beb9dddf11c9c579424d0a84f":[0,0,18,7], -"classText.html#ac593599637e5e7f0f929c59b440f1b94":[0,0,18,3], -"classVector2D.html":[0,0,19], -"classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4":[0,0,19,1], -"classVector2D.html#a65e391ec61c185092a02cf6301d0fff7":[0,0,19,3], -"classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2":[0,0,19,4], -"classVector2D.html#a96580267fed7cd6686cbbf8e11048023":[0,0,19,0], -"classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85":[0,0,19,2], -"classViewer.html":[0,0,20], -"classViewer.html#a2b889c5d09c8577ad1580dd610ac5678":[0,0,20,7], -"classViewer.html#a30b0f57907c82de620339e105f9a3c5b":[0,0,20,18] +"classText.html#a405fac6f66711e0063e18e9e211e3a62":[0,0,18,2] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 27e3ebb..841e868 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,44 +1,57 @@ var NAVTREEINDEX1 = { -"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da":[0,0,20,0], -"classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f":[0,0,20,12], -"classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5":[0,0,20,17], -"classViewer.html#a452e9dd05638bf3da01d8f51dba009a5":[0,0,20,14], -"classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad":[0,0,20,21], -"classViewer.html#a53c3dca921442983d13f335d0e8a7e20":[0,0,20,13], -"classViewer.html#a59a507a835919e78114601d5bd1784e6":[0,0,20,16], -"classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75":[0,0,20,6], -"classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037":[0,0,20,15], -"classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e":[0,0,20,10], -"classViewer.html#a8235c9da7e144d7139c91901c0051cd8":[0,0,20,3], -"classViewer.html#a82dfd34668f986b72e51ee86d4029fc6":[0,0,20,19], -"classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38":[0,0,20,5], -"classViewer.html#a940c6147b33b273afdff6eef7309d500":[0,0,20,11], -"classViewer.html#aa172f661daf24807148fb697f10e750a":[0,0,20,20], -"classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1":[0,0,20,4], -"classViewer.html#aaedebacb31cba87de6e7d448ed8d6586":[0,0,20,1], -"classViewer.html#abb8e49e83e5c574411bb9995665fd7eb":[0,0,20,2], -"classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1":[0,0,20,9], -"classViewer.html#ae0c94514f0897aa84732024855520e28":[0,0,20,8], +"classText.html#a40e38d59ba9b34df9900375409f6f03f":[0,0,18,6], +"classText.html#a445117756f52b37ae8bce225e254bea6":[0,0,18,1], +"classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb":[0,0,18,10], +"classText.html#a66964f633003321b9dedb0ea0f0cf4b2":[0,0,18,0], +"classText.html#a6a04680d93c625645278b1d1111420bb":[0,0,18,9], +"classText.html#a6e799a9b0ba6f88e704eea12599d3d5c":[0,0,18,4], +"classText.html#a71158226b190f16477820e45b549133f":[0,0,18,13], +"classText.html#a86fd1927b692d6691c8dd3901b6f6e48":[0,0,18,5], +"classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde":[0,0,18,12], +"classText.html#aa503905beb9dddf11c9c579424d0a84f":[0,0,18,7], +"classText.html#ac593599637e5e7f0f929c59b440f1b94":[0,0,18,3], +"classVector2D.html":[0,0,19], +"classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4":[0,0,19,1], +"classVector2D.html#a65e391ec61c185092a02cf6301d0fff7":[0,0,19,3], +"classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2":[0,0,19,4], +"classVector2D.html#a96580267fed7cd6686cbbf8e11048023":[0,0,19,0], +"classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85":[0,0,19,2], +"classViewBox.html":[0,0,20], +"classViewBox.html#a23ee8257f489c18146082bf7c58a09e1":[0,0,20,0], +"classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74":[0,0,20,6], +"classViewBox.html#a62e0eb37e6f49b008be683a9051857f1":[0,0,20,4], +"classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0":[0,0,20,7], +"classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d":[0,0,20,2], +"classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b":[0,0,20,3], +"classViewBox.html#aba09e235897cb11d7ce19f7a2b614366":[0,0,20,8], +"classViewBox.html#ac775b83d6648112514928499ca1256a4":[0,0,20,1], +"classViewBox.html#ace506c1585508555ebff5f834b13f74f":[0,0,20,5], +"classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0":[0,0,20,9], +"classViewer.html":[0,0,21], +"classViewer.html#a2b889c5d09c8577ad1580dd610ac5678":[0,0,21,7], +"classViewer.html#a30b0f57907c82de620339e105f9a3c5b":[0,0,21,18], +"classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da":[0,0,21,0], +"classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f":[0,0,21,12], +"classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5":[0,0,21,17], +"classViewer.html#a452e9dd05638bf3da01d8f51dba009a5":[0,0,21,14], +"classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad":[0,0,21,21], +"classViewer.html#a53c3dca921442983d13f335d0e8a7e20":[0,0,21,13], +"classViewer.html#a59a507a835919e78114601d5bd1784e6":[0,0,21,16], +"classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75":[0,0,21,6], +"classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037":[0,0,21,15], +"classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e":[0,0,21,10], +"classViewer.html#a8235c9da7e144d7139c91901c0051cd8":[0,0,21,3], +"classViewer.html#a82dfd34668f986b72e51ee86d4029fc6":[0,0,21,19], +"classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38":[0,0,21,5], +"classViewer.html#a940c6147b33b273afdff6eef7309d500":[0,0,21,11], +"classViewer.html#aa172f661daf24807148fb697f10e750a":[0,0,21,20], +"classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1":[0,0,21,4], +"classViewer.html#aaedebacb31cba87de6e7d448ed8d6586":[0,0,21,1], +"classViewer.html#abb8e49e83e5c574411bb9995665fd7eb":[0,0,21,2], +"classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1":[0,0,21,9], +"classViewer.html#ae0c94514f0897aa84732024855520e28":[0,0,21,8], "classes.html":[0,1], -"classmColor.html":[0,0,6], -"classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb":[0,0,6,8], -"classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec":[0,0,6,9], -"classmColor.html#a1887c93301ffe92701baf17d6af3418e":[0,0,6,3], -"classmColor.html#a427453d377b30c62f7d25f47120959d6":[0,0,6,12], -"classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3":[0,0,6,1], -"classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780":[0,0,6,7], -"classmColor.html#a68265f053324eea11265c7f8d7fdb5ff":[0,0,6,16], -"classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec":[0,0,6,15], -"classmColor.html#a777df695011fdb21f6b5d3e6745389c4":[0,0,6,11], -"classmColor.html#a8df59e284c6211d66b05fab14d726a5e":[0,0,6,2], -"classmColor.html#a9b1702a679c1c5f649787fe15d8b016a":[0,0,6,0], -"classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc":[0,0,6,13], -"classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03":[0,0,6,6], -"classmColor.html#aa69dc1cb58cec64672952d1e84744f8c":[0,0,6,10], -"classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c":[0,0,6,4], -"classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada":[0,0,6,14], -"classmColor.html#ad56f2424fa451364becdc4d1c4df657c":[0,0,6,5], "dir_560415a5d2bc4999842279f4fc1debef.html":[1,0,0,0], "dir_68267d1309a1af8e8297ef4c3efbcdba.html":[1,0,0], "files.html":[1,0], diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 551801e..e164cd0 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['a_0',['a',['../classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c',1,'mColor']]], + ['a_0',['a',['../classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a',1,'ColorShape']]], ['addelement_1',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], ['addpoint_2',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], ['addstop_3',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 7c29398..1ae5fe9 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['b_8',['b',['../classmColor.html#ad56f2424fa451364becdc4d1c4df657c',1,'mColor']]], - ['black_9',['Black',['../classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03',1,'mColor']]], - ['blue_10',['Blue',['../classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780',1,'mColor']]] + ['b_8',['b',['../classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68',1,'ColorShape']]], + ['black_9',['Black',['../classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87',1,'ColorShape']]], + ['blue_10',['Blue',['../classColorShape.html#a1df0c31367734b49349f8d51ebc26889',1,'ColorShape']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 3518194..87117ee 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,6 +1,7 @@ var searchData= [ - ['text_151',['Text',['../classText.html',1,'Text'],['../classText.html#a92c5df61031c3a9af813f9cc6978f34a',1,'Text::Text()']]], - ['transforms_152',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], - ['transparent_153',['Transparent',['../classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada',1,'mColor']]] + ['tc_157',['tc',['../structPathPoint.html#a54896895f14e17ca49c47a71b79dd570',1,'PathPoint']]], + ['text_158',['Text',['../classText.html',1,'Text'],['../classText.html#a66964f633003321b9dedb0ea0f0cf4b2',1,'Text::Text()']]], + ['transforms_159',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], + ['transparent_160',['Transparent',['../classColorShape.html#af806b9a0f2490761528be87924cb04c0',1,'ColorShape']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 2159286..e925fb4 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,4 +1,4 @@ var searchData= [ - ['units_154',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] + ['units_161',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 340599e..ed3d3cb 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,8 +1,9 @@ var searchData= [ - ['vector2d_155',['Vector2D',['../classVector2D.html',1,'Vector2D< T >'],['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], - ['vector2d_3c_20float_20_3e_156',['Vector2D< float >',['../classVector2D.html',1,'']]], - ['viewbox_157',['viewbox',['../classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7',1,'Parser']]], - ['viewer_158',['Viewer',['../classViewer.html',1,'Viewer'],['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]], - ['viewport_159',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] + ['vector2d_162',['Vector2D',['../classVector2D.html',1,'Vector2D< T >'],['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], + ['vector2d_3c_20float_20_3e_163',['Vector2D< float >',['../classVector2D.html',1,'']]], + ['viewbox_164',['ViewBox',['../classViewBox.html',1,'ViewBox'],['../classViewBox.html#a23ee8257f489c18146082bf7c58a09e1',1,'ViewBox::ViewBox()'],['../classViewBox.html#ac775b83d6648112514928499ca1256a4',1,'ViewBox::ViewBox(float X, float Y, float W, float H)']]], + ['viewbox_165',['viewbox',['../classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666',1,'Parser']]], + ['viewer_166',['Viewer',['../classViewer.html',1,'Viewer'],['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]], + ['viewport_167',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] ]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js index dcbfb65..ed87682 100644 --- a/docs/search/all_13.js +++ b/docs/search/all_13.js @@ -1,6 +1,7 @@ var searchData= [ - ['white_160',['White',['../classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec',1,'mColor']]], - ['width_161',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], - ['window_5fsize_162',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] + ['w_168',['w',['../classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0',1,'ViewBox']]], + ['white_169',['White',['../classColorShape.html#ac5fd30929839c15bf0e1321552130a70',1,'ColorShape']]], + ['width_170',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], + ['window_5fsize_171',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index 7d103bb..d568515 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,4 +1,5 @@ var searchData= [ - ['x_163',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D']]] + ['x_172',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D::x()'],['../classViewBox.html#aba09e235897cb11d7ce19f7a2b614366',1,'ViewBox::x()']]], + ['x_5faxis_5frotation_173',['x_axis_rotation',['../structPathPoint.html#ae583dc92052b201d3416506e7632a0cc',1,'PathPoint']]] ]; diff --git a/docs/search/all_15.js b/docs/search/all_15.js index 07982b3..8c65dc8 100644 --- a/docs/search/all_15.js +++ b/docs/search/all_15.js @@ -1,5 +1,5 @@ var searchData= [ - ['y_164',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D']]], - ['yellow_165',['Yellow',['../classmColor.html#a68265f053324eea11265c7f8d7fdb5ff',1,'mColor']]] + ['y_174',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D::y()'],['../classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0',1,'ViewBox::y()']]], + ['yellow_175',['Yellow',['../classColorShape.html#a6bc88305d41255e2d9969bec6777420a',1,'ColorShape']]] ]; diff --git a/docs/search/all_16.js b/docs/search/all_16.js index 140606c..5873ffd 100644 --- a/docs/search/all_16.js +++ b/docs/search/all_16.js @@ -1,4 +1,4 @@ var searchData= [ - ['zoom_5ffactor_166',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] + ['zoom_5ffactor_176',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] ]; diff --git a/docs/search/all_17.js b/docs/search/all_17.js index 634ea78..bc582b9 100644 --- a/docs/search/all_17.js +++ b/docs/search/all_17.js @@ -1,8 +1,8 @@ var searchData= [ - ['_7egradient_167',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], - ['_7egroup_168',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], - ['_7eparser_169',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], - ['_7esvgelement_170',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], - ['_7eviewer_171',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] + ['_7egradient_177',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], + ['_7egroup_178',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], + ['_7eparser_179',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], + ['_7esvgelement_180',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], + ['_7eviewer_181',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 171f0ed..5842f65 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,7 +1,8 @@ var searchData= [ - ['circle_11',['Circle',['../classCircle.html',1,'Circle'],['../classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0',1,'Circle::Circle()']]], - ['color_12',['color',['../classStop.html#afb57d3535781a9e40efff24c43520a21',1,'Stop']]], - ['content_13',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], - ['cyan_14',['Cyan',['../classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb',1,'mColor']]] + ['circle_11',['Circle',['../classCircle.html',1,'Circle'],['../classCircle.html#ace05db36eae5455a95be7aaff49d1fd9',1,'Circle::Circle()']]], + ['color_12',['color',['../classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e',1,'Stop']]], + ['colorshape_13',['ColorShape',['../classColorShape.html',1,'ColorShape'],['../classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1',1,'ColorShape::ColorShape()'],['../classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302',1,'ColorShape::ColorShape(int red, int green, int blue, int alpha=255)'],['../classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6',1,'ColorShape::ColorShape(int color)']]], + ['content_14',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], + ['cyan_15',['Cyan',['../classColorShape.html#a87ec94f44076a578446b384afafae0ec',1,'ColorShape']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index e60f2cb..7c82d12 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,13 +1,13 @@ var searchData= [ - ['direction_15',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]], - ['draw_16',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], - ['drawcircle_17',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], - ['drawellipse_18',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], - ['drawline_19',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], - ['drawpath_20',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], - ['drawpolygon_21',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], - ['drawpolyline_22',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], - ['drawrectangle_23',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], - ['drawtext_24',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] + ['direction_16',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]], + ['draw_17',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], + ['drawcircle_18',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], + ['drawellipse_19',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], + ['drawline_20',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], + ['drawpath_21',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], + ['drawpolygon_22',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], + ['drawpolyline_23',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], + ['drawrectangle_24',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], + ['drawtext_25',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index c6524b1..1d4a876 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_25',['Ell',['../classEll.html',1,'Ell'],['../classEll.html#a4a9956ca82cb9f957e993fa0c0faced6',1,'Ell::Ell()']]] + ['ell_26',['Ell',['../classEll.html',1,'Ell'],['../classEll.html#ab18115d5d2ad73b80ffbdf3661908f38',1,'Ell::Ell()']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index e3ddcf1..bb046c9 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['fill_26',['fill',['../classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1',1,'SVGElement']]], - ['fill_5frule_27',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], - ['font_5fsize_28',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] + ['fill_27',['fill',['../classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05',1,'SVGElement']]], + ['fill_5frule_28',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], + ['font_5fsize_29',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 7aac74c..683d4bf 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,47 +1,49 @@ var searchData= [ - ['g_29',['g',['../classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec',1,'mColor']]], - ['getanchor_30',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], - ['getattribute_31',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], - ['getattributes_32',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], - ['getbrush_33',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], - ['getclass_34',['getClass',['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()']]], - ['getcolor_35',['getColor',['../classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff',1,'Stop']]], - ['getcontent_36',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], - ['getdirection_37',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], - ['getelements_38',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], - ['getfillcolor_39',['getFillColor',['../classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429',1,'SVGElement']]], - ['getfillrule_40',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], - ['getfloatattribute_41',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], - ['getfontsize_42',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], - ['getfontstyle_43',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], - ['getgradient_44',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], - ['getgradients_45',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], - ['getgradientstops_46',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], - ['getheight_47',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect']]], - ['getinstance_48',['getInstance',['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()']]], - ['getlength_49',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], - ['getmaxbound_50',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], - ['getminbound_51',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], - ['getoffset_52',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], - ['getoutlinecolor_53',['getOutlineColor',['../classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e',1,'SVGElement']]], - ['getoutlinethickness_54',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], - ['getparent_55',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], - ['getpoints_56',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], - ['getposition_57',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], - ['getradius_58',['getRadius',['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()']]], - ['getroot_59',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], - ['getstops_60',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], - ['gettransformorder_61',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], - ['gettransforms_62',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], - ['getunits_63',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], - ['getviewbox_64',['getViewBox',['../classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69',1,'Parser']]], - ['getviewport_65',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], - ['getwidth_66',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect']]], - ['getwindowsize_67',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], - ['gradient_68',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient::Gradient()'],['../classGradient.html',1,'Gradient']]], - ['gradient_69',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], - ['gradients_70',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], - ['green_71',['Green',['../classmColor.html#aa69dc1cb58cec64672952d1e84744f8c',1,'mColor']]], - ['group_72',['Group',['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)'],['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html',1,'Group']]] + ['g_30',['g',['../classColorShape.html#a91c01752af407a122a81c6c44afbba9f',1,'ColorShape']]], + ['getanchor_31',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], + ['getattribute_32',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], + ['getattributes_33',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], + ['getbrush_34',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], + ['getclass_35',['getClass',['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()']]], + ['getcolor_36',['getColor',['../classStop.html#a37689ec1609d4c705a5c641d14844b21',1,'Stop']]], + ['getcontent_37',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], + ['getdirection_38',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], + ['getelements_39',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], + ['getfillcolor_40',['getFillColor',['../classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e',1,'SVGElement']]], + ['getfillrule_41',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], + ['getfloatattribute_42',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], + ['getfontsize_43',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], + ['getfontstyle_44',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], + ['getgradient_45',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], + ['getgradients_46',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], + ['getgradientstops_47',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], + ['getheight_48',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect::getHeight()'],['../classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d',1,'ViewBox::getHeight()']]], + ['getinstance_49',['getInstance',['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()']]], + ['getlength_50',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], + ['getmaxbound_51',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], + ['getminbound_52',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], + ['getoffset_53',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], + ['getoutlinecolor_54',['getOutlineColor',['../classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c',1,'SVGElement']]], + ['getoutlinethickness_55',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], + ['getparent_56',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], + ['getpoints_57',['getPoints',['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], + ['getposition_58',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], + ['getradius_59',['getRadius',['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()']]], + ['getroot_60',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], + ['getstops_61',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], + ['gettransformorder_62',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], + ['gettransforms_63',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], + ['getunits_64',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], + ['getviewbox_65',['getViewBox',['../classParser.html#a231c2e522115ae9a4fd9629285ed28e1',1,'Parser']]], + ['getviewport_66',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], + ['getwidth_67',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect::getWidth()'],['../classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b',1,'ViewBox::getWidth()']]], + ['getwindowsize_68',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], + ['getx_69',['getX',['../classViewBox.html#a62e0eb37e6f49b008be683a9051857f1',1,'ViewBox']]], + ['gety_70',['getY',['../classViewBox.html#ace506c1585508555ebff5f834b13f74f',1,'ViewBox']]], + ['gradient_71',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], + ['gradient_72',['Gradient',['../classGradient.html',1,'Gradient'],['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient::Gradient()']]], + ['gradients_73',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], + ['green_74',['Green',['../classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d',1,'ColorShape']]], + ['group_75',['Group',['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)'],['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html',1,'Group']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index 4e0b02f..e3ec43e 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,11 +1,12 @@ var searchData= [ - ['handlekeydown_73',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], - ['handlekeyevent_74',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], - ['handleleftbuttondown_75',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], - ['handleleftbuttonup_76',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], - ['handlemouseevent_77',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], - ['handlemousemove_78',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], - ['handlemousewheel_79',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]], - ['height_80',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] + ['h_76',['h',['../classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74',1,'ViewBox']]], + ['handlekeydown_77',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], + ['handlekeyevent_78',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], + ['handleleftbuttondown_79',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], + ['handleleftbuttonup_80',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], + ['handlemouseevent_81',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], + ['handlemousemove_82',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], + ['handlemousewheel_83',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]], + ['height_84',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 954811c..f94a0b8 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['instance_81',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], - ['is_5fdragging_82',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] + ['instance_85',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], + ['is_5fdragging_86',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 5cd89d7..51d1a94 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,6 +1,7 @@ var searchData= [ - ['last_5fmouse_5fpos_83',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]], - ['line_84',['Line',['../classLine.html',1,'Line'],['../classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c',1,'Line::Line()']]], - ['lineargradient_85',['LinearGradient',['../classLinearGradient.html',1,'LinearGradient'],['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient::LinearGradient()']]] + ['large_5farc_5fflag_87',['large_arc_flag',['../structPathPoint.html#a35cbe9f919695a09f5c881618f5fa0f9',1,'PathPoint']]], + ['last_5fmouse_5fpos_88',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]], + ['line_89',['Line',['../classLine.html',1,'Line'],['../classLine.html#abef476564dc2f7dad7259ee5071301fa',1,'Line::Line()']]], + ['lineargradient_90',['LinearGradient',['../classLinearGradient.html',1,'LinearGradient'],['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient::LinearGradient()']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index b865655..cb58d6e 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['magenta_86',['Magenta',['../classmColor.html#a777df695011fdb21f6b5d3e6745389c4',1,'mColor']]], - ['mcolor_87',['mColor',['../classmColor.html',1,'mColor'],['../classmColor.html#a9b1702a679c1c5f649787fe15d8b016a',1,'mColor::mColor()'],['../classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3',1,'mColor::mColor(int red, int green, int blue, int alpha=255)'],['../classmColor.html#a8df59e284c6211d66b05fab14d726a5e',1,'mColor::mColor(int color)']]] + ['magenta_91',['Magenta',['../classColorShape.html#a8132294eb978dd065d7da6896d7782af',1,'ColorShape']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index d54c9f5..74b5609 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['needs_5frepaint_88',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] + ['needs_5frepaint_92',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index b5aeee6..a821930 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,8 +1,8 @@ var searchData= [ - ['offset_89',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], - ['offset_5fx_90',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], - ['offset_5fy_91',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]], - ['operator_3c_3c_92',['operator<<',['../classmColor.html#a1887c93301ffe92701baf17d6af3418e',1,'mColor']]], - ['operator_3d_93',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] + ['offset_93',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], + ['offset_5fx_94',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], + ['offset_5fy_95',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]], + ['operator_3c_3c_96',['operator<<',['../classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44',1,'ColorShape']]], + ['operator_3d_97',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index d8f9890..d47a88d 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,28 +1,29 @@ var searchData= [ - ['parent_94',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], - ['parsecircle_95',['parseCircle',['../classParser.html#ab7776f740b7d63c388a086c8b8ecccd0',1,'Parser']]], - ['parsecolor_96',['parseColor',['../classParser.html#a18d5a9aa35bd124023a060940486e183',1,'Parser']]], - ['parseelements_97',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], - ['parseellipse_98',['parseEllipse',['../classParser.html#a0af0085ee5e20739bdf23a5b685642b6',1,'Parser']]], - ['parsegradient_99',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], - ['parseline_100',['parseLine',['../classParser.html#a95e84ae219109769fae08702381acf78',1,'Parser']]], - ['parsepath_101',['parsePath',['../classParser.html#a6f80728e7a771d2653baf1b453b655d9',1,'Parser']]], - ['parsepathpoints_102',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], - ['parsepoints_103',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], - ['parsepolygon_104',['parsePolygon',['../classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5',1,'Parser']]], - ['parsepolyline_105',['parsePolyline',['../classParser.html#a03766f0f9f6ebdead0474973d3ac50aa',1,'Parser']]], - ['parser_106',['Parser',['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)'],['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html',1,'Parser']]], - ['parserect_107',['parseRect',['../classParser.html#a20352ab58a59e61f6da1b4d20861907d',1,'Parser']]], - ['parseshape_108',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], - ['parsetext_109',['parseText',['../classParser.html#a539bda46a2832a22741105c9299c12cb',1,'Parser']]], - ['path_110',['Path',['../classPath.html#a089f2f59cc5574ce9e93826891044378',1,'Path::Path()'],['../classPath.html',1,'Path']]], - ['pathpoint_111',['PathPoint',['../structPathPoint.html',1,'']]], - ['plygon_112',['Plygon',['../classPlygon.html',1,'Plygon'],['../classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd',1,'Plygon::Plygon()']]], - ['plyline_113',['Plyline',['../classPlyline.html',1,'Plyline'],['../classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3',1,'Plyline::Plyline()']]], - ['points_114',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], - ['polyshape_115',['PolyShape',['../classPolyShape.html#a6fd054647bea080272ed79bbea7080ac',1,'PolyShape::PolyShape()'],['../classPolyShape.html',1,'PolyShape']]], - ['position_116',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]], - ['printdata_117',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], - ['printshapesdata_118',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] + ['parent_98',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], + ['parsecircle_99',['parseCircle',['../classParser.html#af634ef273fb8c221a832688c19244adf',1,'Parser']]], + ['parsecolor_100',['parseColor',['../classParser.html#a2e5e2efef794624abaa9bf390e234950',1,'Parser']]], + ['parseelements_101',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], + ['parseellipse_102',['parseEllipse',['../classParser.html#aa2249c02eee1ce310158a3450450ff3e',1,'Parser']]], + ['parsegradient_103',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], + ['parseline_104',['parseLine',['../classParser.html#a741b866e359471784380c23c5b71d9da',1,'Parser']]], + ['parsepath_105',['parsePath',['../classParser.html#af4b65cb5b02ac856daba07387f67c6aa',1,'Parser']]], + ['parsepathpoints_106',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], + ['parsepoints_107',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], + ['parsepolygon_108',['parsePolygon',['../classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359',1,'Parser']]], + ['parsepolyline_109',['parsePolyline',['../classParser.html#a5dd4328e960681889155a13f699200ce',1,'Parser']]], + ['parser_110',['Parser',['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)'],['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html',1,'Parser']]], + ['parserect_111',['parseRect',['../classParser.html#ad7063613f30bc89a4a9197cd664fe9d4',1,'Parser']]], + ['parseshape_112',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], + ['parsetext_113',['parseText',['../classParser.html#a9ed27a4ee0360f437acb83553dd76c9f',1,'Parser']]], + ['path_114',['Path',['../classPath.html#ad8dab023d3009f51f001fb930c2334c2',1,'Path::Path()'],['../classPath.html',1,'Path']]], + ['pathpoint_115',['PathPoint',['../structPathPoint.html',1,'']]], + ['plygon_116',['Plygon',['../classPlygon.html',1,'Plygon'],['../classPlygon.html#ade144fd5857f80e3b345e2ba538b017d',1,'Plygon::Plygon()']]], + ['plyline_117',['Plyline',['../classPlyline.html',1,'Plyline'],['../classPlyline.html#a248be9e58f3122f28c3828ed178ab863',1,'Plyline::Plyline()']]], + ['point_118',['point',['../structPathPoint.html#a95cecf76150d2bb4a6b6b7875693ca69',1,'PathPoint']]], + ['points_119',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], + ['polyshape_120',['PolyShape',['../classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45',1,'PolyShape::PolyShape()'],['../classPolyShape.html',1,'PolyShape']]], + ['position_121',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]], + ['printdata_122',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], + ['printshapesdata_123',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 374fdfe..d9fc97c 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,11 +1,11 @@ var searchData= [ - ['r_119',['r',['../classmColor.html#a427453d377b30c62f7d25f47120959d6',1,'mColor']]], - ['radialgradient_120',['RadialGradient',['../classRadialGradient.html',1,'RadialGradient'],['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient::RadialGradient()']]], - ['radius_121',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], - ['rect_122',['Rect',['../classRect.html',1,'Rect'],['../classRect.html#ad52d66e844d848d0e95f744b697e7beb',1,'Rect::Rect()']]], - ['red_123',['Red',['../classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc',1,'mColor']]], - ['renderer_124',['Renderer',['../classRenderer.html',1,'Renderer'],['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]], - ['root_125',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], - ['rotate_5fangle_126',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] + ['r_124',['r',['../classColorShape.html#a7e699ac932feca73128bb768047c154b',1,'ColorShape']]], + ['radialgradient_125',['RadialGradient',['../classRadialGradient.html',1,'RadialGradient'],['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient::RadialGradient()']]], + ['radius_126',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../structPathPoint.html#a6646f1aa8bba6735d4b4d794ef86a786',1,'PathPoint::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], + ['rect_127',['Rect',['../classRect.html',1,'Rect'],['../classRect.html#ab8ceb8946210a2779862a66ad8d43397',1,'Rect::Rect()']]], + ['red_128',['Red',['../classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c',1,'ColorShape']]], + ['renderer_129',['Renderer',['../classRenderer.html',1,'Renderer'],['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]], + ['root_130',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], + ['rotate_5fangle_131',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 5d4f73f..52aaebc 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,27 +1,28 @@ var searchData= [ - ['setanchor_127',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], - ['setcontent_128',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], - ['setdirection_129',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], - ['setfillcolor_130',['setFillColor',['../classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb',1,'SVGElement']]], - ['setfillrule_131',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], - ['setfontsize_132',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], - ['setfontstyle_133',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], - ['setgradient_134',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], - ['setheight_135',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], - ['setoutlinecolor_136',['setOutlineColor',['../classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2',1,'SVGElement']]], - ['setoutlinethickness_137',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], - ['setparent_138',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], - ['setposition_139',['setPosition',['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)'],['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)']]], - ['setradius_140',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], - ['settransforms_141',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], - ['setunits_142',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], - ['setwidth_143',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], - ['shapes_144',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], - ['stop_145',['Stop',['../classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54',1,'Stop::Stop()'],['../classStop.html',1,'Stop']]], - ['stops_146',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], - ['stroke_147',['stroke',['../classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13',1,'SVGElement']]], - ['stroke_5fwidth_148',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], - ['style_149',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], - ['svgelement_150',['SVGElement',['../classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)'],['../classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)'],['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html',1,'SVGElement']]] + ['setanchor_132',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], + ['setcontent_133',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], + ['setdirection_134',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], + ['setfillcolor_135',['setFillColor',['../classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d',1,'SVGElement']]], + ['setfillrule_136',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], + ['setfontsize_137',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], + ['setfontstyle_138',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], + ['setgradient_139',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], + ['setheight_140',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], + ['setoutlinecolor_141',['setOutlineColor',['../classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e',1,'SVGElement']]], + ['setoutlinethickness_142',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], + ['setparent_143',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], + ['setposition_144',['setPosition',['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)'],['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)']]], + ['setradius_145',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], + ['settransforms_146',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], + ['setunits_147',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], + ['setwidth_148',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], + ['shapes_149',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], + ['stop_150',['Stop',['../classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e',1,'Stop::Stop()'],['../classStop.html',1,'Stop']]], + ['stops_151',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], + ['stroke_152',['stroke',['../classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8',1,'SVGElement']]], + ['stroke_5fwidth_153',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], + ['style_154',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], + ['svgelement_155',['SVGElement',['../classSVGElement.html',1,'SVGElement'],['../classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)'],['../classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)'],['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()']]], + ['sweep_5fflag_156',['sweep_flag',['../structPathPoint.html#ace50ee641dc2747418072f50b445dd53',1,'PathPoint']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 02ed3ed..2ea0d5a 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['circle_172',['Circle',['../classCircle.html',1,'']]] + ['circle_182',['Circle',['../classCircle.html',1,'']]], + ['colorshape_183',['ColorShape',['../classColorShape.html',1,'']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index a014cbd..696e8c8 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_173',['Ell',['../classEll.html',1,'']]] + ['ell_184',['Ell',['../classEll.html',1,'']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index f361850..0a5f78c 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['gradient_174',['Gradient',['../classGradient.html',1,'']]], - ['group_175',['Group',['../classGroup.html',1,'']]] + ['gradient_185',['Gradient',['../classGradient.html',1,'']]], + ['group_186',['Group',['../classGroup.html',1,'']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 74ac69e..f45e013 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['line_176',['Line',['../classLine.html',1,'']]], - ['lineargradient_177',['LinearGradient',['../classLinearGradient.html',1,'']]] + ['line_187',['Line',['../classLine.html',1,'']]], + ['lineargradient_188',['LinearGradient',['../classLinearGradient.html',1,'']]] ]; diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js index bda7f51..466b991 100644 --- a/docs/search/classes_4.js +++ b/docs/search/classes_4.js @@ -1,4 +1,9 @@ var searchData= [ - ['mcolor_178',['mColor',['../classmColor.html',1,'']]] + ['parser_189',['Parser',['../classParser.html',1,'']]], + ['path_190',['Path',['../classPath.html',1,'']]], + ['pathpoint_191',['PathPoint',['../structPathPoint.html',1,'']]], + ['plygon_192',['Plygon',['../classPlygon.html',1,'']]], + ['plyline_193',['Plyline',['../classPlyline.html',1,'']]], + ['polyshape_194',['PolyShape',['../classPolyShape.html',1,'']]] ]; diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js index be37f8a..7f1d13e 100644 --- a/docs/search/classes_5.js +++ b/docs/search/classes_5.js @@ -1,9 +1,6 @@ var searchData= [ - ['parser_179',['Parser',['../classParser.html',1,'']]], - ['path_180',['Path',['../classPath.html',1,'']]], - ['pathpoint_181',['PathPoint',['../structPathPoint.html',1,'']]], - ['plygon_182',['Plygon',['../classPlygon.html',1,'']]], - ['plyline_183',['Plyline',['../classPlyline.html',1,'']]], - ['polyshape_184',['PolyShape',['../classPolyShape.html',1,'']]] + ['radialgradient_195',['RadialGradient',['../classRadialGradient.html',1,'']]], + ['rect_196',['Rect',['../classRect.html',1,'']]], + ['renderer_197',['Renderer',['../classRenderer.html',1,'']]] ]; diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js index 5285182..351561f 100644 --- a/docs/search/classes_6.js +++ b/docs/search/classes_6.js @@ -1,6 +1,5 @@ var searchData= [ - ['radialgradient_185',['RadialGradient',['../classRadialGradient.html',1,'']]], - ['rect_186',['Rect',['../classRect.html',1,'']]], - ['renderer_187',['Renderer',['../classRenderer.html',1,'']]] + ['stop_198',['Stop',['../classStop.html',1,'']]], + ['svgelement_199',['SVGElement',['../classSVGElement.html',1,'']]] ]; diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js index be6044c..e1b091f 100644 --- a/docs/search/classes_7.js +++ b/docs/search/classes_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['stop_188',['Stop',['../classStop.html',1,'']]], - ['svgelement_189',['SVGElement',['../classSVGElement.html',1,'']]] + ['text_200',['Text',['../classText.html',1,'']]] ]; diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js index 48a6478..7e46f66 100644 --- a/docs/search/classes_8.js +++ b/docs/search/classes_8.js @@ -1,4 +1,7 @@ var searchData= [ - ['text_190',['Text',['../classText.html',1,'']]] + ['vector2d_201',['Vector2D',['../classVector2D.html',1,'']]], + ['vector2d_3c_20float_20_3e_202',['Vector2D< float >',['../classVector2D.html',1,'']]], + ['viewbox_203',['ViewBox',['../classViewBox.html',1,'']]], + ['viewer_204',['Viewer',['../classViewer.html',1,'']]] ]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 00e41cf..131668b 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,8 +1,8 @@ var searchData= [ - ['addelement_194',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], - ['addpoint_195',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], - ['addstop_196',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], - ['applytransform_197',['applyTransform',['../classRenderer.html#a8d159bc1ea8f4152339d6c5eead27e45',1,'Renderer']]], - ['applytransformsonbrush_198',['applyTransformsOnBrush',['../classRenderer.html#a33a87db2173a7509be2d60fcffff9058',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const'],['../classRenderer.html#a578e046986da5ec2585ce106562c3de3',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::PathGradientBrush *&brush) const']]] + ['addelement_205',['addElement',['../classGroup.html#af4dafed0506ca5e9ea9e1028b1504919',1,'Group::addElement()'],['../classSVGElement.html#af699f9aa795572c2873e520849579881',1,'SVGElement::addElement()']]], + ['addpoint_206',['addPoint',['../classPath.html#ad4273c2a1b288fe43dd86375afc16f66',1,'Path::addPoint()'],['../classPolyShape.html#a3a5e4952aff469f241ee1c9b92833f55',1,'PolyShape::addPoint()']]], + ['addstop_207',['addStop',['../classGradient.html#a44218bd3fb347f4c269f1f2795fb77d5',1,'Gradient']]], + ['applytransform_208',['applyTransform',['../classRenderer.html#a8d159bc1ea8f4152339d6c5eead27e45',1,'Renderer']]], + ['applytransformsonbrush_209',['applyTransformsOnBrush',['../classRenderer.html#a33a87db2173a7509be2d60fcffff9058',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::LinearGradientBrush *&brush) const'],['../classRenderer.html#a578e046986da5ec2585ce106562c3de3',1,'Renderer::applyTransformsOnBrush(std::vector< std::string > transform_order, Gdiplus::PathGradientBrush *&brush) const']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index 802d67b..16ac0fb 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,4 +1,5 @@ var searchData= [ - ['circle_199',['Circle',['../classCircle.html#a5d018c51bfa1fa3d1081e3deef5eddc0',1,'Circle']]] + ['circle_210',['Circle',['../classCircle.html#ace05db36eae5455a95be7aaff49d1fd9',1,'Circle']]], + ['colorshape_211',['ColorShape',['../classColorShape.html#a4bf0a3d5e75871a83d9999a5d18257e1',1,'ColorShape::ColorShape()'],['../classColorShape.html#a527e9e54f88c2e84fe596afa7c86f302',1,'ColorShape::ColorShape(int red, int green, int blue, int alpha=255)'],['../classColorShape.html#ab15a58a6fa914cf71829db2075b20ef6',1,'ColorShape::ColorShape(int color)']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 4d907a3..aa4d210 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,12 +1,12 @@ var searchData= [ - ['draw_200',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], - ['drawcircle_201',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], - ['drawellipse_202',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], - ['drawline_203',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], - ['drawpath_204',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], - ['drawpolygon_205',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], - ['drawpolyline_206',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], - ['drawrectangle_207',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], - ['drawtext_208',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] + ['draw_212',['draw',['../classRenderer.html#a1fac47f9b1c4c3fb1151f2b6ecb282f6',1,'Renderer']]], + ['drawcircle_213',['drawCircle',['../classRenderer.html#a9b5ca422ec7f1328d854cc4bff269858',1,'Renderer']]], + ['drawellipse_214',['drawEllipse',['../classRenderer.html#af4d92e92abb79e4431f7331f792194d9',1,'Renderer']]], + ['drawline_215',['drawLine',['../classRenderer.html#ab68c9e02c7eadf1f18286c9ecf0d90ca',1,'Renderer']]], + ['drawpath_216',['drawPath',['../classRenderer.html#a6cbcbb11e386c26eacef0b97342fee77',1,'Renderer']]], + ['drawpolygon_217',['drawPolygon',['../classRenderer.html#a27b883787b8f38afd04924edc97b5a04',1,'Renderer']]], + ['drawpolyline_218',['drawPolyline',['../classRenderer.html#a4e73148b7da0f585084520d12c514344',1,'Renderer']]], + ['drawrectangle_219',['drawRectangle',['../classRenderer.html#abf163a7895594e0a4ee5662805b1b572',1,'Renderer']]], + ['drawtext_220',['drawText',['../classRenderer.html#a87ce996c3ed0f963de9ef6c293ee3aec',1,'Renderer']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index ab0e405..60348c0 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['ell_209',['Ell',['../classEll.html#a4a9956ca82cb9f957e993fa0c0faced6',1,'Ell']]] + ['ell_221',['Ell',['../classEll.html#ab18115d5d2ad73b80ffbdf3661908f38',1,'Ell']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index 063ea82..79c4952 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -1,43 +1,45 @@ var searchData= [ - ['getanchor_210',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], - ['getattribute_211',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], - ['getattributes_212',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], - ['getbrush_213',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], - ['getclass_214',['getClass',['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()']]], - ['getcolor_215',['getColor',['../classStop.html#a0ee1f3e4c4298b8712cef19f24e07dff',1,'Stop']]], - ['getcontent_216',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], - ['getdirection_217',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], - ['getelements_218',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], - ['getfillcolor_219',['getFillColor',['../classSVGElement.html#abb012cad5d6e9ee7a413f46042f99429',1,'SVGElement']]], - ['getfillrule_220',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], - ['getfloatattribute_221',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], - ['getfontsize_222',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], - ['getfontstyle_223',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], - ['getgradient_224',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], - ['getgradients_225',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], - ['getgradientstops_226',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], - ['getheight_227',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect']]], - ['getinstance_228',['getInstance',['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()'],['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()']]], - ['getlength_229',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], - ['getmaxbound_230',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], - ['getminbound_231',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], - ['getoffset_232',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], - ['getoutlinecolor_233',['getOutlineColor',['../classSVGElement.html#a9a243b2b8464d57df28f3f3e8c52511e',1,'SVGElement']]], - ['getoutlinethickness_234',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], - ['getparent_235',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], - ['getpoints_236',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], - ['getposition_237',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], - ['getradius_238',['getRadius',['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()'],['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()']]], - ['getroot_239',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], - ['getstops_240',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], - ['gettransformorder_241',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], - ['gettransforms_242',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], - ['getunits_243',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], - ['getviewbox_244',['getViewBox',['../classParser.html#a4efa2342d694eff2ab6ba1d150c7bb69',1,'Parser']]], - ['getviewport_245',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], - ['getwidth_246',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect']]], - ['getwindowsize_247',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], - ['gradient_248',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient']]], - ['group_249',['Group',['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)']]] + ['getanchor_222',['getAnchor',['../classText.html#a445117756f52b37ae8bce225e254bea6',1,'Text']]], + ['getattribute_223',['getAttribute',['../classParser.html#a63329a7accdf332feb3fba1bcc4deec6',1,'Parser']]], + ['getattributes_224',['getAttributes',['../classGroup.html#a317fcd42fd61b83c0d932bd1eb2c753f',1,'Group']]], + ['getbrush_225',['getBrush',['../classRenderer.html#a7539832835d19ee365dcbabf490d642c',1,'Renderer']]], + ['getclass_226',['getClass',['../classCircle.html#a09523e46318092d42a5969a1da5613bb',1,'Circle::getClass()'],['../classEll.html#a0d0a2a70c06878c5769bd7d092277892',1,'Ell::getClass()'],['../classGradient.html#adb86ee7c9171cb7294d1bb8956e97891',1,'Gradient::getClass()'],['../classGroup.html#a070e010084eaac6131e1bf814d10d234',1,'Group::getClass()'],['../classLine.html#a745f295541d412b49dac89423bd957a6',1,'Line::getClass()'],['../classLinearGradient.html#aa434164a18fa29e778cdb7fc96770b9a',1,'LinearGradient::getClass()'],['../classPath.html#ac99ffb44f19586a10ee39aa70fd4a260',1,'Path::getClass()'],['../classPlygon.html#aab00a0d0230ea320271e96c326c6b919',1,'Plygon::getClass()'],['../classPlyline.html#a5b9d86c75604d329037cd47e8ba3d5b9',1,'Plyline::getClass()'],['../classPolyShape.html#afc263d5407ca7ea50e30d641d779b73b',1,'PolyShape::getClass()'],['../classRadialGradient.html#a132c35f92ecceb604cdddf098c36824c',1,'RadialGradient::getClass()'],['../classRect.html#a4f6ba1c3eef4054847a89da472f392cd',1,'Rect::getClass()'],['../classSVGElement.html#adc98ebac66965dd303283cbf7ff28f38',1,'SVGElement::getClass()'],['../classText.html#a405fac6f66711e0063e18e9e211e3a62',1,'Text::getClass()']]], + ['getcolor_227',['getColor',['../classStop.html#a37689ec1609d4c705a5c641d14844b21',1,'Stop']]], + ['getcontent_228',['getContent',['../classText.html#ac593599637e5e7f0f929c59b440f1b94',1,'Text']]], + ['getdirection_229',['getDirection',['../classLine.html#adb348ce7ddf4b500c3593b7126aa4451',1,'Line']]], + ['getelements_230',['getElements',['../classGroup.html#a310fa83ccb20841373c11b6b4ac1d336',1,'Group']]], + ['getfillcolor_231',['getFillColor',['../classSVGElement.html#a23721b0aabe2c03323d8c855c7109e4e',1,'SVGElement']]], + ['getfillrule_232',['getFillRule',['../classPath.html#a9395325e65f86fd2a4be2dc24408753a',1,'Path::getFillRule()'],['../classPolyShape.html#acac99a28e69ee5020eed782175a5a355',1,'PolyShape::getFillRule()']]], + ['getfloatattribute_233',['getFloatAttribute',['../classParser.html#ab2b1df7c69830fafcbe36de5199dcd30',1,'Parser']]], + ['getfontsize_234',['getFontSize',['../classText.html#a6e799a9b0ba6f88e704eea12599d3d5c',1,'Text']]], + ['getfontstyle_235',['getFontStyle',['../classText.html#a86fd1927b692d6691c8dd3901b6f6e48',1,'Text']]], + ['getgradient_236',['getGradient',['../classSVGElement.html#a9b64e7697c24a6972aacb01b89c0e542',1,'SVGElement']]], + ['getgradients_237',['GetGradients',['../classParser.html#ac00eac6bf37c45c9160fa47700d2466f',1,'Parser']]], + ['getgradientstops_238',['getGradientStops',['../classParser.html#aca2ed5f466436a9e9f78618bb1e356fd',1,'Parser']]], + ['getheight_239',['getHeight',['../classRect.html#a418fffe5bb9368f4e158b63e13faba16',1,'Rect::getHeight()'],['../classViewBox.html#aac3bd2a53c8d01dab8b0830b3a241d8d',1,'ViewBox::getHeight()']]], + ['getinstance_240',['getInstance',['../classViewer.html#a8235c9da7e144d7139c91901c0051cd8',1,'Viewer::getInstance()'],['../classParser.html#a06952fa44f19fdb573c1355ac26454c5',1,'Parser::getInstance()'],['../classRenderer.html#ac1bf10ff8b4f967f0d416a26d482abd6',1,'Renderer::getInstance()']]], + ['getlength_241',['getLength',['../classLine.html#afe6672bc7667cf45739c46f9fc8cb237',1,'Line']]], + ['getmaxbound_242',['getMaxBound',['../classEll.html#a8a8dd2acc8c7be5580dd8e549d247525',1,'Ell::getMaxBound()'],['../classPolyShape.html#a6ddda72dc27d7aade0ed444a52d7689f',1,'PolyShape::getMaxBound()'],['../classSVGElement.html#a03ac231161d1d5062951fa3fca33a39b',1,'SVGElement::getMaxBound()']]], + ['getminbound_243',['getMinBound',['../classEll.html#ab79368df57ee08382916fc52b69afb85',1,'Ell::getMinBound()'],['../classPolyShape.html#a0ad83e0129196572f99302830e0c9049',1,'PolyShape::getMinBound()'],['../classSVGElement.html#a0cce88c48233f4da470daad2edab0d06',1,'SVGElement::getMinBound()']]], + ['getoffset_244',['getOffset',['../classStop.html#a60a63002485122f30a80e80220d99748',1,'Stop']]], + ['getoutlinecolor_245',['getOutlineColor',['../classSVGElement.html#a822191eb1d87545fe7bddbeb0ada3d1c',1,'SVGElement']]], + ['getoutlinethickness_246',['getOutlineThickness',['../classSVGElement.html#a2e4b1a48bfbc34a6a9f17bfd4b89eb51',1,'SVGElement']]], + ['getparent_247',['getParent',['../classSVGElement.html#a1b075314d4cda4fa895688979fe462fd',1,'SVGElement']]], + ['getpoints_248',['getPoints',['../classGradient.html#aced479d6a10d2aa53e6d363e1df5dc08',1,'Gradient::getPoints()'],['../classPath.html#a9d701e9231022249523970101bbc749c',1,'Path::getPoints()'],['../classPolyShape.html#a27704ef9fd50c041d1d233e9d99a4fd4',1,'PolyShape::getPoints()']]], + ['getposition_249',['getPosition',['../classSVGElement.html#a4e1ed8bb29fd4dbeb35471315976b3a2',1,'SVGElement']]], + ['getradius_250',['getRadius',['../classRect.html#a31ca84cc8755233b5e61d22189f637b0',1,'Rect::getRadius()'],['../classRadialGradient.html#acfa8223581f3caf2db33c310cfa48d1d',1,'RadialGradient::getRadius()'],['../classEll.html#a00d607a5238705b552ec61b4409b76c1',1,'Ell::getRadius()']]], + ['getroot_251',['getRoot',['../classParser.html#a59ed4455eaec306cde11939785c4e71a',1,'Parser']]], + ['getstops_252',['getStops',['../classGradient.html#a1125c4e5294389bb6698bf4fcb4f928d',1,'Gradient']]], + ['gettransformorder_253',['getTransformOrder',['../classParser.html#a99df58e649089762bf434502173716d6',1,'Parser']]], + ['gettransforms_254',['getTransforms',['../classGradient.html#adf0e8b360f2b8e6edc1059002f85b1c1',1,'Gradient::getTransforms()'],['../classSVGElement.html#a5f111964efd20e98eafafb3d168a1e87',1,'SVGElement::getTransforms()']]], + ['getunits_255',['getUnits',['../classGradient.html#a54cc5770c2dce46f1d56bcfb63285173',1,'Gradient']]], + ['getviewbox_256',['getViewBox',['../classParser.html#a231c2e522115ae9a4fd9629285ed28e1',1,'Parser']]], + ['getviewport_257',['getViewPort',['../classParser.html#a009fbe10a1b9b58a65be44634335a062',1,'Parser']]], + ['getwidth_258',['getWidth',['../classRect.html#a9c1dd853ea5df8e7c96a11bba72cc67a',1,'Rect::getWidth()'],['../classViewBox.html#aaedc3a475d3664ec7940ebf192d07b5b',1,'ViewBox::getWidth()']]], + ['getwindowsize_259',['getWindowSize',['../classViewer.html#aa8d0481396e20f1a8d4f6691ff0a67c1',1,'Viewer']]], + ['getx_260',['getX',['../classViewBox.html#a62e0eb37e6f49b008be683a9051857f1',1,'ViewBox']]], + ['gety_261',['getY',['../classViewBox.html#ace506c1585508555ebff5f834b13f74f',1,'ViewBox']]], + ['gradient_262',['Gradient',['../classGradient.html#aa27206a9cc0adb5309a6db6dbd9d0257',1,'Gradient']]], + ['group_263',['Group',['../classGroup.html#a7b74f9ac68e0504ccf2e2854b7355ff1',1,'Group::Group()'],['../classGroup.html#a123cdaf1fb7cdf873740757d3864a4a6',1,'Group::Group(Attributes attributes)']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index a673226..42726f6 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,10 +1,10 @@ var searchData= [ - ['handlekeydown_250',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], - ['handlekeyevent_251',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], - ['handleleftbuttondown_252',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], - ['handleleftbuttonup_253',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], - ['handlemouseevent_254',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], - ['handlemousemove_255',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], - ['handlemousewheel_256',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]] + ['handlekeydown_264',['handleKeyDown',['../classViewer.html#a8bcd4fdeb5c26092d65fc14474afeb38',1,'Viewer']]], + ['handlekeyevent_265',['handleKeyEvent',['../classViewer.html#a643c2fc659f06f4d4bfcefbad22ebd75',1,'Viewer']]], + ['handleleftbuttondown_266',['handleLeftButtonDown',['../classViewer.html#a2b889c5d09c8577ad1580dd610ac5678',1,'Viewer']]], + ['handleleftbuttonup_267',['handleLeftButtonUp',['../classViewer.html#ae0c94514f0897aa84732024855520e28',1,'Viewer']]], + ['handlemouseevent_268',['handleMouseEvent',['../classViewer.html#acb15ba2e5d3bab2ba58da0db724b3bd1',1,'Viewer']]], + ['handlemousemove_269',['handleMouseMove',['../classViewer.html#a81a24ea13ee1e7e8c83be60672a7a11e',1,'Viewer']]], + ['handlemousewheel_270',['handleMouseWheel',['../classViewer.html#a940c6147b33b273afdff6eef7309d500',1,'Viewer']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index e8c63a2..d1a8ccd 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['line_257',['Line',['../classLine.html#ab6e165ec2c3f412d5e5a860b28a52b4c',1,'Line']]], - ['lineargradient_258',['LinearGradient',['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient']]] + ['line_271',['Line',['../classLine.html#abef476564dc2f7dad7259ee5071301fa',1,'Line']]], + ['lineargradient_272',['LinearGradient',['../classLinearGradient.html#aaa0260244d818cd9d1180cb2697cc83b',1,'LinearGradient']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index a229469..4a5af41 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['mcolor_259',['mColor',['../classmColor.html#a9b1702a679c1c5f649787fe15d8b016a',1,'mColor::mColor()'],['../classmColor.html#a4376ef67b23a45be81daeecbfef1b2c3',1,'mColor::mColor(int red, int green, int blue, int alpha=255)'],['../classmColor.html#a8df59e284c6211d66b05fab14d726a5e',1,'mColor::mColor(int color)']]] + ['operator_3d_273',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index e473423..56cc26f 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,24 @@ var searchData= [ - ['operator_3d_260',['operator=',['../classRenderer.html#aa42607899757d0a1c5e8fe0aa4cb5a7f',1,'Renderer::operator=()'],['../classViewer.html#a3d14cceacd94622e6b9d5d71bfb5b64f',1,'Viewer::operator=()']]] + ['parsecircle_274',['parseCircle',['../classParser.html#af634ef273fb8c221a832688c19244adf',1,'Parser']]], + ['parsecolor_275',['parseColor',['../classParser.html#a2e5e2efef794624abaa9bf390e234950',1,'Parser']]], + ['parseelements_276',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], + ['parseellipse_277',['parseEllipse',['../classParser.html#aa2249c02eee1ce310158a3450450ff3e',1,'Parser']]], + ['parsegradient_278',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], + ['parseline_279',['parseLine',['../classParser.html#a741b866e359471784380c23c5b71d9da',1,'Parser']]], + ['parsepath_280',['parsePath',['../classParser.html#af4b65cb5b02ac856daba07387f67c6aa',1,'Parser']]], + ['parsepathpoints_281',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], + ['parsepoints_282',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], + ['parsepolygon_283',['parsePolygon',['../classParser.html#a3df3464ed7cfc97fd85ec2ff89e64359',1,'Parser']]], + ['parsepolyline_284',['parsePolyline',['../classParser.html#a5dd4328e960681889155a13f699200ce',1,'Parser']]], + ['parser_285',['Parser',['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)']]], + ['parserect_286',['parseRect',['../classParser.html#ad7063613f30bc89a4a9197cd664fe9d4',1,'Parser']]], + ['parseshape_287',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], + ['parsetext_288',['parseText',['../classParser.html#a9ed27a4ee0360f437acb83553dd76c9f',1,'Parser']]], + ['path_289',['Path',['../classPath.html#ad8dab023d3009f51f001fb930c2334c2',1,'Path']]], + ['plygon_290',['Plygon',['../classPlygon.html#ade144fd5857f80e3b345e2ba538b017d',1,'Plygon']]], + ['plyline_291',['Plyline',['../classPlyline.html#a248be9e58f3122f28c3828ed178ab863',1,'Plyline']]], + ['polyshape_292',['PolyShape',['../classPolyShape.html#acd2f2ae8470d1c92704bfba9fbdbae45',1,'PolyShape']]], + ['printdata_293',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], + ['printshapesdata_294',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 3706b02..31cd032 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,24 +1,6 @@ var searchData= [ - ['parsecircle_261',['parseCircle',['../classParser.html#ab7776f740b7d63c388a086c8b8ecccd0',1,'Parser']]], - ['parsecolor_262',['parseColor',['../classParser.html#a18d5a9aa35bd124023a060940486e183',1,'Parser']]], - ['parseelements_263',['parseElements',['../classParser.html#aaf9f19591ff93f0c0c2fd68955e4a4af',1,'Parser']]], - ['parseellipse_264',['parseEllipse',['../classParser.html#a0af0085ee5e20739bdf23a5b685642b6',1,'Parser']]], - ['parsegradient_265',['parseGradient',['../classParser.html#ac1e519500fce1b4192362ed1aa5ccbc3',1,'Parser']]], - ['parseline_266',['parseLine',['../classParser.html#a95e84ae219109769fae08702381acf78',1,'Parser']]], - ['parsepath_267',['parsePath',['../classParser.html#a6f80728e7a771d2653baf1b453b655d9',1,'Parser']]], - ['parsepathpoints_268',['parsePathPoints',['../classParser.html#aecea54d6bc1ff225a6ac450ccbb560c3',1,'Parser']]], - ['parsepoints_269',['parsePoints',['../classParser.html#af408a2ef7b27ceed0547093d73e6b2eb',1,'Parser']]], - ['parsepolygon_270',['parsePolygon',['../classParser.html#a7afd52c648dc5983e596edfa7eb6bbb5',1,'Parser']]], - ['parsepolyline_271',['parsePolyline',['../classParser.html#a03766f0f9f6ebdead0474973d3ac50aa',1,'Parser']]], - ['parser_272',['Parser',['../classParser.html#a48044a8caa14a251cb4dad9fb363658e',1,'Parser::Parser(const Parser &)=delete'],['../classParser.html#a350fc3e35535c5891cd9e36e79ee546a',1,'Parser::Parser(const std::string &file_name)']]], - ['parserect_273',['parseRect',['../classParser.html#a20352ab58a59e61f6da1b4d20861907d',1,'Parser']]], - ['parseshape_274',['parseShape',['../classParser.html#abfd09c5dd46fb0dc9bcd9106857dbf5e',1,'Parser']]], - ['parsetext_275',['parseText',['../classParser.html#a539bda46a2832a22741105c9299c12cb',1,'Parser']]], - ['path_276',['Path',['../classPath.html#a089f2f59cc5574ce9e93826891044378',1,'Path']]], - ['plygon_277',['Plygon',['../classPlygon.html#ac3f4fb224f4f84c3bd6e41093cd847cd',1,'Plygon']]], - ['plyline_278',['Plyline',['../classPlyline.html#a8bf7677d7adb76f146607ef1aaa49bd3',1,'Plyline']]], - ['polyshape_279',['PolyShape',['../classPolyShape.html#a6fd054647bea080272ed79bbea7080ac',1,'PolyShape']]], - ['printdata_280',['printData',['../classEll.html#a1d6d60039d2405f2b7aa117206d128fb',1,'Ell::printData()'],['../classGroup.html#a42fa18c4215ad3669db32b78e22303fa',1,'Group::printData()'],['../classPath.html#a3d2df8f3367db525772586065e16151e',1,'Path::printData()'],['../classPolyShape.html#a40a83ac567156de6da65adb1a4380c7c',1,'PolyShape::printData()'],['../classRect.html#a66351fe7a171c2b3ed5f4bdf8d6661ba',1,'Rect::printData()'],['../classSVGElement.html#ad4bcd981ae7431161013811024b452e1',1,'SVGElement::printData()'],['../classText.html#a40e38d59ba9b34df9900375409f6f03f',1,'Text::printData()']]], - ['printshapesdata_281',['printShapesData',['../classParser.html#a3d8927f2e26abf6a63bd850c154b23c6',1,'Parser']]] + ['radialgradient_295',['RadialGradient',['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient']]], + ['rect_296',['Rect',['../classRect.html#ab8ceb8946210a2779862a66ad8d43397',1,'Rect']]], + ['renderer_297',['Renderer',['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index 86e1405..6a61e44 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,6 +1,22 @@ var searchData= [ - ['radialgradient_282',['RadialGradient',['../classRadialGradient.html#a656e8c8a107f28a06c356a3ad1a4827c',1,'RadialGradient']]], - ['rect_283',['Rect',['../classRect.html#ad52d66e844d848d0e95f744b697e7beb',1,'Rect']]], - ['renderer_284',['Renderer',['../classRenderer.html#a8c6e15f666cb188a936004add75e6c6b',1,'Renderer::Renderer(const Renderer &)=delete'],['../classRenderer.html#a7ebf46f54dab9905f79b80f7fddb76a6',1,'Renderer::Renderer()']]] + ['setanchor_298',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], + ['setcontent_299',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], + ['setdirection_300',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], + ['setfillcolor_301',['setFillColor',['../classSVGElement.html#ab0c42c2caee0d6285101c5284eccb98d',1,'SVGElement']]], + ['setfillrule_302',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], + ['setfontsize_303',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], + ['setfontstyle_304',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], + ['setgradient_305',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], + ['setheight_306',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], + ['setoutlinecolor_307',['setOutlineColor',['../classSVGElement.html#ad0bd6c4c9981c241f5d853d4334c6e8e',1,'SVGElement']]], + ['setoutlinethickness_308',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], + ['setparent_309',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], + ['setposition_310',['setPosition',['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)'],['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)']]], + ['setradius_311',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], + ['settransforms_312',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], + ['setunits_313',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], + ['setwidth_314',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], + ['stop_315',['Stop',['../classStop.html#a8d3f4b236f80f256029cf1e0b7417d3e',1,'Stop']]], + ['svgelement_316',['SVGElement',['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html#ae0d0973f5314576af10f304a0fb4b772',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width)'],['../classSVGElement.html#a80a98bd44871326e30dbcd6ad6e40f57',1,'SVGElement::SVGElement(const ColorShape &fill, const ColorShape &stroke, float stroke_width, const Vector2Df &position)']]] ]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js index 8737a39..52c2df6 100644 --- a/docs/search/functions_b.js +++ b/docs/search/functions_b.js @@ -1,22 +1,4 @@ var searchData= [ - ['setanchor_285',['setAnchor',['../classText.html#aa503905beb9dddf11c9c579424d0a84f',1,'Text']]], - ['setcontent_286',['setContent',['../classText.html#a12e8ae19a8e677eb6f1c2dc2716dcab0',1,'Text']]], - ['setdirection_287',['setDirection',['../classLine.html#ab46a879365e623e8b360c2db54d76782',1,'Line']]], - ['setfillcolor_288',['setFillColor',['../classSVGElement.html#abf7eef6d09fedba0d0f50a0f1a4be2fb',1,'SVGElement']]], - ['setfillrule_289',['setFillRule',['../classPath.html#ad2ba583a2dd567c3295ea62817b541e9',1,'Path::setFillRule()'],['../classPolyShape.html#a0c918fe8d9df68573a1c0d6e18bc6c9a',1,'PolyShape::setFillRule()']]], - ['setfontsize_290',['setFontSize',['../classText.html#a6a04680d93c625645278b1d1111420bb',1,'Text']]], - ['setfontstyle_291',['setFontStyle',['../classText.html#a4f24f78f8a962e758b70c5d9fd85b7cb',1,'Text']]], - ['setgradient_292',['setGradient',['../classSVGElement.html#a312b6aa934488672585c7e9d858300f8',1,'SVGElement']]], - ['setheight_293',['setHeight',['../classRect.html#a964a6107f787f612798bda5c0423fb5b',1,'Rect']]], - ['setoutlinecolor_294',['setOutlineColor',['../classSVGElement.html#ac0cc2f6d2e01d364a695bebaa7db18d2',1,'SVGElement']]], - ['setoutlinethickness_295',['setOutlineThickness',['../classSVGElement.html#a88653ebe8b92ec881ab436ea968375a8',1,'SVGElement']]], - ['setparent_296',['setParent',['../classSVGElement.html#a43b3bf06fae88a1634a189272088d11d',1,'SVGElement']]], - ['setposition_297',['setPosition',['../classSVGElement.html#a77aefe4b7e9dbf180cc531c969d0116d',1,'SVGElement::setPosition(float x, float y)'],['../classSVGElement.html#aec8a2f582f21a559c05d791e017efbd5',1,'SVGElement::setPosition(const Vector2Df &position)']]], - ['setradius_298',['setRadius',['../classEll.html#a9f67131ba02c02fccf42c52f5f04525e',1,'Ell::setRadius()'],['../classRect.html#a28b51c4f99cfa0208a2a5cef350c2a5e',1,'Rect::setRadius()']]], - ['settransforms_299',['setTransforms',['../classGradient.html#ae2afa93bd9b6759f5fe625065301d3d9',1,'Gradient::setTransforms()'],['../classSVGElement.html#a00fef2ebc5df4838b3f9bd7111b117c5',1,'SVGElement::setTransforms()']]], - ['setunits_300',['setUnits',['../classGradient.html#a61dd624d452ab2afe913414158888165',1,'Gradient']]], - ['setwidth_301',['setWidth',['../classRect.html#ae11a39d12f7a766f773e662b0830848d',1,'Rect']]], - ['stop_302',['Stop',['../classStop.html#a3ad6054f4ecb97b3fc68595b744f8d54',1,'Stop']]], - ['svgelement_303',['SVGElement',['../classSVGElement.html#ad30205005009d2ba4820d3ce372e81ea',1,'SVGElement::SVGElement()'],['../classSVGElement.html#a1a43e7717c20d50fd1990b592499fdba',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width)'],['../classSVGElement.html#a6ed48bcc78dd62e3da256ddbd103ccd1',1,'SVGElement::SVGElement(const mColor &fill, const mColor &stroke, float stroke_width, const Vector2Df &position)']]] + ['text_317',['Text',['../classText.html#a66964f633003321b9dedb0ea0f0cf4b2',1,'Text']]] ]; diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js index a5b8ba7..342e108 100644 --- a/docs/search/functions_c.js +++ b/docs/search/functions_c.js @@ -1,4 +1,6 @@ var searchData= [ - ['text_304',['Text',['../classText.html#a92c5df61031c3a9af813f9cc6978f34a',1,'Text']]] + ['vector2d_318',['Vector2D',['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], + ['viewbox_319',['ViewBox',['../classViewBox.html#a23ee8257f489c18146082bf7c58a09e1',1,'ViewBox::ViewBox()'],['../classViewBox.html#ac775b83d6648112514928499ca1256a4',1,'ViewBox::ViewBox(float X, float Y, float W, float H)']]], + ['viewer_320',['Viewer',['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]] ]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index aab9efd..e5b273e 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -1,5 +1,8 @@ var searchData= [ - ['vector2d_305',['Vector2D',['../classVector2D.html#a96580267fed7cd6686cbbf8e11048023',1,'Vector2D::Vector2D()'],['../classVector2D.html#a4f1bca1b63cd8b1323c85c9a5c597df4',1,'Vector2D::Vector2D(T X, T Y)'],['../classVector2D.html#af9cb4a6f06903844162f4c9d80d16b85',1,'Vector2D::Vector2D(const Vector2D< U > &vector)']]], - ['viewer_306',['Viewer',['../classViewer.html#aaedebacb31cba87de6e7d448ed8d6586',1,'Viewer::Viewer()'],['../classViewer.html#abb8e49e83e5c574411bb9995665fd7eb',1,'Viewer::Viewer(const Viewer &)=delete']]] + ['_7egradient_321',['~Gradient',['../classGradient.html#a9332299756c51c99398ce09e584a8b42',1,'Gradient']]], + ['_7egroup_322',['~Group',['../classGroup.html#aed00a22ff227ee2657ae44a5cbcedf7c',1,'Group']]], + ['_7eparser_323',['~Parser',['../classParser.html#a3e658b5917a93a3ef648050d060e3a93',1,'Parser']]], + ['_7esvgelement_324',['~SVGElement',['../classSVGElement.html#a5087280fd4bbb637c3cde64e44e974f1',1,'SVGElement']]], + ['_7eviewer_325',['~Viewer',['../classViewer.html#a324e5a6a1532fe5eac3f3b0e4792b2da',1,'Viewer']]] ]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js index 519f412..345b16a 100644 --- a/docs/search/related_0.js +++ b/docs/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['operator_3c_3c_363',['operator<<',['../classmColor.html#a1887c93301ffe92701baf17d6af3418e',1,'mColor']]] + ['operator_3c_3c_384',['operator<<',['../classColorShape.html#ab1838d64491c21fc854c50b7b1d2fd44',1,'ColorShape']]] ]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index cb0b487..68d91a2 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,8 +1,8 @@ var indexSectionsWithContent = { 0: "abcdefghilmnoprstuvwxyz~", - 1: "ceglmprstv", - 2: "acdeghlmoprstv~", + 1: "ceglprstv", + 2: "acdeghloprstv~", 3: "abcdfghilmnoprstuvwxyz", 4: "o" }; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index cd2b06c..c0b67a1 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['a_312',['a',['../classmColor.html#ac086aa72806b8ce55fed3df9ba976f6c',1,'mColor']]], - ['anchor_313',['anchor',['../classText.html#a33f5c94508241a960c139923c284491e',1,'Text']]], - ['attributes_314',['attributes',['../classGroup.html#a9308f587c63720ccbe2bfd1bad868547',1,'Group']]] + ['a_326',['a',['../classColorShape.html#aa6918d31a60b8063746b6df08aa1b63a',1,'ColorShape']]], + ['anchor_327',['anchor',['../classText.html#a33f5c94508241a960c139923c284491e',1,'Text']]], + ['attributes_328',['attributes',['../classGroup.html#a9308f587c63720ccbe2bfd1bad868547',1,'Group']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index 9071da0..ffe38bd 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,6 +1,6 @@ var searchData= [ - ['b_315',['b',['../classmColor.html#ad56f2424fa451364becdc4d1c4df657c',1,'mColor']]], - ['black_316',['Black',['../classmColor.html#aa3910d2b82d32c8aa4e50127874a6d03',1,'mColor']]], - ['blue_317',['Blue',['../classmColor.html#a59dc727125e9f3d4ed0c59433dfa0780',1,'mColor']]] + ['b_329',['b',['../classColorShape.html#aaafbfd08715b17c4bda81d7b84dc1e68',1,'ColorShape']]], + ['black_330',['Black',['../classColorShape.html#a82ed7d0df939f43fd72105c5c6c7ed87',1,'ColorShape']]], + ['blue_331',['Blue',['../classColorShape.html#a1df0c31367734b49349f8d51ebc26889',1,'ColorShape']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js index a30cd44..e5dfe08 100644 --- a/docs/search/variables_10.js +++ b/docs/search/variables_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['units_353',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] + ['units_372',['units',['../classGradient.html#a592dda454dc4df897263212191d6e3cb',1,'Gradient']]] ]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js index ac4e26d..f1b37e3 100644 --- a/docs/search/variables_11.js +++ b/docs/search/variables_11.js @@ -1,5 +1,5 @@ var searchData= [ - ['viewbox_354',['viewbox',['../classParser.html#a7eb24f4915ba9b7a652ca204c1edb2c7',1,'Parser']]], - ['viewport_355',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] + ['viewbox_373',['viewbox',['../classParser.html#aa8eb9358d20c85b7f92b6fb3a88fa666',1,'Parser']]], + ['viewport_374',['viewport',['../classParser.html#a2872aff3bfb15fdb1df2dcdce2bd632a',1,'Parser']]] ]; diff --git a/docs/search/variables_12.js b/docs/search/variables_12.js index c7887d1..5e2273e 100644 --- a/docs/search/variables_12.js +++ b/docs/search/variables_12.js @@ -1,6 +1,7 @@ var searchData= [ - ['white_356',['White',['../classmColor.html#a73b9b91ca8c79e6e3876e5d83980ebec',1,'mColor']]], - ['width_357',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], - ['window_5fsize_358',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] + ['w_375',['w',['../classViewBox.html#a7ae30092b30f64873e4d6051413fa4e0',1,'ViewBox']]], + ['white_376',['White',['../classColorShape.html#ac5fd30929839c15bf0e1321552130a70',1,'ColorShape']]], + ['width_377',['width',['../classRect.html#a800053c390ccb818add47e627e535a5e',1,'Rect']]], + ['window_5fsize_378',['window_size',['../classViewer.html#aa172f661daf24807148fb697f10e750a',1,'Viewer']]] ]; diff --git a/docs/search/variables_13.js b/docs/search/variables_13.js index 52b1061..bf4a514 100644 --- a/docs/search/variables_13.js +++ b/docs/search/variables_13.js @@ -1,4 +1,5 @@ var searchData= [ - ['x_359',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D']]] + ['x_379',['x',['../classVector2D.html#a65e391ec61c185092a02cf6301d0fff7',1,'Vector2D::x()'],['../classViewBox.html#aba09e235897cb11d7ce19f7a2b614366',1,'ViewBox::x()']]], + ['x_5faxis_5frotation_380',['x_axis_rotation',['../structPathPoint.html#ae583dc92052b201d3416506e7632a0cc',1,'PathPoint']]] ]; diff --git a/docs/search/variables_14.js b/docs/search/variables_14.js index e9c59dd..bba0c15 100644 --- a/docs/search/variables_14.js +++ b/docs/search/variables_14.js @@ -1,5 +1,5 @@ var searchData= [ - ['y_360',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D']]], - ['yellow_361',['Yellow',['../classmColor.html#a68265f053324eea11265c7f8d7fdb5ff',1,'mColor']]] + ['y_381',['y',['../classVector2D.html#a6a91fccbbd37162d28fa54aeeb88f9d2',1,'Vector2D::y()'],['../classViewBox.html#ae22faa29c0bfe51ed877d240f123edb0',1,'ViewBox::y()']]], + ['yellow_382',['Yellow',['../classColorShape.html#a6bc88305d41255e2d9969bec6777420a',1,'ColorShape']]] ]; diff --git a/docs/search/variables_15.js b/docs/search/variables_15.js index d2dffec..5213075 100644 --- a/docs/search/variables_15.js +++ b/docs/search/variables_15.js @@ -1,4 +1,4 @@ var searchData= [ - ['zoom_5ffactor_362',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] + ['zoom_5ffactor_383',['zoom_factor',['../classViewer.html#a46377febc22fd7f2cc38a73ddb66b8ad',1,'Viewer']]] ]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 2c32117..e88ca84 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['color_318',['color',['../classStop.html#afb57d3535781a9e40efff24c43520a21',1,'Stop']]], - ['content_319',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], - ['cyan_320',['Cyan',['../classmColor.html#a04a0d2485c1106ccc94d065a0e62ecfb',1,'mColor']]] + ['color_332',['color',['../classStop.html#a6ab2dacfb8c4c6cff157c84f3579c21e',1,'Stop']]], + ['content_333',['content',['../classText.html#a9336f13d0d4a26d41c2fd2e103ac5dde',1,'Text']]], + ['cyan_334',['Cyan',['../classColorShape.html#a87ec94f44076a578446b384afafae0ec',1,'ColorShape']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index c5b0a55..c3cda97 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['direction_321',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]] + ['direction_335',['direction',['../classLine.html#a3fe45077492213ef490739c6137200d1',1,'Line']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 8baae65..7968fc0 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['fill_322',['fill',['../classSVGElement.html#a6d3a39e763d3273715ea11f8959f81b1',1,'SVGElement']]], - ['fill_5frule_323',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], - ['font_5fsize_324',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] + ['fill_336',['fill',['../classSVGElement.html#af2a0e1a4228c0a6d02a26f35d8ac8c05',1,'SVGElement']]], + ['fill_5frule_337',['fill_rule',['../classPath.html#ac5abd8d5994a75cca56205c7e55a5b4f',1,'Path::fill_rule()'],['../classPolyShape.html#abd758b76bbc30e790602b1f37a814fe1',1,'PolyShape::fill_rule()']]], + ['font_5fsize_338',['font_size',['../classText.html#a71158226b190f16477820e45b549133f',1,'Text']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index b2f86e4..82fec62 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,7 +1,7 @@ var searchData= [ - ['g_325',['g',['../classmColor.html#a0cd1254821d108bb8c5be8ec5536f8ec',1,'mColor']]], - ['gradient_326',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], - ['gradients_327',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], - ['green_328',['Green',['../classmColor.html#aa69dc1cb58cec64672952d1e84744f8c',1,'mColor']]] + ['g_339',['g',['../classColorShape.html#a91c01752af407a122a81c6c44afbba9f',1,'ColorShape']]], + ['gradient_340',['gradient',['../classSVGElement.html#aab61149df9916892540627a0d7c4480c',1,'SVGElement']]], + ['gradients_341',['gradients',['../classParser.html#a7f085da78317baf2cc61e6e92b4b29c8',1,'Parser']]], + ['green_342',['Green',['../classColorShape.html#a4bf7634a2b117e8867dfb4444962d66d',1,'ColorShape']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index a6fbe3a..4e022be 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,4 +1,5 @@ var searchData= [ - ['height_329',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] + ['h_343',['h',['../classViewBox.html#a384a7abdc93e514a24d4fdc266fa0a74',1,'ViewBox']]], + ['height_344',['height',['../classRect.html#a31428cce67b56b6daf168131c7dbe1e8',1,'Rect']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index 61c6511..df50884 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['instance_330',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], - ['is_5fdragging_331',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] + ['instance_345',['instance',['../classParser.html#ae3a28c02c18171f4e83fae54b9f21a90',1,'Parser::instance()'],['../classRenderer.html#a7431a2f9b03f35752e034410ffebfbe1',1,'Renderer::instance()'],['../classViewer.html#a53c3dca921442983d13f335d0e8a7e20',1,'Viewer::instance()']]], + ['is_5fdragging_346',['is_dragging',['../classViewer.html#a452e9dd05638bf3da01d8f51dba009a5',1,'Viewer']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 20359b6..2232e57 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['last_5fmouse_5fpos_332',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]] + ['large_5farc_5fflag_347',['large_arc_flag',['../structPathPoint.html#a35cbe9f919695a09f5c881618f5fa0f9',1,'PathPoint']]], + ['last_5fmouse_5fpos_348',['last_mouse_pos',['../classViewer.html#a77bc329e7ae0aecaf60a4de4f8dcc037',1,'Viewer']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index 0815550..cb787af 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['magenta_333',['Magenta',['../classmColor.html#a777df695011fdb21f6b5d3e6745389c4',1,'mColor']]] + ['magenta_349',['Magenta',['../classColorShape.html#a8132294eb978dd065d7da6896d7782af',1,'ColorShape']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index f25f5d7..7c0bf1b 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['needs_5frepaint_334',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] + ['needs_5frepaint_350',['needs_repaint',['../classViewer.html#a59a507a835919e78114601d5bd1784e6',1,'Viewer']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index 57ba003..2561497 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,6 +1,6 @@ var searchData= [ - ['offset_335',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], - ['offset_5fx_336',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], - ['offset_5fy_337',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]] + ['offset_351',['offset',['../classStop.html#a2b6aaf0f14507df64c6bbd99043ad44b',1,'Stop']]], + ['offset_5fx_352',['offset_x',['../classViewer.html#a3e16ebbf5c0ed98dc75fe2c4d46fe0d5',1,'Viewer']]], + ['offset_5fy_353',['offset_y',['../classViewer.html#a30b0f57907c82de620339e105f9a3c5b',1,'Viewer']]] ]; diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js index fe7d50a..6fccb31 100644 --- a/docs/search/variables_c.js +++ b/docs/search/variables_c.js @@ -1,6 +1,7 @@ var searchData= [ - ['parent_338',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], - ['points_339',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], - ['position_340',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]] + ['parent_354',['parent',['../classSVGElement.html#adee748c3014de1c1ebd20411a52e824a',1,'SVGElement']]], + ['point_355',['point',['../structPathPoint.html#a95cecf76150d2bb4a6b6b7875693ca69',1,'PathPoint']]], + ['points_356',['points',['../classGradient.html#a8da859d1b12459800e763c31f18d0d41',1,'Gradient::points()'],['../classPath.html#a1880b844baafdeca91a7cf5d155cf9f1',1,'Path::points()'],['../classPolyShape.html#acbd1d536ad25e34b160e849a0fc12697',1,'PolyShape::points()']]], + ['position_357',['position',['../classSVGElement.html#acf9b9906b6d0cba8bb5c0b38b032e40f',1,'SVGElement']]] ]; diff --git a/docs/search/variables_d.js b/docs/search/variables_d.js index abd2a60..1b46701 100644 --- a/docs/search/variables_d.js +++ b/docs/search/variables_d.js @@ -1,8 +1,8 @@ var searchData= [ - ['r_341',['r',['../classmColor.html#a427453d377b30c62f7d25f47120959d6',1,'mColor']]], - ['radius_342',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], - ['red_343',['Red',['../classmColor.html#aa0fc6fe3033f7ff2806c59e39c072dbc',1,'mColor']]], - ['root_344',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], - ['rotate_5fangle_345',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] + ['r_358',['r',['../classColorShape.html#a7e699ac932feca73128bb768047c154b',1,'ColorShape']]], + ['radius_359',['radius',['../classEll.html#af57a48abe0e2bc8806e73dfa7762388f',1,'Ell::radius()'],['../structPathPoint.html#a6646f1aa8bba6735d4b4d794ef86a786',1,'PathPoint::radius()'],['../classRadialGradient.html#abad9345ee5091075d8fc1b7a3511dbd7',1,'RadialGradient::radius()'],['../classRect.html#a7857e3568d2a2a35bf0c6b28028005b5',1,'Rect::radius()']]], + ['red_360',['Red',['../classColorShape.html#a58f7532025f1f7715f13ebfc5586b08c',1,'ColorShape']]], + ['root_361',['root',['../classParser.html#a13a5e2fdac62670c1584de1edbba77f2',1,'Parser']]], + ['rotate_5fangle_362',['rotate_angle',['../classViewer.html#a82dfd34668f986b72e51ee86d4029fc6',1,'Viewer']]] ]; diff --git a/docs/search/variables_e.js b/docs/search/variables_e.js index 5b17d49..19a48cb 100644 --- a/docs/search/variables_e.js +++ b/docs/search/variables_e.js @@ -1,8 +1,9 @@ var searchData= [ - ['shapes_346',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], - ['stops_347',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], - ['stroke_348',['stroke',['../classSVGElement.html#aab937dcb566cd83d94d00d69b4083f13',1,'SVGElement']]], - ['stroke_5fwidth_349',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], - ['style_350',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]] + ['shapes_363',['shapes',['../classGroup.html#a6ff10d6fceb2a78103db2d9783de6f41',1,'Group']]], + ['stops_364',['stops',['../classGradient.html#a7831fa94135c818481ef7c85f792e1ca',1,'Gradient']]], + ['stroke_365',['stroke',['../classSVGElement.html#aab842e97c5d24c964607a6d6efa061f8',1,'SVGElement']]], + ['stroke_5fwidth_366',['stroke_width',['../classSVGElement.html#a88449b487a890e3765ae20e96ee95c06',1,'SVGElement']]], + ['style_367',['style',['../classText.html#a12ee81ccf865a414867d4101c8dbbdb2',1,'Text']]], + ['sweep_5fflag_368',['sweep_flag',['../structPathPoint.html#ace50ee641dc2747418072f50b445dd53',1,'PathPoint']]] ]; diff --git a/docs/search/variables_f.js b/docs/search/variables_f.js index 35c4cad..1b45c6e 100644 --- a/docs/search/variables_f.js +++ b/docs/search/variables_f.js @@ -1,5 +1,6 @@ var searchData= [ - ['transforms_351',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], - ['transparent_352',['Transparent',['../classmColor.html#ac4f0afaa513bbe9e68c16156136d4ada',1,'mColor']]] + ['tc_369',['tc',['../structPathPoint.html#a54896895f14e17ca49c47a71b79dd570',1,'PathPoint']]], + ['transforms_370',['transforms',['../classGradient.html#a1387db53f850dd8cc765fc837c6e97e8',1,'Gradient::transforms()'],['../classSVGElement.html#aefeee5c1de3e802d9f5f0a54078170e6',1,'SVGElement::transforms()']]], + ['transparent_371',['Transparent',['../classColorShape.html#af806b9a0f2490761528be87924cb04c0',1,'ColorShape']]] ]; diff --git a/docs/structPathPoint-members.html b/docs/structPathPoint-members.html index 0756855..b0532fe 100644 --- a/docs/structPathPoint-members.html +++ b/docs/structPathPoint-members.html @@ -124,12 +124,12 @@

This is the complete list of members for PathPoint, including all inherited members.

- - - - - - + + + + + +
large_arc_flag (defined in PathPoint)PathPoint
point (defined in PathPoint)PathPoint
radius (defined in PathPoint)PathPoint
sweep_flag (defined in PathPoint)PathPoint
tc (defined in PathPoint)PathPoint
x_axis_rotation (defined in PathPoint)PathPoint
large_arc_flagPathPoint
pointPathPoint
radiusPathPoint
sweep_flagPathPoint
tcPathPoint
x_axis_rotationPathPoint

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 F{{zy1aAW`g literal 550311 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