From a8cf7176dfba76e2e781d65d26bfc6e1a84737e9 Mon Sep 17 00:00:00 2001 From: Toshio Sekiya Date: Thu, 5 Jan 2023 20:41:02 +0900 Subject: [PATCH] Section 22, 24 and 25 are updated. --- docs/image/turtle_compile_process.png | Bin 30101 -> 28785 bytes docs/image/turtle_snow.png | Bin 0 -> 85385 bytes docs/sec22.html | 51 +- docs/sec24.html | 486 +++--- docs/sec25.html | 2200 +++++++++++++++---------- gfm/sec22.md | 32 +- gfm/sec24.md | 423 +++-- gfm/sec25.md | 376 +++-- image/turtle_compile_process.png | Bin 30101 -> 28785 bytes image/turtle_compile_process.xcf | Bin 98133 -> 95702 bytes image/turtle_snow.png | Bin 0 -> 85385 bytes src/color/color.h | 3 - src/color/colorapplication.c | 21 +- src/sec22.src.md | 32 +- src/sec24.src.md | 144 +- src/sec25.src.md | 214 +-- src/turtle/example/square.txt | 12 +- src/turtle/image/turtle_snow.png | Bin 0 -> 85385 bytes src/turtle/turtle.h | 13 - src/turtle/turtle.lex | 6 +- src/turtle/turtle.y | 35 +- src/turtle/turtleapplication.c | 14 +- src/turtle/version.txt | 1 + 23 files changed, 2408 insertions(+), 1655 deletions(-) create mode 100644 docs/image/turtle_snow.png create mode 100644 image/turtle_snow.png delete mode 100644 src/color/color.h create mode 100644 src/turtle/image/turtle_snow.png delete mode 100644 src/turtle/turtle.h create mode 100644 src/turtle/version.txt diff --git a/docs/image/turtle_compile_process.png b/docs/image/turtle_compile_process.png index 015ead75ee4398aa39240457799ff1ff33b48b43..64f8fdebb6d88147d964f32688b9fa5cc75bdb4f 100644 GIT binary patch literal 28785 zcmbTe1zc3o*DgGSf+(RNh)RPr2+|!QokPcfjHuV;-pnNb*RF$!5^8E$b2Z=dvq*n z8M&5<4LB6SbhvA`o*$0L+K;g#ICaU-mKK%g4mmmU{NL zm&3X-V#ut{05qOL-glugr-#E{vl{G_Rw4~tK5*s`3c^p!%uo71C*)HFZf|Ebm+UP` z^}~@vTi_#V0(|BJo+ldVuiw7*9~BWpQYxFM8h#l1(5=zTc)&7wHwGa_V?q7;<=C(M z^$&SJtg7B7k-cOCvt%(xm!xT(DNI-=9Z}m==vh|;9MXgzo%ab&I*>AbP~wpfCB7z{ zsQV^LY*&Jldc-Sh|A4$X_=7n~Q{VFyW4XKcZ6?VtiQsllcOS90=D)%xZW9~qemvZE zQ)oN-C}>A)fRgd_mieX&v<~lAU_8XlsfvZMn$+C9LD-hOaSrc#)~)G83r-bv4yq9J zlk>ud!_b?@m42R1najs`J;UXCqTf209_!`rcxU^fy#{v?SrZq*AZibf&{E~)Mqpm9 zTd6BQ1zq9(=Cl$iM&)bm5A2yuHo}?mWyhkfK#+y zO2%G_ZZ0miu3jKT58D@Bwl<8u4qo<*%Bq?=MsLVyKp;kt>Qj0B*E2iwzOSjqmwq1j zI{8!R#6EhiNY%tO60Bg~l%vo0s^G>56@~7P(2yu@&8Kl?%pUUj z9PdX8!qVP3SGxp52^BUEppT@a(x&I9Q)||DGJFS9O%h(*3kQS(;LTZ-{=3!@&2!){(sf=ACi~6pF{;xH4=q9Z0gSQ8TBl=Pn(J{<5DUr0R5B3|=b9E0jy$zzEqe%-_S|Ey{~R_FOqB*9OuJn!OxUM|d0Nm=k*Q7ds==8i!$}2G zH4a}(ov)?4jTLG>z@E&yiC4->+6`v>mPEGZ8CIBzdHHxNj1?Hz#gTs;`<2y%c8<@own}9$NPeqG>;Z zo^P^ePx4wc>!Y?OCwmjvOE^G$l1^WDHY|MS3liA1OT9KnW`IYrX{*k(`qi{TV97it z%&^I_;b9&41axbR(|dQuV7}RVG=d?x7&wVN=w{fOZ)xyBE>tYE1%M^x&3bZq=b%^E zt%bH05to_#>!kNjoriK2Bd91TJ0mpb`3w<9ekKT)hWSD?0&2I(gpJ zDC)lO@m3kER6AQHqX6H9DWzVgJE2;dFn|ajvl{nohECWyQvOb0m!X?zg*dZ^s65nbkYDTc#%_=1T{h*rT?_1#hwR zLmTEiZid~OQQ&jQHLY{pnyx9DsI=f#HH8PaHG6G-w?OFZw69|=ESo%5$6%JSn&~2% zz`TG}REQZkK=?gLtYtST*;Zf2eYtt_COB2l_7J-qayAXgX{-}+f}zfWJw1IS^Xf6qLVa)wH}f*kY1MqHO&zLwjY?B!egQr zAK0El+BpnN8h-WVCufm#V3zZB^PX|?@eQsEM0Do<&Qs=QVq%(|BytRpw<|AhxTXqd zHn}f}yU6co&Ee`2TWZ$8$MD#@#dvJ@q7pgRrXO*+J zK!maQ6tuJ@+b}o;dT|i(kSxMyZ;n&788u<%jYUm5ZH^SEX=xb-2DYvZWh2ok-agwy zeakVjl{0ltP8-9yGYxLpQuHx6y&FONlwQ1e5&7v;A}gJFj0vHe1qessGuTY2vtKiqQ5ktBPc+GX1JZx39v(&8LSJ~daZ3gH3=aoggK<; zIUYxKR^XxPc$ty5TN^4FkWcju2&6;!_}a~sq9uWA*YLi&A!MeVMGT5{-bi$`hf3gu zfWD`Y7E|J4cF9$a7HGeViU$|m|L?P_++qt4{9V=ob)eki+{?G;tnHIl zF&|*MV}8I{^L7GqIS^9_W8>7WPd1zu4^IvxpG*IG!}*QKiz13|?l>60!6A|!1zeX7 z^3IYV2Zl-}^=yAe655$WK)zVK`xt(PN6{yrsU2~f z0xnpx{-T@j&F&pWI)! zSu+K2d7O}fkb-6o-|MGbrgjXcF(~vh;6QEWb59cYrnBxEVp z-aDW5+As97?sD7gEbw}2d@8Rn?OkZB(qLjbL+&)qdsJBRqm3+kF<5kbH_Pa}Z~y%V z+yQyd1eKoJ1jlu=Os)-hR6ux<&EA4bOE#58+R0PK)9E5fO;0~);62rrt$1hKPvyOp zXr3Zf}#vdI;`Zeg|d?y5+nwCA%y z{`S~_GY{I?hJO9FW*z~7YGJ2G+b#{O+chXo$`thv1?uYYUj{Scs_&htr9GC<60oMK zch4&yFFk`J&WiKG^bFs5e1l00;pVG{&EpD{@-Rk`yJU-&(_S5uU}mjB`PzZc(dnQ zk_6qd%%%M~0>_F2Bi`1cy1M%Xyoy_o)-imDD#gL+npMYXz1yB^E8CtbzFvkSp9K!J zviS^3S=Gl&Q;sj6>BYzUAIDZ%g=y1yLs3a{o#C7|T_n@Urf%fWglU`qb2Do)OlG!( z={;K|5FX$#e_-nAp{pn^zaPX7>sr%=+D1PX+9D;q)ox?Z{U;~0C3L$TZwW+_eoWVu z{TfK)Jnm+=>vvqtyu3u!?3$@TdcOy=7~!Fjx^$&Rsu+EPawTY+H#JSfU?WX9QYz3` zw@8aKaFWl&GC=dEktOFU799jx`z)xG)tg}JI4s9hX2iWT%%qehmb>pVYeOq#{IlN0 zqt>Yi%F1rn#&6NwBjQ`hOh&K2@_~{Bdt#;sH@OY-j`4Lv`+-v_;S@##tvzPxkk5v^wFwS6gOOL>o`p>vtyK6boD6%e(8uC z#|>Vy`wOS1zp^{qgGyHK+_il@n1yPQVe{Iw`e6xei#z>68NR;Ks}Zw~#)2ox1%T(@ zTK^f4A)Q zFrqz(iXyO#}ZKTUJ0?7hHGP-R+&`Ej;*7Fms2 zdIenmN~w6!`K!yI$z#jfWk!XT&r~RdGr=@5g3Q)ThABomdDA=Irh3}O1tC)x7B~h zg58^F9e%$s;6+3xR|9PTeK&B zM%lJ3M{7*}I6a!apDxlHu=Z)lnm!5%7u9x`QQ9+o9)YR14 z>*wtnh9Zi;YNp!^{v&??W3bwbGLs-UZEH0AlPU$|It@l9AuuY~|a;>J?*<_39 zGF4TXOk{@^-#nW}UX1-#;N-?9j)j4~6BCC#_w9ufSXDqQCOY00s3q9|0g1~IN!bby|3&rr?pwWEeC)a9Aof}}kS#PgEJ)3B9YyKkyi zRWQAd1=~>wk~I4n78_@9<~$wWylbM#eOOa2HQQjB)ptJxEjqnhJs;fiJ>r&b&#zRE zdZ(hqBT>*kriS!p!dYpVo@GjKnuTHJ&Cb|3*HWb^_ zc9GhKj`ve_AAeyU0?RHB{*{oTr~HZsd)_-$uc?|T*?-naewZcA?I(2zWQ&y;S;M{{ zH0K%OO6$RkuM7TVJXlQs6z&oJJ#`KVpWYGDY86Qlk#jkWur?8qCH5taLY*dfYRN~j z7e{JoV!ByD7`=XW0o_5=cGATU$`YcEI2PLy9VWzf!+1HT=TO$j-n@s`2ID#!(XXNs z+X|t*al^xPDks02!RYWUd7tNw@i#O-9En`0Qd~brB{+>f@>^a8XG8ZgGRh1KWSHj1 z*r77Bv6U7hbaGzf{{Me(olt$2i%b=OudduK{!8gW|C=c-KDe<3dkjxJe2q~o$s~GpnfaU>X~(T*E@Tz^^7;b;;S1Mz5~i330O;2-xcR_ z-p~=3qW4?>rQ3%^+i`IlRFn=YeY6pW{tkG)>~Xn(I9ks>9Ly|RY4WTwuaFLk-CwS$ z(=Xp>$%=M@e?F7%UuDV@(h=mo;LrwRzwiHc&6ZZC9l)bTD7QS;--Q>_~|?5XHm_k zX?0Gv8DdPHZT{6ie)iEn;P&i|ujVn;w`VA9^Yfe*af$bw7W6YLkFD~B{nAY9nQ5-u z5fCsz`1K=(m?TVZFaPX48&>pynXn)m5Pf2v&(=)qY#b&uP6{<^+Jjtj$X3o?U&Rv9 z$D$e#E9PycS;9^>7l$7;gdKZEa^5%tI6rNVrWXOyJ&y4f7QIzIP2;{*`vuO zIx49`^TG69qhc=uG~?=Pb_@=L7n`=b`5jq@DG zY+g*C|EOjO%}Uw;uD?Lkc(tet*LE0#q-21I80A8NmNY@+Yzo<^u3To34v4T$z2*AK zMI!qo5kpVlZe6v0X=42^6|Lm;DFMHBtYP!oeG@K&rEi^Yh!_)DHeTJ901-Y8nMxOm z10d!qc7sJ+5aJxvAw0?9wfMajq0SgWAxAL>l#M46+906PY$7Zy<_LqI70%&efKNp$ z{EE+d+pyO)rODO81aC_Uj}XL%jpS9Q9mmC> z;Yt8fcQ{8ASA%ohM|`A`@8}alWDZhqeELmGkSl5C+Ms7xu4C2Us#XkE#(DnHtebbG zHUryJ<$ljUplc*KJvDlSM#FE2fQNKN%hKdZF8HhO$-m{3@m<$yQcx@iyd1m>GLH+w ziwqg02I^oE*q|Ma91yJfr0ruhP+Ockla_aZYK=MOq3)?VzpCLN4L*m=>9f3=YgAl? zY@widP0)0UQM}FeGla43g4*`4Om&ep;Yfgswx?taS)r0sFs;+m4{UWlS}VA0b4>cOw0!q21MKU1 zR=@lF!s%-^6cUyw;aSR@k(& z`3jt%&pfK*m7^2Y5_P7Ebp^x14;S$OhB^W_%fpXO=_m+&Gl%x>Q^0A%AHrIhkr!uz zzB|QVqaNG^Y6qN#fl5VC*q+gPT9A$3_|JpaR@Sz(kL7>@W%XjOrFNC`BTc_?v;GNC ztu^gQ$cO=&1Tu0uh`k)|P%u5tTz^>}5)S5ZVFka)OB?T?D*>v;5WVna zY7pUl(R)QT*FYShct6ChT9^h;c2|F`HZ6EfzA=AZrmL7Gx)8fPZO5ki;(meY$F#&vh9JRt93-Y)$jmKfDw#~x8@^7)|jo%+lG@SSnW*`@Q4u8BK z<^_?gy){7r?GU7Si(!^-o=v8RX5rdE(nwx})F%E7fWe96cqSK;F-r)P#@;f}a__DD z>mLNHSHwM7``2F&WyCpcPiXW@N04!@mK52zA|Say@$I!^y!l6-EryP}b9G4(up6cj zP}hb!K=}~*Ws;A%ymk?G>YJ-6stss(NGH*AhDDda&j6AE$j+Xf*V&{m8{-)Qb+W9x z`RbciY}nuz)rp^rhhKC8Rkm$~p=LcWdf&^y0v^b(i0e6W?xe&(7|osxZUQ!xR*#&JX+bj6drEu?4+jA|nO57J8fF zpZ4WwwV&FGUgNH{kPNGLN?EnO4QuCWJ9iXO_9)u{h$aZUUC7xude*88tXzLAtM=L5 zz@UtaYu<|Y#LQj)W~*_Z)@%=%@JCu2J+6upcZ0BmrNphm%r?RQCL%T!~3;w_o?6~8pL`Z2P2VKq zmh6Ob^qZ_mxJ|?UU#Wkgw&WL^nvK7z)nuih%#}GnUGxT=*8*go`utv|q-~{{(FBmj z+mvpmmItD)AGwF%xJU|f-ArD_DG6)wx*O;r+5TxboQlR*Km{Pk)-TRHe7ExVKTz66 zM)skkqw-nVP#a9vU6CLA$>wz#n3rcE=@*`5+8?UdF7Qp|kQkkHn-|NLZhgj%%pOTAvV@Sb)qG zBW46bKX&j{axj)k#yZ>?fId|8d|;LL&c1WGUzkTmHTZP`t_Qsfr2W|``0}n zd=v!k%TLT=dss*w2q*x_(H3xi67m!v^_yHLRhwTYASx!7H($TOh-0Fs@Lv)V_V}iM zl|A{a;S;b%7JPPCO-36(lR8_)GKsDoFJS@qCwl}R$F;I+t(=+z6I|5(@{e39tm#qN zLcRh(lLaA5z_tKc<*%lK-V>a5PDNwa(!uDnIdLupib+2{1tNd~f3tL-g7M0Qx$NVw zQH7qfZT?o}n6=BSxVXsI7#9=ANkhHadNqHPf%qgWW$~4bf2A*?eGG;00-soB7+Lay zD@;eGYYwx-6V9;A%+NYhQ~SnKp2Uk>=!EUESd zD*DRdXu7)xsLAR&M>h0Kom#n(HYb3Z3*1sJUCCeI2T%C@MUs1=2Hybx^w@^44?pq{ z1Mi4KcO%YboUl#_J}u4-2)^0fhW_cVxq5qW%k!NlVM0#H=ci|8Xn*ux(&a%6&*Y-C zpWe?xO(1gpGP3B3AcjX10IL$jKA!-b7Q$Vx+1QR1*#=S2u%q);<5|@W;fry~G<)KATZ+To;=;!uYNS1-I$tVC}9w~~wvX7sbk)1%Tf>HOXBaP7LOTbn^L z5OAHRzvRFR6=3H}!0bV>12M+&UZ90ai3a7>bcg ze?j;TSX=@8Yiy93Kr83T%R)`Y;ur$0q67s1rsLreHk#wmAPC4PZ+M;$p5VXpc=b?) zosBK*@AsL!e>}W@HeM&}@OcPaMeH*%*UoXYrM7L1X<@ilhdpcibD}nV`2}+6e3jII z^}Df}C_8JJQ7^lEBKDB1FMHPxGkuw}5d2K8@*lpAgnh~j{_x=gz#;y*g#6;_9cIb_ zptNE7a}w&%ia`c(51{D&D;R*-uNke6UQxVIP{0qvXDl|U3HYN>#JDQwk!6@Txqdf! z1xp6cvecPH%B*4Df;qeO4v!&5eJ3=iLpuztb$4j&QM8>aB~GBZdbrnz5t)w8Dt^w< zF`oaD>q|ZMtczF$uRpLpW%Cj7`LoOpk$8ms_$o|96#PVVgqReq zLJ@fm{oVJ!A5l=@u>z}U?0LAPV2}5%29l#W zd|Pq<8pTI9(2KtSQVs!7CN%PqbWq5ZQzNYLQ1pPEgpE%FF?9IRJv{mSDq|dl zNErK_>v<&*ugF$wZxG^@u>p_HTf|vi`5^Tq4qI?2@AnGfE41Mv@C)yHvDuq5Ps2r+ z6vRWBLU6Yo}*!S`N{zXJiiXue@j38*Xmmv0C2YXac*VF|N`UKA@Xp)Jpu?vdBi7CqMmY*2t( zNv9F--R7elO`8jshlO7li3x~N^l}1Hh3hC&yJvDF=WiENhTnWb7`D?1kb}Qc+`@YY ztboha&5#x3!$=d z`#1F2mZAyvg$&wju{KYz=v~>S{HVT zzKF%s&75FFNNBqFLSB*n1)sp>^)y|vEYrE1H4vk9h=ou=;yM#9cJqL z5OwKEoA>ca#L_)y0KU`l}~)ntt6G$nl?%d?AolSi~!hBRC+(QK@7 zpoBYPl%$DdxmEpLdp!ML%4uiH1f+d`_FIbjzicq<QhjA8TQYyFquuqL_QXlivndRo2+}hpOjRt28Fjt}EVz?>5;u zMl4xh)?{s;luJlYak`jT>3wNNLruGvqF1LL&AB2#ODKQgqfF6S*UsizTNJXiC@V%b zVY5z7*O7>O35?9sc6SNkAcseUq>E*IyJSTwiD}fCyk9KQ~W(x1+ywc52 z)c|a$M2lZGXu;?Z^Bw0VbH1o_8AvwYm5|Fc7@IY6 zsfgh;r!r|Uf?F^QK{jffd$<*A0|yRoMlttCf1cf)INe;X3qb7Ec3*lU;l~?_F?z)u z=R{_nKWDW)74HDfwW6q^@;)5>pmLB_LWSHbNX`s8n`Udb{oRYQ^YQUsH`4KNr&lJ1 zKLZc0RC%)2#MOyuy_CGnu^8aEjn!P%7Yoo-vJBVM+x7mCq;5jTSxGG}kumO^u_n>S+ z<;9oRwKoc%m3JbWQ;!m;zKZt@=Xjb5*Dxe%Q*>b!g(%1pVJVxE} z#HQv?Ypo*6af@*d{mDF-AM4`mTABMMh6Pr4NjIN76?w3W*R}CH{UDqbFascDf3FZl zl!kc*^0!+YXLrd!k>^e+^}91!Cuq8ch1`SAZf-8YNc^W&Uj0$ywaQ{w)8qotl2LB21Pe92m{@XV(3Txw6_nCLYGf+g-RxRu(?pK{ zSfum_T6iDKLIs8~T?=3G{kr-u#^p~8m~HO%x~-qLc6rj2oDYn1KBfu)_9JTh`k4Yc z$=dbgyO{C&`J_v(%AVjQp#N{z453*MO~uP~M7aFmd2*AM!?lI=H$%h*_os0~>KNgr$>gUDs<=0R`XBfIlD&#m*- zSsy~f!rK%;yao{-_%bW$Jm#VPcrG<<7L>JTZS^VaBwdaM!JWbnCVbb~1fraT}Mm%)sc|WkXBfmzE`cls@hj~sINdxQ}XY<+573axLdxX-b!@DlDP@7~YIUMl# zQ(4wi;dAp2%?h=&Pm3mctm$oNPBc;2FBV3?V&pF}Rc-^Dw!Q*^qH+GO2?0ksL}rvM zj5vA(loM-n&ZGd~4%`9gn$OpP*QCUFIC2C8qMGWMc#6Ym#2`=@>$1`YeN6gaUyI!wf+Iz<`m#t4vxRR3~U_xE;*G3R9%11;(74weTHO;XsJf$^Dqnv;V%vP6aI+X z`GfBb>dH!D27wr_f)Usj|JKt_!3&2qw>pP&AOyBm#(@Oy#h3YW?daqd%#O3_ui7oJ z*}E{Vq*9$mP$U~LWuTrSX$-pfMfyE#>#CjVNO5mo?WwG~AcON0jSdf6cha6{3&}Cx z(*G|ls6!xO;q z!Y3%BkxMNNwXsV$d5@#*7yQ4YQK8|<+B(h$%xl)p53@&iyuKjIPw)I>E_`zJkZ$@E z2=C`!XGIQB1f(K7D{$oo$-Tc?JguJHy+3F7{&M=Uh>OWwiI}wHhIpoww;*rvDPgP^ z3nS5`Ob$fR|4d3|6Oo`_YQsrF^Y=y@!>!Wzw973ogA!vlm+5BGZK1%6SK{$>sRZx) zIaPs8!~Q`h+iDtW8UZ_JdqLwlt^_1^|J?~wE8z0C+mgz*J)&;U6Ti6z)ZnA3_vP9l z=(>f^S1)G{ozyJy7PL{xUCz0302Tp(cC`Tb6Tq%kCn~DtxeXb1-+|fHj%4I1R#J= ze8Rt075vb6;H5PBM~(ks9D7aBVBE5@uwylHHz1<@u|CrY1qp>*+zY|fz{|TTAk_t= z&S5Z7L6j9z!J=r8peN?*@Z+e5`_)?r1OEPQG~LYl5qjrFjn@%MRQDAqG*nzi^*RV- z?xnfuB;>TjqZF>ZcG^lEl~!i4?L&1h=Z!T#uJiRBh~pyq)7OMy*MJRl zRBX9Pom8gcpF-uTV9R5uFGao5nnF$&=_WEFFNg2V`(ZMv?u6u63Et}5H;H{QV_uV}Y*b(=&!e0?|fDw9sf%l0CA zh=RM?wqOGU0uiq=Cel#j@)00Z2+)8yg8BNX%DtiNI*0Ong$nw^dy*)I4)ZG`x&^sw z#2&nTlLZui%@4#!q@~7mPg_mk+D+g-xm;X@0lZ0oIP{;L|Accnz_IOrnXsiEUjZLM zIp1)O2?9dIzgDO90)_GE(tkg)N$E}ns0`-|#HoqgfJ0D#f(36W2KZtt6S`xldr<@( z_Cszh<6iPYw=cmTBdxcIB(c#ZC4d~d+{;l0$%{{lmsIxr6s&~o&p=^ zfzBd7)1`}Y6)GgQ(#MEk_cO1{Oh5vBcQpc}1TM>ydChb1EM_-LF!vq$zT%y4&W?MC zXF3eI7qV`b4N*HxjarOV_z|=Tylkw;y1gB$h@e{^+}!3*w*T=Yro?l3CQYmu77S^5 zM&B@N7Z7aRrXXSCtDnN!raC(B2QA=;a%L{_Mid?T-meJ0aeZ$yeu5)ufEJVIiOVjjh8m@hRk zHwEX2acq67Y?`UtHS&{&L zAUEk_DugD@l<{L8Vy8R2Q+rhH)|C0M$J3svmFD32b|Hn%%HskW!dL~p^O?gLOgFNW zZuF^0i^WN7?3flhKCHRr1*Nd-SqSr&FSd2l-dNs-()D58G!d(i!7K?*)tSRlbg523 z>33#k8}b_lb!ooE^OQsR6?Uj~b+7ZM8T3JWeo1^_L&J27yQSu^BBH3_ZqJwY{oxGw z?Ym{NX8AVC@e-(=GQG*fxGqP7F0RQk#FQ!^!?D#@;$fM!mHHOP?W?pp9ed-?Kp$hZ z-exWrKEiY*pc2C)vY@6QIO`_XJH2iXNhmFC|MVMv1$=wRsTkE=Zgf>qre;x*V%J`= zsh(Wsm0G=ZCRa|zFqLwW0Y~rZrabaCSY0y{a__hkEE|Ly;a2T2~m?(7(Jr`OJ z$0UyjoW9+M?EARQmqfTZ@u~Wkz6hw}urxw`f`a3ZN4Ks@mCl+|A)fm%tfOvw~#Z+%Ro=RTA#w2N_zJGmqqnzoJSVQQ;&rCRBk-2L6g_W-v_)oifc%Ta+cGeIaC_*U6GBxMW|3!#79yFe z50E;ypAhoi7JZt#xJbKDWAzO!Ai7Bq!>aUDsfeC%dD%hO$o?K2j?FuRD4**DbcE^5 z)_8-lM;#FcU-TW|6DAF+<$D+K@Oai1>8EJljq*%0=x@Lbw!#D`*;H3yWnX-au5w5W zDzyVFKGxG6pQ~fNoO@IZO8pfpF-@yQNP~u6*}K%YN5}h+x*We4uDX3LeXNm ztu00gb8k~FR_YeHfBw^WT5(t6bP{jio`ihF$;08d+CGgx1}*otVS2mQNiziW+&+CS zHGDH*5%Lorm~4maZ2E=VLP&!fkp8jMD7Qd;VH_1=;2*?9jlD$qii{Gs7T zvWk*-^51uTdL8R@DTu}3&*T)iBRFe4rta1p6jX99ANhJzD|VCZO*%2~jyJ<8t1o;P zKfV0bRw2CI?^bs-X*re)A#Izv5~n+LYGCb6-5FkNgO&oOY|`!))@R`Td?*`l-e>*H zWvEdqPj1(`vUh9^6Xwa(xUza4xAaHB0zR@82qCDD<$E^+*a9xn4#Bf3(hI{(q2t8{ z>|i>_sn!CS06Rm|SmD%xQk_+QAW|qmvF#RSqL=xI2IqKIHnvAA4zdsC5znmsrAzo_ z{k4_J_RuAHmwU4X$!v>l8=QW-<1-CTF^*khNdvA4(m(dl5{CRHl`Z!tbT#@5Nn#>n z$6tcS&0L4U{HT%g#e}=itzT>|){sd=F-q2Zd3U_l>+(*M1z*r(@2srAP4Rj2nr2I6 z!`f()nh$GP&=4P&pQeLJxnUAaPqodGw%Am_yF|$7^O977D0~}Hvn`5CjnM-Sf*@#Y zsjYvr0XS1S6JxRVSaZ$=HajMoi) zG(GQV*_v%nS_?wG{Q~1EsZQduON$8ZKw!|N7v3~O?^A!7tT$#9n%m6z1lWJ>GiuYd z(^?DcP6AZkJ7NUJe2kk5b%H3mK(_R=;O5S$LupDD-UeF%67f{DbQNIt?z-paPNpq8 zp3=jss!6<-0xqnI&lXOO6ow&}2SjQ6OP*3fu_3 zS{PdXy<~zcQ-|-7kfNo}JT%X$^*?hDhjBIlDP;n)EwbJGz_qznF2VJ_FC}W%`Rf7>Q`KkMTg$J`9UB~{j+@dXtYRUU zKVYS#MzwD8s|t7ilMyF|z|uQx>Z|86$aWbBS_p1Qz^;|Dh}s%G^Arkx&d_##qU@K} z7j1sN-^Hal?YuQtmc7t6t z2-WeKEIwy}O_r<~0j>Zfwt4eqhI8jj^CkF`hbKt5gD3~HoK1}&vvW@Ssa zd?!XS+^;6$-eOi!uf2eQt!ZZ##}4a+g((BL;frot_Q=et<%YRJD}dt2E>IB)-&qXm z6}C{+y!2Zf=>wJIcABFljmsV_<`RL=vlr4HKXYL~R<`Upd_KuCC^ImcR!c$wUgQDb zI&-T~L!R?*$R}A>fnVErsLQA|pqlK_^l{z069=6ULUwa-@1>p>sl3S{d&`rSJh~cT z9J{k^Wj)ZnUJRYu0+Pc@m1X@roF}x=wN)rw_nGVZ->p4SGNxiBrW}7I!-^t2A{-I zC?!WuF6Ozk_G3&S4zazj1-T3T=+w~FQ#pdIY5}t=bNu0zMC1C%f zn&7g5LRai{hqEu_Le^uC#WOh_e^**(AwF)_5>mjQrtlO1IB;|DoK(p3__4Q(p|+d$ z{W8gIQJwChfLyNx^0l#+~ImGj35HmNN?W$3W`^_fgav->SbwnQgA3ruI_Gp`t zS(t~p#BjMML9zslCg)!zKpxCk#&k_gVxANgE43((HIG{3A(YJ_i?`#r%u1@sF6+!V z$s$g!&XnZ{T!1&{++Lw4c*ctUEVHQY1B$E=<|=&Ox55V@te-EK}9i?Soz zH|A6UG19oMJJ1QrBJ6?0DE~n=h9%WJ8Kte|~H`mD$>YwN8DNTlS0ml}ZU%fU;-SGRS4J1*3}O=}pq9Aq&{X)`33IZ31s+$niD zIl7cf=6Im9=lht`sH8fJUWj?LLhFgE9i+akOObATDK`V`&v+tm^2R4JC?|8M`a$Vr zj|b+9nt9T)4~s0_&Gc~X?6Na3yZtIVzzSK@0Oi42tsEwse0_TwTBm~pwSKc?rK63h z3)vzE@sru$S644kBm)nnH87V`CD1XfEDj<&&W~~o`D&}fhWcTSN9R{touWls`)`6A z0hqGJccnFH*t}=8zd3AzGXnRXn-W1wjaGXu6-C!?jSe9yep|wKhb^vX5|#tZiD#}X z&I-cO8>OeCMFuUp;Ora=3QTxEKM%9{q<*tu#HB<|_1((x19(j7NR)y8+1j?ZW`PrG zxerM-Dq-lFqJCv@5{1YN-Zf)A+!AV8!BPX z%x9u_4y%I!a(FdV`|kbQmDkatapNxy)@icFo(xECCri4GT99t9oMF@I+Ke7dR!)B3 zM3x#%M(7`I#Y=c!Em?icWq-M`-ja3VQsx$Go5 zaoBtJ+uw1x-`{QK>AZekAv1Gc@jXHc#>Vk-3vF22mBX8BGvyQ67Cpbzi&4t3*JM_;y9XX<_SHSB?8%SABre>fLw-*ina%e$ z%YLws&nkJmm_9nTxVcV6e>)XP>FZ|!_0Wrd8BJff-mRg(jA0o5tw?m-+d929(jv>A z1=ReJk>#$dpLN}L?1{F6X|4%7UMa$YW6uV4CLuQ{uv`t+%ZS+e;%-+6zw`9r(&0Rl_ z)vsk{#3s%gcjW&{$K25=yX z%d8!ECr+Y-?dT<^VDk?)?SO&)bKq6u^_vTZ#;@PqpPzhYn64QkE32bjYhP@JY&G*0 zb>`tjnNH~r`HTiQT@`VO8sstGmIIkPgw`c!Hp(&Dptg5tSE<4y`$cj>Bs{wU)nM@L ztJUtSttef7hsAT3>S-`+nit&u1(J4H_)`X*egd6sTgFynLri9j2vvK_a~zMk!p+rzv4r^|0ss)NR$gkLU+nxkowKe>D$;}g7| z`@E&h?59YF03L134W$yzcjh!{@Zn$GWB_r~KfX9f(oz1JB?RDNa)v4RzO^0yqiX(V zi+jlvxb$xea^UN?_?>}b+vo{FLwhFwICcd^p6<&O8|o84!|7XuNe^{ zdLzW9fLJxaIzI^>NaqyC>w?~S{Cgy$CGbN8Lx}Jfgfb!K8oRTc?o>{xLpr+a0GWi} zkzo+8dPR;ChJ+^s_n(|Ru*OMs6X48P-Q5`?p>*(&W-<^*=|A%6FV**#QwA>m$36Xb z1`78GD(effzqAyveKig?3GCGbPUZ}Mu2B=*yuwjfa&NBv{Uwfn?AX8d-;n-Wi{o+s zGFZ4m*@{rf4o|D&?=fNJX5{(TS>3xW;#fj~rxiWEga>Ag4U(v>b%sZxVV zQITRO5h+1>C_yQq2LAzIW^Yy_dBNStjS4IWv1^_TFda^R0ZH z_VDu~nFSW@x5pLaGs>i8HHNT6B0I+i>zJj`Opd+4lyAdqs? z50o#Dv55~{YZ=VcmHsx|)cd)R60&|vQJP%fzb6&RpZ~*s{kgm2Kk0pFmF*k2HU-_L z?-!MR#Y7xHLwrco(b}_i1jry<8hK}C%Xg!M<t|u&bp{Hxo)#J zcsdOCNkZ%}c4P)SxzZo^Q zR>bd(a@K`D!`_sH`~pYewuPs*KSc}zuzFJ`BKqo=R|c0D#`-#)#iqA>dl6r_OiFFn z+#;ajs+2CjQG-hAeV9_I=H#2V_di>{>QWklj`=-cX}zbr|K(!fpoGXBm0Op2yNl_> zQDMV}Caw`a3big{e1%PkpOzk#b~C{6LBCYQ{mfsv9+bgj;2So3kf2}6qR5={60C9c zE?tNji(89=x!L!yz9#g!29-xQ&a?;ZS{?dq(!rA zlI9`O@-2P$8}=q4_a*#WF%NYXUmSg(Fk!!I+KvS+gn4Cfc#rrCY)KJLd}2p2ueSXx z^_RP7lBy(ME6z)5Gy@rq&Y#)ud6c= zzsj>rw5tJmz8IW?Zi`zcy_q0aR~uo!-K)}C?F%=UV-@9k%4)k1s`*_Se!4NXSwOF{5p3a7yW{CB{#v!ynnA3 ztfdzdCgr<*p|^Qcazl_uPiS$lM}lr!mEUe_(nd7qsc{W-Id3vkt(o~k+PXgX;emG(*((-ft9-h1-dJ%9NjhNpHrOOxy#c#cq2_JJ@BxEx9q*D#a|*+Pf@hXLxl`b zA4T})@G65)W!IFk_==TEkJc4Tj>)o@(SS(cYEEUp3u5BJNG)uDg<*~Q@SjGa= zkD@TmWaZ{B`%C+WQ~XT6eo_JVJ+Z>PW_h2yHwV)aR_sJroy>}jC|wsajk;>lsPyaj zwJK_dokE!PL#_hzQ_rpo?Y(*C>o;lQyM;PcS+-_oytCCxgY197gKv8uK;2*9RmIa3 zjjP@NllH?Q$O$fgjy&+-IxMjj-^nGE&SwR7RL)O$?JRU5VLOf%>%aokum=vC>ZUIp?o~?G zI|64O*|qmzEo@5AZ|REUpqL*a-|{Vke%^>{e>nv^Fmq3mR1!^SAJw8))z(5g zU7w%5REUywQjlq`KV#{NPZ*|vD02_vbfLPk3Z#cO0=9f6*^nbNURMIv%4kobnYJ9C zba&1yYM0f_y6now*9?}Nf43Q*<86_=hZfy zJ?Abx1KoE-rYs3O@7}@?Rx7tTEv@pC!jw3F zVj??{c0sCaXYg}Nx`#=W*rf|hX@~#sM*z3Hu#X8)zvQ0%WXOViYr{xJv`_@IP zJA!7h5lFPrz%2F}t>818Qu;SswG6D)^+G*uB}pHD2d0LxGHpOBlKBGGwwrtdzN`5j zv{i^i2Jen^=H0Z=lI1tgl@A?X7OtA4Yg%ZC8tW^vk|OM*_F?)QD!ih&w0rT@1+`vF zI<>QAf-`T{M5}imEtcg7S4FN!rCDaG?T)%saMOEQuY5`!z&-o)yPA>elMm+?i$i}t=(xw_66s}jTu7V?tzxXKZTjX>Tg$Ol3YwJT@NQz)Yf^&euR0vy9K`wi6 zd5lqO%>mZ$l1Z_{Vv*u2umKX461COe)XQMKS9Cqv#@)F~$zox^g{2=mn0)%w+4md@ z3=!I-_i`R~Nc2M6@nKdN4{_H~sA7w&wBnp3N6UpL+6ao8xTi}Qz~0%~M3*aZXwe9K zo0IUZ_6ukO?~?Ar@tt|~{e{$$4Tsi2hA=y_X@^=lZ3+L1BaO{pcriO8vc6WcduZ2oP$4N9`Jr<1FH&jkXmCUb>Q(uBDWxy}QSXVtoMd3br7Wr+73Kds- zS%q^EtQY-Mfq!tP;qCO3p``L8P2P_fY4$NDgpDM!&^=9hIEIKZBRFk`F>Uv}<{60u z^Hri~$v|X>)WU3)fVrh%)#FC12l9H0%5dJWwwzckts;5~({`?VWBH zoXdu`4jtWXG*kn6nT7pAV}fCH%h`9Iogz=^V7(EJdOWYxq99tLSI+suq^85(b+x|T zc$m#k9|0r>=(`0Z+qiMhdkN}`0-wtaU|)FJUU_tWNA^VBy4O0jO;r$q(4jUR5r{$` zzZQKS6LjcG_)yJaCb&h?7{+>m(KSm-Oo49Ps}^g4HE-I68t7Q|gpeK_mfp?QuB|TV zKw_<@&wVY;wQrg9p}X4IC&J3v8mr^c{eebG-@%|aIK=hFdR?aebz10P`3rWzorW?G z(Zkql>FoNSjAxj;d<4SZsqo&~7==s6cYKkc9SpJ3`hD>yrL)%W5wF(wmTg`m4Q;XQ z0(A1N1e;PChORrWx;2j}p93Rtwgc{=;Rctc;pl|bdbxz?MVRWD@ekQQR&R$W8Bc!} z6MQ!Rm-E9S#Ku z8+(oc8F)S9QR%ae$r-XcOZ$5W`jq9V4V9G#?>Q3l<1<`Q*Bzfqz-FsCZZ6e%=ASW7 zPM_XT@%3A7swAyZIE-&-md-zQ|GJ#-Ikg3>MY*PS`Bof{g(A7v*l8uV=#K0!s43D? zn7+S=Iny-Weh;IpLQHF%yTh?Ea^?)3AxhOoKh5c;5H_=-3wezJs||BiUG&G=* zqzO4|+EXgywtDaFYl`ecX;&n2npPNdhNi~#_PFW$_g?&_=$FVYCDlKr-y+i{U( zK9GvpSxkSjl54i3S$Qz#_j0UJ4MoYP^`n{D_|=`tc-_5(u~g znIbBQFIWkLny#YFnTZ)YCe1(VXp*f`2Y>ehz zrdqJYF*I@6Venv^xs2hR@R+ZbAI?{cC_YH>&Fam&2f&!XEXWpzdSGxpsu9&g(r>w4 zIY2;rft4!5pRGN=raKPBt*8-Gycg#pOoUt~J#b?AwWVuU9w}@s^J%-HMtPUpxfOmC0)i z#0lSa?km(lL^||UCe*R>7%3jS?8XR%Bk-9@jrQA>QI|~EJuR()!%*tEY#SixiT%Aa zqS2swxpyHZdvh#SB-hi*3^Xd$zE2H4JGn?+@y3Ebob2aw3+0h5p0Hcs-H#brb{k$c z-d0(ZUx-8c`?bsvdoYgI4?bI_k1-3W)P!y8qSkF<{UudyNs%;k$F8ets_P_&ZcTesmTb4p43}F+*rK14 z;PD+A_^ROr;tU=<%DYJREaP}gRI@d|J07+b_oemnE+G8&MpC2+>+zjs3t@3rgmxO9 zEDEHS0WY=tO?{IPX(nNDd$k7iyvHfq2o1GC8xgL(5zS*KA2cV(wKIu0CrLgJNFm3P zqT5)txWhtK!u+r|G!RAZQXjV*^PC4G9sJeY12!A?)%eB{CFe0v1E(KLYp#pGeh1_Z z?kkp7)xM= ztaB!7+%LGC?9xqH4;|R{l(HX3*Sgo>EQfQ(voalpTz)7gOZjO=xVoe~?ptvy(Wt!d zR_-(8t8p;iCR((U>SEvhaJkZ3=fL*t&^HRIO&^KLjxQfc>*~$~mx$lxwc()M_(06r z*x{#OQAtn@&J9wnE^_RZ|;iOEMxp#|`up@AOJ?#f2w^;5xq*S8o zAFo~B_L=)mQfEek`sss-(mmLpxR2{D%(Lb3>za$HKQJ0F#L3my_1QddO=xEzUghRe zWglbC>qqkUW;CVrt{o`#tq#nBwnKa@skm9c){NY?9z;l%nQ<7ikNcbF)jrIcBS>XV z5u@e_FkEUU-R2LCWfQw{H6yPTB|bLm(*Zh%C`{;hxIjV50DH2f~o*%pM1igw#(As z4#6GfI^}}`RO2h-$2nJ|25V2 zr-Y_w#i^;tKl@s3?wT_22lM-t-fA<>`f!hud_e?n5c$u4P3-<(60Ob5&2Ib9J|saGwrFu5-^KZmT&zEKa5^O~@D$i024xX^`5b&meQJ5M z0`@=D*S{OiA6q?oED>V7o};b$?#+ARk594|O`FT#8@^bPYeo9;w5RCI?xA0%dP;sq zibUMc)E98DIr!#OQ`;Ap%Go>ZNC?{*GDdP&pAY?PyyGa@8W`+rQ(S`)>Fk z_&WYl-CjYM!2Q;(MF1b;=R3yJC<`Pl<GGJm{Z9o3LACRW&mBY656w{CR021vS-`x{lPLyI_5J^&*UG?L(kfrJhK72!iQkKB7DQ9{Vz_OZywyZ%wQeROb(aJ*14_|&0Ch^-SGyQ z)w`C9-{%w~V)y6Mivrd{#OFHqOgT}m7MzXWmH7}!CYT$5B^md#1O+GTAOc!0fa5qS zwpR>WzrRs+z!|G}kKM#q`vk@AIGGb^gZOEtDZYr?7qMw9G4Oiz4|kh+_LFU<7>8X6H00&dilCA5!B?= zaMisnDA@3Cny$D?scD&}(-;{CSl#amN$cUv0INBKt>FRqDm~0nL#*E^oxDQZ zhfM$-Eq>;5vwmSp-CSo}g_kpOq=et-ni5iyp^dnqB_c^w9|Jq@T}B@cM6zVUsAvZX zTW*Es1Cp;Z3^pM1fXHv)ND35@ zBq*nxx@hgQ^ktODCTTt(^D3j*&Sq~hudf?(tWQZg@cWTLP_VJFZT;%O2CVX<)_rXP z_H2A++uwfzyo5sI%p9wxO96zEYk-O7(|XAV!H+notA+~>44TIf`weaEhjbp_GPnV# zlnR_2Hzv!*t;smj@xYi;Kktet=nl(e!lrifXvGm@^VF%+7R6j!)4N}qtgi?vXDP92 zfB%hp`-Iua9s;4|AZrAWfu5i*{Y($523!BO13wuUW*%B_We|zBnS< z0h#NrW4u$sF@qGsVgtjB&yE?R-%h*@-asK)G&5(ai5}|^M*~2HRn~8u&RpI#AGdt( zzG1r{E2Ti%PHY!)G+#St87R$D2gtT{eBoPFYn%q5u;zotD>}GJG9w{G@X0kfy;y7E zHa&C_51j-@8^-zV^T{{i_@!aa9e_wGb+|c+^QIrpPk49djzDl|>!mAsuK}1QaN_vF z>f<4)-LG?AaBm{rb{-MuH_(|I9Y-BvjRD@Ah)*3YWC%I5% z_$X}uy|alrKA`SF7Dk^CIwa8USP^!wA6Dbi_IHRuTjGy+SV^x>9lW&e&@f2s^x|itoA<7ak z(nA#^rg2!alw!NP?NF67$BhgtfACo#5;6~X6I-U?I!Z1@M3V#olqacaKRSrGSeJB4 zsVl{8dO&F?Si$|(3Bv#wsC8TSZMRS3HRebdMkC=`SGAAM`)dNWcVX$Nn_!It1>}-L zmP5ae)^Cg}!f|D+P2jvl>Vue$Qw~4kYnhj})zINPbu5)UBV}`Y61RiH=0*;FRC(sr z#q+#BctLH=A}PKV3Q4F_f4su}%VF{Y4@7#EmRlh_t1IerSIY8W{c&ex02cs3WJi9O z*7J(vhI4d{!-%k#A26L#ztdt9<^V&v%oV|NnKArwjllKhCv5f9fFYPMfE(nrI>gd3 z3@;xZ?8sI?L%Wjmei#&75_OCxv+MAi3r5Gxz*UdB$?ZBY$pSk~F)FrB7P{4R&e8&F z3Sh=IP$BLSJHCuN_nur+annrU=?bZGwwVQJO0B4F&*8V+5 zi=fj_dcW66Q&lVe*xv-AYlVdmXK78T!%T(0dv6wM#AhPJ>3XqWXG$C(smObg zV`QT%JL>iaeBb+pmg_SIGYpwDtUPnu%j;ZRt@x+S0lS}d%zZewzP$mwj(pegTLVgH z0B3BSZgGR&zgk$&=Bfi{2Egm>U$0OB_r3Df>A9yX_M-_~Hp~L@!^KJi<~7ql%eBY8 z%ePFuzjsGF5(?96rKD>f$W%j@6>V{%0*HOoCt1b3B9JqG(I5V_5)gFYP#VWFAa&i3 z6HZFgBIi6PAXk5qN0P@gszZuV@pcokLznqBE0V~gyw*pK4bQ=iVUY9?l{l40Q=qPJTg68ZIr@m zGJSC1%?Jo+PTjJz!2Wtlo=9KxIjgPxHtDuZWM}e>@fXC{ zqv0GQsu@hK=wd+KJ9SDx*p*MW%ImcApk`y+>L@%Z7~@(Py*x7W5OBX&urc1GKt=#z znXUS*V~-!eu2j>{zwuUocg@0ACDH{qZCt7fAc@lweg=(-5!MbP2A`aVcdnPWU zdYlLnp8%a4@{3{Ti`BaS=6l)M&KgT^8pthIr9ASgP0d3;-%h{} zWU@m{hwVB&c$N@!;50@t3-K6q*l35#!<`m}MhFe!*c z)=vRi5O^SNGVqrE*1oYFaQ+>Be*UBw$&4y5zb|?o63t64XV3C@twjJ~vpY*8kwYa@ z4KV=JK?)c9^Rih5{o5%-V29Peu|$^wvnm6)Ua_r40AV2;sBW;boQ5<5m>5L5QoyD) z$Du!Wp%y9bqeIqb0MZskW^>8jV=CmwNx6DAfdllWlM1qXE&#DLd--dxKVSp zc%GJ`rPYc0yZe$r@}rI#a#e}^GyjhgewY(W}LtDF8cxGdkNIq?c;X2>ZW#c2=Dae~2YYVFdl^D%PV7L@1I@lnWOs3>#P#rwq= z*HK~0PdE(~DF9iQ8>=H!M_o7Mb-zRA#UrD+kqE;rkmj4ytt5PrGk(QUF2#6scFvKM$HSOY{s;2Fq3f{I)yO*hbkI2g8d ziG)g_Mcij|90$=3KT=dtj0^P{SRgQ>_0I`rInKL}fRPaxDIlB}70|C#K@ zY=^F;Wtw6XD=(r=VUALo;>b#s?%KBhD1SBulz|dcW6RuTRF_A}w8s56A{++M$%no` z{iMGZ25V?)a{T`Kyr{=~G>}{T&4pgzZ;_+* z(}_Tx2Z)@A+t0Ave<}@+g~P9fH^@>`O0(57gZ>mrcR`Tpm0wQI!!KzZ3qYF3L;R?v zj%yDqzbZ5t1rjj^z1do|mYz>=m8BdD1wdLrqs>K$bB3i3{eqs0dJ#}5b81@V z=(ZU+&Sem7R<-&4qSic+IO+wuMLxPfY2+BB+@L>KUk$F8u6UL)LJ=tEsDXh9ZY_`? z=(Y4vMF-R=Ju53;ctaXlJw`EI8ydL#_(xena!;ljexpmu5Ll*=%jkXm0%Lv9-lys4 z3_&ez?#&_b;r!SKpl-o+QX!TXL?M^XfezRQRBB3}PRIhe6B)BAuegzAO_=nfDzD`d zP{U+FnLNWngJRo`zDzX+&!wN*K-Z^&XQW;8)rqqu&!!Z?8Pwb2d3)n|P5M%0C`+I8 zDteDT3**+${eI;%uh2Ki1FRH3I`h+x{gdFyKQKrOC(qW9Plv^?~vjByiQY#sdrzGG9T62VVbE zSO1rhCfkXD%hVQ{o^}%-uN?n{L4lEKUPov`=$R}^eg=~X=v3vOP6^p QihNHh3Yzk0*+(z`7r0OpBme*a literal 30101 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 diff --git a/docs/image/turtle_snow.png b/docs/image/turtle_snow.png new file mode 100644 index 0000000000000000000000000000000000000000..7a48f812cd46388abaa6d9f3814a6ba67bcdf3c9 GIT binary patch literal 85385 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�(4! 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

GtkDrawingArea provides a cairo drawing context so users can draw images by using cairo functions. In this section, I will explain:

    -
  1. Cairo, but only briefly; and
  2. +
  3. Cairo, but only briefly
  4. GtkDrawingArea, with a very simple example.

Cairo

Cairo is a set of two dimensional graphical drawing functions (or -graphics library). There is a lot of documentation on Cairo’s website. If you aren’t -familiar with Cairo, it is worth reading their tutorial.

-

The following is a gentle introduction to the Cairo library and how -to use it. Firstly, in order to use Cairo you need to know about -surfaces, sources, masks, destinations, cairo context and -transformations.

+

The following is an introduction to the Cairo library and how to use +it. First, you need to know about surfaces, sources, masks, +destinations, cairo context and transformations.

  • A surface represents an image. It is like a canvas. We can draw shapes and images with different colors on surfaces.
  • @@ -169,7 +168,8 @@ the paint in the source to the destination.
  • Save the destination surface to a file if necessary.
  • Here’s a simple example program that draws a small square and saves -it as a png file.

    +it as a png file. The path of the file is +src/misc/cairo.c.

    #include <cairo.h>
     
    @@ -222,10 +222,10 @@ color depth. Width and height are in pixels and given as integers.
     
  • 14: Creates cairo context. The surface given as an argument will be the destination of the context.
  • 18: cairo_set_source_rgb creates a source pattern, -which in this case is a solid white paint. The second to fourth argument -are red, green and blue color values respectively, and they are of type -float. The values are between zero (0.0) and one (1.0), with black being -given by (0.0,0.0,0.0) and white by (1.0,1.0,1.0).
  • +which in this case is a solid white paint. The second to fourth +arguments are red, green and blue color values respectively, and they +are of type float. The values are between zero (0.0) and one (1.0), with +black being given by (0.0,0.0,0.0) and white by (1.0,1.0,1.0).
  • 19: cairo_paint copies everywhere in the source to destination. The destination is filled with white pixels with this command.
  • @@ -244,14 +244,15 @@ through the rectangle in the mask. destroyed.
  • 29: Destroys the surface.
-

To compile this, type the following.

+

To compile this, change your current directory to +src/misc and type the following.

$ gcc `pkg-config --cflags cairo` cairo.c `pkg-config --libs cairo`
rectangle.png

See the Cairo’s website -for more details.

+for further information.

GtkDrawingArea

The following is a very simple example.

app_activate and draw_function are
 important in this example.

    -
  • 18: Creates a GtkDrawingArea instance; and
  • -
  • 21: Sets a drawing function of the widget. GtkDrawingArea widget +
  • 22: Creates a GtkDrawingArea instance.
  • +
  • 25: Sets a drawing function of the widget. GtkDrawingArea widget uses the function to draw the contents of itself whenever its necessary. For example, when a user drag a mouse pointer and resize a top-level window, GtkDrawingArea also changes the size. Then, the whole window needs to be redrawn. For the information of gtk_drawing_area_set_draw_func, see Gtk -API Reference, gtk_drawing_area_set_draw_func.
  • +API Reference – gtk_drawing_area_set_draw_func.

The drawing function has five parameters.

void drawing_function (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height,
@@ -322,20 +323,20 @@ cairo context given by the widget. The destination surface of the
 context is connected to the contents of the widget. What you draw to
 this surface will appear in the widget on the screen. The third and
 fourth parameters are the size of the destination surface. Now, look at
-the program example again.

+the program again.

    -
  • 3-13: The drawing function.
  • +
  • 3-17: The drawing function.
  • 7-8: Sets the source to be white and paint the destination white.
  • 9: Sets the line width to be 2.
  • 10: Sets the source to be black.
  • -
  • 11: Adds a rectangle to the mask.
  • -
  • 12: Draws the rectangle with black color to the destination.
  • +
  • 11-15: Adds a rectangle to the mask.
  • +
  • 16: Draws the rectangle with black color to the destination.
-

Compile and run it, then a window with a black rectangle (square) -appears. Try resizing the window. The square always appears at the -center of the window because the drawing function is invoked each time -the window is resized.

+

The program is src/misc/da1.c. Compile and run it, then a window with +a black rectangle (square) appears. Try resizing the window. The square +always appears at the center of the window because the drawing function +is invoked each time the window is resized.

Square in the window diff --git a/docs/sec24.html b/docs/sec24.html index ce4edb8..7125900 100644 --- a/docs/sec24.html +++ b/docs/sec24.html @@ -121,7 +121,7 @@ of GtkDrawingArea changes to the color given by you.

color
-

The following colors are available.

+

The following colors are available. (without new line charactor)

  • white
  • black
  • @@ -141,10 +141,9 @@ turtle graphics language like Logo program language.

    In this section, we focus on how to bind the two objects.

    Color.ui and color.gresource.xml

    -

    First, We need to make the ui file of the widgets. The image in the -previous subsection gives us the structure of the widgets. Title bar, -four buttons in the tool bar and two widgets textview and drawing area. -The ui file is as follows.

    +

    First, We need to make the ui file of the widgets. Title bar, four +buttons in the tool bar, textview and drawing area. The ui file is as +follows.

    <?xml version="1.0" encoding="UTF-8"?>
     <interface>
    @@ -227,21 +226,22 @@ class="sourceCode numberSource xml numberLines">  </object>
     </interface>
      -
    • 10-53: This part is the tool bar which has four buttons, -Run, Open, Save and -Close. This is similar to the toolbar of tfe text editor in -Section 9. There are two differences. +
    • 10-53: The horizontal box boxh1 makes a tool bar which +has four buttons, Run, Open, Save +and Close. This is similar to the tfe text +editor in Section 9. There are two differences. Run button replaces New button. A signal element is added to each button object. It has “name” attribute which is a signal name and “handler” attribute which is the name of its signal -handler function. Options “-WI, –export-dynamic” CFLAG is necessary when -you compile the application. You can achieve this by adding -“export_dynamic: true” argument to executable function in -meson.build. And be careful that the handler must be -defined without ‘static’ class.
    • -
    • 54-76: Puts GtkScrolledWindow and GtkDrawingArea into GtkBox. GtkBox -has “homogeneous property” with TRUE value, so the two children have the -same width in the box. TfeTextView is a child of GtkScrolledWindow.
    • +handler. Options “-WI, –export-dynamic” CFLAG is necessary when you +compile the application. You can achieve this by adding “export_dynamic: +true” argument to the executable function in meson.build. +And be careful that the handler must be defined without ‘static’ +class. +
    • 54-76: The horizontal box boxh2 includes +GtkScrolledWindow and GtkDrawingArea. GtkBox has “homogeneous property” +with TRUE value, so the two children have the same width in the box. +TfeTextView is a child of GtkScrolledWindow.

    The xml file for the resource compiler is almost same as before. Just substitute “color” for “tfe”.

    @@ -252,216 +252,278 @@ class="sourceCode numberSource xml numberLines"> <file>color.ui</file> </gresource> </gresources>
-

Tfetextview.h, -tfetextview.c and color.h

-

First two files are the same as before. Color.h just includes -tfetextview.h.

+

Drawing function and surface

+

The main point of this program is a drawing function.

#include <gtk/gtk.h>
-
-#include "../tfetextview/tfetextview.h"
-

Colorapplication.c

-

This is the main file. It deals with:

+class="sourceCode numberSource C numberLines">static void +draw_func (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer user_data) { + if (surface) { + cairo_set_source_surface (cr, surface, 0, 0); + cairo_paint (cr); + } +}
+

The surface variable in line 3 is a static variable.

+
static cairo_surface_t *surface = NULL;
+

The drawing function just copies the surface to its own +surface with the cairo_paint function. The surface (pointed +by the static variable surface) is built by the +run function.

+
static void
+run (void) {
+  GtkTextBuffer *tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tv));
+  GtkTextIter start_iter;
+  GtkTextIter end_iter;
+  char *contents;
+  cairo_t *cr;
+
+  gtk_text_buffer_get_bounds (tb, &start_iter, &end_iter);
+  contents = gtk_text_buffer_get_text (tb, &start_iter, &end_iter, FALSE);
+  if (surface) {
+    cr = cairo_create (surface);
+    if (g_strcmp0 ("red", contents) == 0)
+      cairo_set_source_rgb (cr, 1, 0, 0);
+    else if (g_strcmp0 ("green", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 1, 0);
+    else if (g_strcmp0 ("blue", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 0, 1);
+    else if (g_strcmp0 ("white", contents) == 0)
+      cairo_set_source_rgb (cr, 1, 1, 1);
+    else if (g_strcmp0 ("black", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 0, 0);
+    else if (g_strcmp0 ("light", contents) == 0)
+      cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
+    else if (g_strcmp0 ("dark", contents) == 0)
+      cairo_set_source_rgba (cr, 0, 0, 0, 0.5);
+    else
+      cairo_set_source_surface (cr, surface, 0, 0);
+    cairo_paint (cr);
+    cairo_destroy (cr);
+  }
+  g_free (contents);
+}
    -
  • Building widgets by GtkBuilder.
  • -
  • Setting a drawing function of GtkDrawingArea. And connecting a -handler to “resize” signal on GtkDrawingArea.
  • -
  • Implementing each call back functions. Particularly, -Run signal handler is the point in this program.
  • +
  • 9-10: Gets the string in the GtkTextBuffer and inserts it to +contents.
  • +
  • 11: If the variable surface points a surface instance, +it is painted as follows.
  • +
  • 12- 30: The source is set based on the string contents +and copied to the surface with cairo_paint.
  • +
  • 24,26: Alpha channel is used in “light” and “dark” procedure.
  • +
+

The drawing area just reflects the surface. But one +problem is resizing. If a user resizes the main window, the drawing area +is also resized. It makes size difference between the surface and the +drawing area. So, the surface needs to be resized to fit the drawing +area.

+

It is accomplished by connecting the “resize” signal on the drawing +area to a handler.

+
g_signal_connect (GTK_DRAWING_AREA (da), "resize", G_CALLBACK (resize_cb), NULL);
+

The handler is as follows.

+
static void
+resize_cb (GtkDrawingArea *drawing_area, int width, int height, gpointer user_data) {
+  if (surface)
+    cairo_surface_destroy (surface);
+  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+  run ();
+}
+

If the variable surface sets a surface instance, it is +destroyed. A new surface is created and its size fits the drawing area. +The surface is assigned to the variable surface. The +function run is called and the surface is colored.

+

The signal is emitted when:

+
    +
  • The drawing area is realized (it appears on the display).
  • +
  • It is changed (resized) while realized
  • +
+

So, the first surface is created when it is realized.

+

Colorapplication.c

+

This is the main file.

+
    +
  • Builds widgets by GtkBuilder.
  • +
  • Sets a drawing function for GtkDrawingArea. And connects a handler +to the “resize” signal on the GtkDrawingArea instance.
  • +
  • Implements each call back function. Particularly, Run +signal handler is the point in this program.

The following is colorapplication.c.

-
#include "color.h"
-
-static GtkWidget *win;
-static GtkWidget *tv;
-static GtkWidget *da;
-
-static cairo_surface_t *surface = NULL;
-
-static void
-run (void) {
-  GtkTextBuffer *tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tv));
-  GtkTextIter start_iter;
-  GtkTextIter end_iter;
-  char *contents;
-  cairo_t *cr;
-
-  gtk_text_buffer_get_bounds (tb, &start_iter, &end_iter);
-  contents = gtk_text_buffer_get_text (tb, &start_iter, &end_iter, FALSE);
-  if (surface) {
-    cr = cairo_create (surface);
-    if (g_strcmp0 ("red", contents) == 0)
-      cairo_set_source_rgb (cr, 1, 0, 0);
-    else if (g_strcmp0 ("green", contents) == 0)
-      cairo_set_source_rgb (cr, 0, 1, 0);
-    else if (g_strcmp0 ("blue", contents) == 0)
-      cairo_set_source_rgb (cr, 0, 0, 1);
-    else if (g_strcmp0 ("white", contents) == 0)
-      cairo_set_source_rgb (cr, 1, 1, 1);
-    else if (g_strcmp0 ("black", contents) == 0)
-      cairo_set_source_rgb (cr, 0, 0, 0);
-    else if (g_strcmp0 ("light", contents) == 0)
-      cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-    else if (g_strcmp0 ("dark", contents) == 0)
-      cairo_set_source_rgba (cr, 0, 0, 0, 0.5);
-    else
-      cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-  }
-  g_free (contents);
-}
-
-void
-run_cb (GtkWidget *btnr) {
-  run ();
-  gtk_widget_queue_draw (GTK_WIDGET (da));
-}
-
-void
-open_cb (GtkWidget *btno) {
-  tfe_text_view_open (TFE_TEXT_VIEW (tv), GTK_WINDOW (win));
-}
-
-void
-save_cb (GtkWidget *btns) {
-  tfe_text_view_save (TFE_TEXT_VIEW (tv));
-}
-
-void
-close_cb (GtkWidget *btnc) {
-  if (surface)
-    cairo_surface_destroy (surface);
-  gtk_window_destroy (GTK_WINDOW (win));
-}
-
-static void
-resize_cb (GtkDrawingArea *drawing_area, int width, int height, gpointer user_data) {
-  if (surface)
-    cairo_surface_destroy (surface);
-  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
-  run ();
-}
-
-static void
-draw_func (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer user_data) {
-  if (surface) {
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-  }
-}
-
-static void
-app_activate (GApplication *application) {
-  gtk_widget_show (win);
-}
-
-static void
-app_startup (GApplication *application) {
-  GtkApplication *app = GTK_APPLICATION (application);
-  GtkBuilder *build;
-
-  build = gtk_builder_new_from_resource ("/com/github/ToshioCP/color/color.ui");
-  win = GTK_WIDGET (gtk_builder_get_object (build, "win"));
-  gtk_window_set_application (GTK_WINDOW (win), app);
-  tv = GTK_WIDGET (gtk_builder_get_object (build, "tv"));
-  da = GTK_WIDGET (gtk_builder_get_object (build, "da"));
-  g_object_unref(build);
-  g_signal_connect (GTK_DRAWING_AREA (da), "resize", G_CALLBACK (resize_cb), NULL);
-  gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (da), draw_func, NULL, NULL);
-
-GdkDisplay *display;
-
-  display = gtk_widget_get_display (GTK_WIDGET (win));
-  GtkCssProvider *provider = gtk_css_provider_new ();
-  gtk_css_provider_load_from_data (provider, "textview {padding: 10px; font-family: monospace; font-size: 12pt;}", -1);
-  gtk_style_context_add_provider_for_display (display, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
-}
-
-#define APPLICATION_ID "com.github.ToshioCP.color"
-
-int
-main (int argc, char **argv) {
-  GtkApplication *app;
-  int stat;
-
-  app = gtk_application_new (APPLICATION_ID, G_APPLICATION_FLAGS_NONE);
-
-  g_signal_connect (app, "startup", G_CALLBACK (app_startup), NULL);
-  g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL);
-
-  stat =g_application_run (G_APPLICATION (app), argc, argv);
-  g_object_unref (app);
-  return stat;
-}
+
#include <gtk/gtk.h>
+#include "../tfetextview/tfetextview.h"
+
+static GtkWidget *win;
+static GtkWidget *tv;
+static GtkWidget *da;
+
+static cairo_surface_t *surface = NULL;
+
+static void
+run (void) {
+  GtkTextBuffer *tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tv));
+  GtkTextIter start_iter;
+  GtkTextIter end_iter;
+  char *contents;
+  cairo_t *cr;
+
+  gtk_text_buffer_get_bounds (tb, &start_iter, &end_iter);
+  contents = gtk_text_buffer_get_text (tb, &start_iter, &end_iter, FALSE);
+  if (surface) {
+    cr = cairo_create (surface);
+    if (g_strcmp0 ("red", contents) == 0)
+      cairo_set_source_rgb (cr, 1, 0, 0);
+    else if (g_strcmp0 ("green", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 1, 0);
+    else if (g_strcmp0 ("blue", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 0, 1);
+    else if (g_strcmp0 ("white", contents) == 0)
+      cairo_set_source_rgb (cr, 1, 1, 1);
+    else if (g_strcmp0 ("black", contents) == 0)
+      cairo_set_source_rgb (cr, 0, 0, 0);
+    else if (g_strcmp0 ("light", contents) == 0)
+      cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
+    else if (g_strcmp0 ("dark", contents) == 0)
+      cairo_set_source_rgba (cr, 0, 0, 0, 0.5);
+    else
+      cairo_set_source_surface (cr, surface, 0, 0);
+    cairo_paint (cr);
+    cairo_destroy (cr);
+  }
+  g_free (contents);
+}
+
+void
+run_cb (GtkWidget *btnr) {
+  run ();
+  gtk_widget_queue_draw (GTK_WIDGET (da));
+}
+
+void
+open_cb (GtkWidget *btno) {
+  tfe_text_view_open (TFE_TEXT_VIEW (tv), GTK_WINDOW (win));
+}
+
+void
+save_cb (GtkWidget *btns) {
+  tfe_text_view_save (TFE_TEXT_VIEW (tv));
+}
+
+void
+close_cb (GtkWidget *btnc) {
+  gtk_window_destroy (GTK_WINDOW (win));
+}
+
+static void
+resize_cb (GtkDrawingArea *drawing_area, int width, int height, gpointer user_data) {
+  if (surface)
+    cairo_surface_destroy (surface);
+  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+  run ();
+}
+
+static void
+draw_func (GtkDrawingArea *drawing_area, cairo_t *cr, int width, int height, gpointer user_data) {
+  if (surface) {
+    cairo_set_source_surface (cr, surface, 0, 0);
+    cairo_paint (cr);
+  }
+}
+
+static void
+app_activate (GApplication *application) {
+  gtk_window_present (GTK_WINDOW (win));
+}
+
+static void
+app_startup (GApplication *application) {
+  GtkApplication *app = GTK_APPLICATION (application);
+  GtkBuilder *build;
+  GdkDisplay *display;
+
+  build = gtk_builder_new_from_resource ("/com/github/ToshioCP/color/color.ui");
+  win = GTK_WIDGET (gtk_builder_get_object (build, "win"));
+  gtk_window_set_application (GTK_WINDOW (win), app);
+  tv = GTK_WIDGET (gtk_builder_get_object (build, "tv"));
+  da = GTK_WIDGET (gtk_builder_get_object (build, "da"));
+  g_object_unref(build);
+  g_signal_connect (GTK_DRAWING_AREA (da), "resize", G_CALLBACK (resize_cb), NULL);
+  gtk_drawing_area_set_draw_func (GTK_DRAWING_AREA (da), draw_func, NULL, NULL);
+
+  display = gdk_display_get_default ();
+  GtkCssProvider *provider = gtk_css_provider_new ();
+  gtk_css_provider_load_from_data (provider, "textview {padding: 10px; font-family: monospace; font-size: 12pt;}", -1);
+  gtk_style_context_add_provider_for_display (display, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
+}
+
+static void
+app_shutdown (GApplication *application) {
+  if (surface)
+    cairo_surface_destroy (surface);
+}
+
+#define APPLICATION_ID "com.github.ToshioCP.color"
+
+int
+main (int argc, char **argv) {
+  GtkApplication *app;
+  int stat;
+
+  app = gtk_application_new (APPLICATION_ID, G_APPLICATION_DEFAULT_FLAGS);
+
+  g_signal_connect (app, "startup", G_CALLBACK (app_startup), NULL);
+  g_signal_connect (app, "shutdown", G_CALLBACK (app_shutdown), NULL);
+  g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL);
+
+  stat =g_application_run (G_APPLICATION (app), argc, argv);
+  g_object_unref (app);
+  return stat;
+}
    -
  • 109-124: The function main is almost same as before but -there are some differences. The application ID is -“com.github.ToshioCP.color”. G_APPLICATION_FLAGS_NONE is -specified so no open signal handler is necessary.
  • -
  • 87-107: Startup handler.
  • -
  • 92-97: Builds widgets. The pointers of the top window, TfeTextView -and GtkDrawingArea objects are stored to static variables -win, tv and da respectively. This -is because these objects are often used in handlers. They never be -rewritten so they’re thread safe.
  • -
  • 98: connects “resize” signal and the handler.
  • -
  • 99: sets the drawing function.
  • -
  • 82-85: Activate handler, which just shows the widgets.
  • -
  • 74-80: The drawing function. It just copies surface to -destination.
  • -
  • 66-72: Resize handler. Re-creates the surface to fit its width and -height for the drawing area and paints by calling the function -run.
  • -
  • 59-64: Close handler. It destroys surface if it exists. -Then it destroys the top-level window and quits the application.
  • -
  • 49-57: Open and save handler. They just call the corresponding -functions of TfeTextView.
  • -
  • 43-47: Run handler. It calls run function to paint the surface. -After that gtk_widget_queue_draw is called. This function -adds the widget (GtkDrawingArea) to the queue to be redrawn. It is -important to know that the window is redrawn whenever it is necessary. -For example, when another window is moved and uncovers part of the -widget, or when the window containing it is resized. But repainting -surface is not automatically notified to gtk. Therefore, -you need to call gtk_widget_queue_draw to redraw the -widget.
  • -
  • 9-41: Run function paints the surface. First, it gets the contents -of GtkTextBuffer. Then it compares it to “red”, “green” and so on. If it -matches the color, then the surface is painted the color. If it matches -“light” or “dark”, then the color of the surface is lightened or -darkened respectively. Alpha channel is used.
  • +
  • 4-8: Win, tv, da and surface are defined as static variables.
  • +
  • 10-42: Run function.
  • +
  • 44-63: Handlers for button signals.
  • +
  • 65-71: Resize handler.
  • +
  • 73-79: Drawing function.
  • +
  • 81-84: Application activate handler. It just shows the main +window.
  • +
  • 86-105: Application startup handler.
  • +
  • 92- 97: It builds widgets according to the ui resource. The static +variables win, tv and da are assigned instances.
  • +
  • 98: Connects “resize” signal and a handler.
  • +
  • 99: Drawing function is set.
  • +
  • 101-104: CSS for textview padding is set.
  • +
  • 107-111: Application shutdown handler. If there exists a surface +instance, it will be destroyed.
  • +
  • 116-129: A function main. It creates a new application +instance. And connects three signals startup, shutdown and activate to +their handlers. It runs the application. It releases the reference to +the application and returns with stat value.

Meson.build

This file is almost same as before. An argument “export_dynamic: true” is added to executable function.

-
project('color', 'c')
-
-gtkdep = dependency('gtk4')
-
-gnome=import('gnome')
-resources = gnome.compile_resources('resources','color.gresource.xml')
-
-sourcefiles=files('colorapplication.c', '../tfetextview/tfetextview.c')
-
-executable('color', sourcefiles, resources, dependencies: gtkdep, export_dynamic: true)
-

Compile and execute it

-

First you need to export some variables (refer to Section 2) if you’ve installed GTK 4 from the -source. If you’ve installed GTK 4 from the distribution packages, you -don’t need to do this.

-
$ . env.sh
-

Then type the following to compile it.

+
project('color', 'c')
+
+gtkdep = dependency('gtk4')
+
+gnome=import('gnome')
+resources = gnome.compile_resources('resources','color.gresource.xml')
+
+sourcefiles=files('colorapplication.c', '../tfetextview/tfetextview.c')
+
+executable('color', sourcefiles, resources, dependencies: gtkdep, export_dynamic: true)
+

Build and try

+

Type the following to compile the program.

$ meson _build
 $ ninja -C _build

The application is made in _build directory. Type the following to execute it.

$ _build/color

Type “red”, “green”, “blue”, “white”, black”, “light” or “dark” in -the TfeTextView. Then, click on Run button. Make sure the -color of GtkDrawingArea changes.

+the TfeTextView. No new line charactor is needed. Then, click on the +Run button. Make sure the color of GtkDrawingArea +changes.

In this program TfeTextView is used to change the color. You can use buttons or menus instead of textview. Probably it is more appropriate. Using textview is unnatural. It is a good practice to make such diff --git a/docs/sec25.html b/docs/sec25.html index c96d3ab..028c14f 100644 --- a/docs/sec25.html +++ b/docs/sec25.html @@ -5,7 +5,7 @@ - Gtk4 tutorial + GTK 4 tutorial