From 25b0ff104d56e49e0297aac4666458f59d2e71ed Mon Sep 17 00:00:00 2001 From: david Date: Mon, 2 Mar 2009 19:25:57 +0000 Subject: [PATCH] - Se quitan unidades que sobran. - Se traducen botones al castellano. git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.TMSSoftware@12 ccf39c52-e665-a648-be6a-52d81bcb5567 --- .../1.5.1.2/1/Lib/D12/AdvGroupBox.dcu | Bin 19941 -> 0 bytes .../1.5.1.2/1/Lib/D12/AdvOfficeButtons.dcu | Bin 109503 -> 0 bytes .../1.5.1.2/1/Lib/D12/PictureContainer.dcu | Bin 32143 -> 32143 bytes .../1.5.1.2/1/Lib/D12/SpanishContst.dcu | Bin 0 -> 1095 bytes .../internal/1.5.1.2/1/Lib/D12/TaskDialog.dcu | Bin 135496 -> 135688 bytes .../1.5.1.2/1/Lib/D12/TaskDialogDE.dcu | Bin 2250 -> 2250 bytes .../1.5.1.2/1/Lib/D12/TaskDialogEx.dcu | Bin 8630 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkg.bpl | Bin 0 -> 170496 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkg.dcp | Bin 0 -> 112997 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkg.dcu | Bin 0 -> 3651 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.bpl | Bin 389120 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcp | Bin 396631 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcu | Bin 4096 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.bpl | Bin 384000 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcp | Bin 385100 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcu | Bin 4176 -> 0 bytes .../1.5.1.2/1/Lib/D12/TaskDialogRegDE.dcu | Bin 715 -> 715 bytes .../internal/1.5.1.2/1/Lib/D12/advgdip.dcu | Bin 68331 -> 0 bytes .../1.5.1.2/1/Lib/D12/advglowbutton.dcu | Bin 124670 -> 0 bytes .../1.5.1.2/1/Lib/D12/advhintinfo.dcu | Bin 2958 -> 0 bytes .../internal/1.5.1.2/1/Lib/D12/advstyleif.dcu | Bin 1436 -> 0 bytes .../internal/1.5.1.2/1/Lib/D12/gdipicture.dcu | Bin 9497 -> 0 bytes .../internal/1.5.1.2/1/Source/AdvGroupBox.pas | 668 -- .../1.5.1.2/1/Source/AdvOfficeButtons.pas | 2814 -------- .../1.5.1.2/1/Source/AdvOfficeButtons.res | Bin 6784 -> 0 bytes .../internal/1.5.1.2/1/Source/D2009.groupproj | 48 - .../1.5.1.2/1/Source/SpanishContst.pas | 21 + .../internal/1.5.1.2/1/Source/TaskDialog.pas | 23 +- .../1.5.1.2/1/Source/TaskDialogEx.pas | 300 - ...kDialogPkgD2009D.dpk => TaskDialogPkg.dpk} | 11 +- ...logPkgD2009D.dproj => TaskDialogPkg.dproj} | 16 +- ...kDialogPkgD2009D.res => TaskDialogPkg.res} | Bin .../1.5.1.2/1/Source/TaskDialogPkgD2009R.dpk | 47 - .../1/Source/TaskDialogPkgD2009R.dproj | 98 - .../1.5.1.2/1/Source/TaskDialogPkgD2009R.res | Bin 3008 -> 0 bytes .../internal/1.5.1.2/1/Source/advgdip.pas | 3335 --------- .../1.5.1.2/1/Source/advglowbutton.pas | 6099 ----------------- .../1.5.1.2/1/Source/advglowbuttondb.res | Bin 5716 -> 0 bytes .../internal/1.5.1.2/1/Source/advhintinfo.pas | 91 - .../internal/1.5.1.2/1/Source/advstyleif.pas | 63 - .../internal/1.5.1.2/1/Source/gdipicture.pas | 420 -- 41 files changed, 48 insertions(+), 14006 deletions(-) delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvGroupBox.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvOfficeButtons.dcu create mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/SpanishContst.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogEx.dcu create mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.bpl create mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.dcp create mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.bpl delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcp delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.bpl delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcp delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advgdip.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advglowbutton.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advhintinfo.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advstyleif.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/gdipicture.dcu delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvGroupBox.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.res delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/D2009.groupproj create mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/SpanishContst.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogEx.pas rename TAdvTaskDialog/internal/1.5.1.2/1/Source/{TaskDialogPkgD2009D.dpk => TaskDialogPkg.dpk} (69%) rename TAdvTaskDialog/internal/1.5.1.2/1/Source/{TaskDialogPkgD2009D.dproj => TaskDialogPkg.dproj} (86%) rename TAdvTaskDialog/internal/1.5.1.2/1/Source/{TaskDialogPkgD2009D.res => TaskDialogPkg.res} (100%) delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dpk delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dproj delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.res delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/advgdip.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbutton.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbuttondb.res delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/advhintinfo.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/advstyleif.pas delete mode 100644 TAdvTaskDialog/internal/1.5.1.2/1/Source/gdipicture.pas diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvGroupBox.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvGroupBox.dcu deleted file mode 100644 index 77eaea990c30bfffb0c1e787053f6c56f22039f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19941 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 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvOfficeButtons.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/AdvOfficeButtons.dcu deleted file mode 100644 index 71e9032abc3be4aec2bdc23aac2eb8e4444a17b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109503 zcmeFa3wTx4wKlwR-`Pn>xL*X_L7`kEf`}Cn&20ywxseMOmEtDZ*$IRs?Cfyyhz2p| zn6r&XdP=J;w58QnTW!H&#S1NXL9E(Bt1VRQffmk5ihKt=VnKm??-+B9wddNG!1Gczp?b@Td%lq*oe={t6NoGU*A~k z&2J9`TAJG~9=h%8M)EDKY1O4wh3=xNoZ_;A7yr3#rlU1|ZgpviyKGK*PDNhTr}s{t znd~1DUOUI{Z9CU-?{A#;@{L~)HFBNw$yp6LPaV0EiFx6PxI$jZSmHp6gLOFKCeIZiTc;- z6Bo4j>&hNJH_(?<PLF~gUV zt8UIbKKV6Y3e^*eBiFoR(tzB#p60qHZ&72jr>SXe?>((=)+bfaQ2a;Fq0fC8xi#oj zbxXwpDthz1*Zb;|3tQTkHhGht-SK;0!hBB?CdlwPa&cAC((EgHF@K-WQPkMfL=~8p zT-A85x4fROQ*(uMe*1U-x!$>;Q6}%$cei|ApISi$R_jTXE$z*9TrpiAf}=DjX)Ib^ zU0tQO{!sA`|IL@2TUlOHR!CidJS2BPlmG4?{rJ}U#7eKHsqC)W{l27Xe|vMS5-Yd5 zvZkzn;fd}wjR7uoaz&narX-hmn|*->rVYt;H@CI>y*8yQx~A!X*&LuPw{Do@ODOj% zp%V*QTGw*bR3#5?$GL|X=CJ1Z{hqau@%)zWjPxZ`w6qmnd}t+KRQ&D_pZk&vy-nVL zm+Py}s)GA_9{UIBpeOKt{!gzp@ABGwd^dm_EAqFj;8~l0>&RigM0DJ{3L5V-Mezj6 zRM#q}PG#{+r)=1VB_s-bh_wY4?+n!T!*3FUR_LUAs! z#E>Z~@OwQ0?-81`fmT_Qr>(8bv%-6viqmro=w1P5OiKUEHz+q^uWYrpJS^tms7ZX*w8d`S!cb>tSeG3d<8 z%g6f$n`r!B@ikn%Be5rF~kuJFL zi#uxT9H7+%8k^eCsLzQNfSQeMfwpUo{_9X*YE5e^OaulzxPI?lzKp!)w#Jf{)vD;5 zi?)~e98l#7Ql%A5Q+I{#HeI-Gh0g&C$CjsO`@(zcQ!TmQ{zlq)pEJk0e|C9qsV~dA z%~3=Bw-;SsgXjwyo9kLulXUe-g$v3n3yb$3y`w&HKz^=TFPje!-O*5c;+ zmhZn;-RaAKNM6{j!eS8GUVQMgm+RB2LzuREAGyId0K_GgbMluIl$VrORz17!Kc@Lo zswxW#$}1NAi~o)tzJV}NG#GgSnD3?S0dL#re_7b<8&OnT;$D(hU0qq6UsLT~QdnH+ zE~qZATyz*5>XWP4y#aJ*%s|YXTJ>zh_0;Pb+WtqYq?!J{)pm zN4=xEq{Ua%(j0i-b+pfyini6Ja%V%^CSQ6L)>^Gu^5|<*w)zIC5uysk&2^1_P=D}Y z?|=Ey)gn}NcmF7VsLzSLvdtTy!5aSUg1`8jB8PiT%kj29`vw(OFL5udc2}0=m6W*i z3X99;Oga0>G+!FZ3-U?|sCQE?qF@MQBKh5G0^Vl)&mAqE{0}RAX&Cq>tRbt7WaEZI5q`0E0xN6ELebeew=9ZQh)|9wO1$>zp z35e9*NEg_75|L^sQHN|Ds+>v3BnMm`!{x%pP zLXaN+=T|66nB)F;d>EZ|m?t30c`g#~;2hFANt2-fIb-P+<0l>2?|HTid~y4sh8S+|vP&jym0 zZra*BKJWgTD}L;AfCz;vQ0fHj4Ja!{3ut3- z&~3itxsBxT{pjh>3hI+f%E_#;^XDk_EccSD@~y)kSNr&maLXKx!|Rjg7L}_hfH@;h zrCyk(+V?je_4tx7B83IXLpl;zeL~c>KW?jkpLz?ovkkrFwKF*1>uYQ-^wxX*N-oIH z13SQ8_NPA&sfP7gP=Rr{6C%1RcT#r;sFJ*b>f-r%)o!wUzJc!MI(ua@KiFN&VPX62 zs5b9DnmuEfFJnRJ5_e@@l{^2AIc0@C-~ydkP+Fq=`ofmg%~v(d&h-rdtOT~Uy1cBg zd_mb%SSQ%l1*N2O@4oU=zb^%Vs^UA{uaF!L+*IU2RS(gf6L)vG7g4<_XHYL0_3rSl zedx{l_4Q6%7qqNc0T1(m9Y4F;=gco#QczM{aEDv1sw~_Wme=H$xXn`HkNt?ZWH0x} zSzY3-4^%e#8Ul;{HW(gbH5j&HH*OC6^FMXIiu-cxo*vq&%Z|6t!L(I1G}Z^I0#LK> zch!E39iRkT?fwV9^F8bU*tHNkv^6=O`6txOYl0KA0-O@2ubYAn!%M95`tMDC^)9Uwi0>->kNg zu_#T|Z-&$JM(+Z z78(KfD%335aP3lG5^q%Z_>*q*!PBk{R9%0l#5W+|;aM}s>j4@sN5E5nN?!kixT{aN z`Gy%MIu9-MrPY#?hPlApv|jgz6Fx^vYo&JujOVW&ZTq7yV`&`?e02-+%O3Q&+Xq_> z$#Y=R`@Xm1W?#CxRdq7HkCNmZF8bO0b)S+-@U&Bvqd)9C=1b4fO5XT~+8Z$#A&BW3 zx%PeYK3{5WTS<$j4sz9zTxPRSjkDBjhH4h>fp<-LeJZsJbtS<{JZ*tA++%Uh@q1bu z8f#gZlQC~iE&k#^*Zu(Nrrf1d*ZttjxGC_!I=0<*+x9Q}l53k#X>ESSU(k=*rhHiQ z*MeWU#pkGPs%mUn<@Lw^`unq>*W{Xfao_41Um97a;(S`IZ7F?C3po%(!Or#HJ_e6l zvCaWV?TV|H?EQ_;kz=<1yM%|j5b-Ku%)Za9c;z>!XqM4RVCk}{*vVbMWX#E*H~)Jh zFbLQYb6|eCeCQK*=J_(Kc^kC~kFJ=p(8Lih8iFB&vqU4M@ihCIyjw^#^tlWR{Fgz` z6FRG^z}hD7aj+s!leTFtcy;yX4qwVrc=2A3|EBD--}0rFuJFG0FmNE0H#M&E=4U8&Wu8@QUke_+nWm|t-QU{e&F{t?s#GKRd@T)= z2}-HQ-_p{Y-wk=vAt%K2`6{gKCk5RN3)XID1knrq5&dJK6Xd1{|J?3 zg@jS1e-UJBD>l*PRjn{l|4wCTwM}zjv|(Wz0=-m#&RGT2#>Z5M!Ojmf7opOBnw4-{ z)!;!i@(C3{a9Rq4KNG^!?OD1V8WKm7{tF^Oda$xuylB>*URXjBB|f5npTs#&3D#q@|9c#z#oA2gwQ}PIJA)|4Gv00g8hxjT~ZNtrp}t0u7^S z6%3H-%3J(~s%kD;?dn>#iW>70;%aD@Gu0p!U~6EbIx$2L}8t zoDP6LR?rSNd4*Z_)|es#b5*B6!Y2EC^ubZ9s8RX?abR8-eJ2ccZPy zU54PLo_IO1PqBon&rkAT!!K=VZ!>ej=Z^1c@(loEa+J;X7Z96K_I~74c#xP>R^~rv z-}N|hn7A?7n*K(0%Ny$lJb;PNDRs**9Ec+@(4>EF5@MtcL0+4T;9Eo5s&WteiF##ZT{Rwx!vVtB zrDOgJn(KZ`q^oV!Sx4AmMQX|G4=A_qcLcmD1`rWPBW)w^6Ua8mh$7HWc(!nz1C8Fc z4+vo!WHV`|B>jCvD<)a*&L0RgOczB!&2(w0MeCSBHJdF$V!vloKtE0D?w~y0f?DA0T7n;1R-qGLSX^B<`;-$ z(}+s%%60^~JTLJNhF8R*hdMx!okX%tlSK--0BHoWO}YhA8Tb75dPI}nx^x2CbiS&g zWwqJQ0YsdvkD&@oOtKnBPm_|17D*OW7_3)-0#eX3mU)zQst)nw5O=hWYw75b7cC}^isLI*@Nd2b@vfr zh)yVKYC(Y5>{~~a>}V9y!76xp9C+SuX8-}kplpnwV6XJie(+VIgrq?oQ<{GzLYCDg z2(-O?jY?rLP2o|hCPV_QuSYZ_ly4Aam{pUs7b5U>(e@pp4Yz2Njc!ClsmAM%M9j>w zTj?L2zPgh9myjF^oDMJ|dDiPM{-xp`ay~Q+S>OzUII8oSYa3epZC^h8UYEW9CLxWQ z9bwfjZZpfPC^J;|`Dif7;v6mbw*~y9BW)uGt^K*y4~&jREFp$AaX6qDM8%dDZ)s**@9X`%+TdPPyWG zks7s4JUIYEsSXAHA_^6%3Vl=|)B{T=2r-7Lg=W^GaVJOHc@nXuwY`R6I#OfM>H18ysgT62G*vz$`0A z{LE$UPhWTyP7~$SF!5aU^X1KR(P?C___nes^GejhZG|6+M=sm zD~^y5Hg83FOL<5o)WYo671GXS^CZAmVM>+eYkqHGi<=T-9}&T}3xa@W(|=OsGCHh( zl)in4ga`?a*qW>3l$>vRQUa=8l2dDLKM723;1*N8aMSRoj^VWTf z5U`gvwK09pPe^ZUycd+Z{m9PeFZVUqt&V6}51pPMYRE(vlyX;icHGpL2vUg`k4=h* zgmBNarxa6q>mH;+n~IQTDM$g#LEv`P2Tcz`fMTBBytEV#&F*;y z5twcDi`6$>{&zp7v@qc$x+L|%1Hm=Oy)l#@2}!l zVn)x*19b%fzZE1mcx#vEx2$1DeDj^7o`e-9t61V$+tMERVg9YteMy0)>Xug5$FufA zF_+fBF+mk?-O$7lUxq?2El{^3=++TvQiymgNdd6bO|CFbNK>-c>{w=*Y` z<5|O&_q&nI6;+wu?+|%Vj?SI?cj~kEpRKJ+!%;JtCK|`|YOP?_;gdf@yC_j6LVzkW z@vVRQ;TwpyBB^;{35YEOyebONd>qVY4ZcmFj2ylBE4RIqgi(uZK-K#()fg3pY+A5q zi5{)GvMk>uGL}?C=P)xW82B0?qRFjW+06jedL2~_$baWm6w?^uX~|r9D!p&;z#TXk zFqh`jd{BL7))S4sK`1IJUQ)HFs<@!MthlVuy>QC&ctSs1l_R}GM>wn#998`IGE)&t z@+#-JsTw~tHw&xq1Q^c+%ggvNa5~H5UgNE84|sq650Cs6BGO|-G6xXRH`L0GErDdk zwJpsQ$bR*Q+y4y@nI&07IxXQfISo|sCWc_xmSw6;cUqWPRehQH!F%}}Brh2q;J?OPF zB92>j7{-#FkNzgUc1Gw7WMb_M?S#>jwKMcHMNfmMaxr9@UIkHmBzypTQbJEulM+DI z9!hPcdvi~s+DS>ZGc224nu59^tGpPux?T3*-m-|DgbmriZrp~f;6@^b?BFKcMze%Z zpge3*znxM$E~PZ@_9gS(mH%uQq#!#DBOYbNWf5hS?vjYId`z^eOHbBO*D(opg2Ptc z{2n%p`@VN}+{@!fN^p!-rH;SymVqq*6H+yxDEO)|39c5aK?DR`T5oQc`HS&`*$PC| zfAqrP+jbk12GNqW6H)WW6Z=lSHh!2^vl0&-Thw5p@k0}DzwHfU($G+4jgI=C)ij;l zJBflB&VaDPi{ft|TU@_y{1p-1;>v6e!TXnI?)uBGj7g%UmUtl$I33Quf8)F3hlUF% zJWh4}ZRxL#NkhWqV=`)I{CwoV{ZZuL;T0Y~Ia~eL-$s!m1Olgbu37!~`!+d3Wc20R zYpW;x-X=$gjM}d}wd(f=zZ{=)Q;}i((SRni*=waEfoGt2x{Vp?sGT7eVIr={6f`MQ zFwIdrA*}-E2+T!{+D2o7aoEUCR>^*xbZtJH?I1%=SxMZE-I<-NR{Su-Xi9datDCue z-T?G#PPx)l5gQ4V4C-+?6`4#M3S38AsZ5mngS8V<3mg6FAR)<+pXe~M6Dhki$S{(V zUCBseBU^_S9fk`hQR}?8bQ-l2$Z{|%sx{D&I3Y~(xHV|cc`7?@E&c7uPRgr*X~cDM zZgx_W$M5rw2hW?b6YF5&h<$Q)QY(!I6;H@cMX-#M3JAt=KWxO+rX0ALkmX9KDk`ow zjGrI))D_oA@;F@yZoeNz&Lgh$MhtRW0PZ~wB!f7~;fnXOFb8qL((HF7EM3tG8b&dW zs*TKNlLP8mMyfU^sL|}mPNl~@oHN1wGG}&5bqn8t&$6@GY3h+C zmyAcrgzTiMfVZ^`SZ8u}TqU)({bDwaI;Isd3P6r5S5jSLeZ8MRh6`uY5$=(COLx{zaFQE+J@=XwVtnEAiOy&+C+3AG7Jrwqq|j4T3pH>kK2`&mQL2HOJX8)>91jOnHnA8F zGpN}lZZ^KHoy9Z7Jf(^0gqW$ta89dRij^LGFQ%ZPd8b?nSSzNm&cgg^j}HtQTdBdk zgv4a4pQ6ivCPTW2eil@g6j?P7=ryyGmg3>ga!Bp?Oy}YhE*RYT9>3YkUy;b+og6Dd z>Pwrtn+18zXDQTpvybF1O<;3S<*#j6YUC!L&Bn=`)~2Np{M6V)GELM6r#5g7nK(!7 zvI*&&wyA8P14(sp@mYrP-LS=kHJ?W(HfYowuA~x*3(>o&8!tkmkW|y_7KPWXoxtyn z(5j^e+}yy%J{oA#go10cb8H;VNivomY5CYa7qSy^jHz}!#xO2!Y}{&GIMLdESiv=qE7xUq?)d=PQ13E73h{PIm;!}$+}ig^WaLs z#L+`Iy6bTz%HjB^8i?{RArwlzLrO3{RLMlJ;t|GY_H3K zep|P1FnPIk|C%eF?YVO&q$1Pcgatvoh~c1{r(FqNWs<+^N`$p#3;Z}=vJHOBm59Rt zv>`Yjb|q6ETF6>BJ6sMv|AAYj6>%+8eEOm*u8A&=US#8q%jXYVL?6|Thufw-7hMhv zo@I--Uv$x6@_jWiS+*4jw8SAJ@!ELNm5O^6BvQe8aHM0Lcn5=SSAuTdx>W*ZF5)iME}!6}y@<5i zy@qYbcv_2^YCBBBb@Y68d_7O$fs5HGMXX@d_PwX$LMnL_*P@dL;;@I&(G2JT858Fo z6wF1I%`XMp)c&0Wlv+#wKiDT(*;2<>Mqo&I6prdjU?n(fu^Y1)GYKJ@5liFl-P2&Ml7y?v`O%6S`1LsX|CGQJYJUazr<8al$bHDupyc@pyt}7n7W!O4s zT53aJMbm0JC4>U!*7GhW6*TZ{QOU;huGGMqfGVK%hHahg8;EyypLdCYBkW4tmN(Uz zHoEon1($;?Dcz%HtJB3N{e|o~?@9w&5Maho!ao&}|176%5Dx7lBl>~>7XW!9{HM-PSE6T7HcCHoq7OP+-I?}Mp zZ{5dTbfw|GzBynO%>$&>+icxG>`GnQ)V$of&%5AC#(`nnL*iu{`EIFs2fON|lbn`x z$r~@a(ycz28n*`nQCvF5RIv%!7hFk=ZB^~O4Bkd>=!Tpz$9orHW!vy*#Y1;rryJ63 zy4iEl#rqeoo!RH%{e>%~p{bVg$V5GgTV!12_P`ge z#0I~Qtl^}AG)^r|b@ghKp7gjYmGT<211jTq!Ie-KAc?O%h%lphm3j<^d&iqFyhZfn z3bqou0xuz{xfv#sTHNnSZsybrZgO^G&%p^PdL5ByFp-JP&2_|n(4H@#2TjOJk%Q_y zjXvSBm}$;9%qd1RRIvRES1Re5m=@P|a4KkNnufZ|wxUzGzMif(;<}~2jXMDIo6_uE zEw}5xs2vxdzrbl22=_-!Kw^46y6YiZymJVmAzNsa+Hi;0-|TIgem(kkJ^ZNwe00e= z0Y|k~BpQhCQu0)Q2VAoR1V(lO-rz&YG6X9n`4H>|mn(5D&cvb&0ZhtV^iJ-;+f1dI zZ(tDbxCHX{=#@!6c?J$PzZ($}zcHpV=AgPxVLt_PEck@hRb;ttg!9nU%3;S%M_djZ zN%5~;io+s?@uxk1!=Bq-5BLy-tpf^MsvEp3yfnV1pLjN6JW?PVor6U6n+;5UaT`)g z3oF0^lkdbWQgL`Pcq0`UruzyP{i;}*5%WxOhhcnh=eh&N%EW;Qhkucsh|Pt>`UUpF z9Q-|!oSmFkz8VQ}+*BmGbSbufQM);=CL;w6{-SRJ4sb+I!QjEZTB&I2Wol|q;v>mg zOPI1XVD5C9k?ld<5r;d^miKY7%BQh(t$ky^OYIvN6X!le=C*xfx68h7>~vYtQ^<0h zf^$UMR4Z?%aQDKusUzrPqx5k?%s$f8si(8-EugEfQ&(riKdcWbbk$7hp~D@HZ1MP; z6J4qFk`J$Z9t&4|VF4~~Np?BlxAA!~baH|LX`T{k#>SKe*=F@v8*&^ZIp*8Ma3Dya zqx;lSe0E|U9?#HaBBq-Cu<^JVfn}xKIJ(P1yL&F(E{y_vFKBl!wL38NalQXo8fKcn z>59)Up+*f{RMSN|nm8m)Tp6=#Yy`mmEn+`2D~!F$24KHdTX=^nj*L1MuA2H&uK0Q` zz{(7m?)ni|(wa7v%yA;xUn|%9T`BH0IQf#lfTY7}w`nD?0KU>d2M0`7yGSu!*%(5a);ozi|UDxyJa(528Xa{5diFtBoO|LSguHyt$%C z&}qW>>X?F3I$b@X1M9bm^{~wjZS~r%HhAV;nkR$}@!Ur|%WUF8KSf;bf2pvHJ)Y)s zddPTy_}y&R3y8Hyc*Hh{>XANJ{FYeM+gM;1siUliBN@Cr!YlR)WCzNe;a?HEykuJ! zVOCWd8S44qXUJ&L+flf#{xmyoAuC*V+#+6iny*HBTnW(F{Sab>2oZZwScsZd^ynQD zq1SGVY$9CLL^vNIf@<|3TJ4rrFVS^6Vt{tvrFM5EhIKvE+t19Vu-ioGE!ulV+Kb&w z^V|YjdyiUs+TPgM1kf>{=};wMj7>40pMiBD z^&&OXG>nsDvc|}$g$DOY9S8>VSNa{G9}(-J!aDWXO-s@@P|GU=vnj%?U$t;I;mvWpPY8y)`W28Z?M&erdqY64%@ZqN`699W zlWmq{uYsLPJ_|A3!ZNnut#0ulWeIkFAa-Ro!%G@8PgumB3+o)woaQ<(+D?qpZE_hA z+Oz1=Z1n?3VEZ#-JI-!KojTw9$&2w`nlBBa93BDRUl8AzMqnGM&PrkWrT$c1OUi)l zFNtmcc3_>bjqTb(Ry}hCzPtP7>m+fzgm3IA(@$`L=?la(*EVIz`p_0Sz;@GRv*puY zV7udT*lrcJv2|3P?*PO7#4sm9N1qcGu~!aUDKowVn?1zFldxHjgbY3Mfrq?`f>k_9 z*c|tQaF0ElA?{^<@PC8&->}&k!&Sor$IWqX3fI^&WAZ~XzeYUm+AppuJ=>&tKOijm z5R7`F&X25>5e@~NcduICX(Un5xz`Fh_gd!d5<%xj+{)g*30H6>nPk3&fk8_r_j{tlecqm;g5Kg#7Iye|B{FF)5lqIE#9L?L`|P&BtVa@Ht^P zCMH8Onz@OXAzsy(i4nk{uov-?FpHtR)$M-dCzs-}g|7_?g*p5(F?}O!nAL+^WetUwGl}zJ`?_#y@g*Lwa)OB%e;|xw3_@WGpG<hbA3;zjYP#>^HR{vXAs zaRW`e5o0hz!D%J6zsWvDw)Ue1rxY>ji;#lTY-zH;PMeWw6*WqcsjbtY5b=_c>1=5% zM*l)#X*D&4uvBl!3LnG6(i&kK!!k)sT0=}rVlWMlNxi}}#=yW_SOMwH#5kt0;DEGU z*o}?80K+233gU>!QS1NZMULyGo$=Azi4r#6Mr|Q%)Y^&+8#fBy3DNn|md2m3smF{3 z#2L=C&e^mhaDF&u+#-Bqj0^bc0b^mm964ZoMmWY$vQV_Rn3z$tXp_&(;bU#QAe>_F z7+R?4?pHK6@_U3~KUP@1O$BpTMEojkgC}t!d5+}TzbE`+D8889MZ_xJX8Fi=ACl@Z z#y%{P%Ox&HYyw3Faz`)06Z5G@adU`g%$37Y+)3ehO-#+Rhj4R=XH2c*t^1ttjIrB7 z%CPvYxL>9mzakw;>EK7(vB1@gO_UM))%SFO6hP2ShP*`~fF|=?0 z;!#Ri={5O{&(dDzU=wW^#-EKznY5hv$g(orC_ScvL#;3eClB#R+0&$6^#I107>@w- zm=%B?qW}~>_K}O(P7W`)Hr$MNX$se}5Xbr^3=eB9$27ylaT!c-7(>)QLQ~i!_4)k~ zU9f^OdXECU+Ir;xO(Kt=R{;oCb?;;>Khh2Zz3_*7> z?|1tqL?qKS-l0wKI%57fWu zlX9APCO$xO!Hn0b01zTG2(OdWk5vp{=6-S5A@f6m4`0c>Mc{~+2&qL)pUC96A zVSOzfuE<}HLq+_ti`EH@NjMI`&$WrkK35udM7?`~631Tkg!ULM<+#DLy+N<~n>Zz} z_#FeO>&>=tMUYa3gWr5MBA$GhnU}-17@wZrrry=Whz=sQf!J(G&D_GazZGU}AmfPR zc>5HA$vj~a@wh;naO*QwAlZ20lOHY_A-KbLlVpp8X@6P-V{Z;69fAVq!NmFgFwWK^ zUnh;ER~SbmJT+dE&ux7_kg9E1`_ULK@dDVHuH@*I23#Vo^g&BQTu!E>5t|Jl2%R zxk;EtJT23hMv19L5Z?~_5a^pyA&wMqBeb%%N+bPAZhK!Dl8>Yo#`o6(IByru{jCD^ zQZQJKx&+I)G|an%Wq)e|hs*GRBlu)ZaQzZ-P2TL#jjQJSI4BZ%TbTA|Ti{b^HhT)O z9boG}-Wj4#`?C}2D7B18>u@~uNx8Bn6=@M^+btmgvSt_ zM_5#&w{Lml9Mwo|oAmaGMyuRUL?etMcAC(Tg(8}9?nkB?2WXhzw}$!s*bxo$em_b? zqwx+!G~_QRE1Y!r*L+56VA?*T(gkOX~(!{ezG!uy@BARGCBO@B& zAF&QK{$UZ#m#6`(7_EV*5sk2puzDKnh=``I5X`4IAJ@76Ul!5ya6~hdwk_yYgdx&; z&zF3H9tJdyh81p|HmvD-Km)H%y-5kRm?_-*Qww{%WDtAg5H$9-c!{*F_;T3V5|?c@E@YD$g-d^; zSfSepVp0^rWTh~PaC0V{H+Z5s`|ltAh5o2jgqr_M##MizUZ8>CHjP-&v(x2qvF_wc`K#ZjeZja)i zu5SwG{?yfqu~IL=l4Gm`!m>Z*)nlyD#1%1?CTPSV^N)mSfA+{8V_idR5o76WW5!s$ z!oR<53hJiESWapHF_x_X%dz7a>zuHSh_N*7u-2R&W2N=WoMWt{Vdf5S37Pd6E4^Q~ z9Aga>w*Ac?tvrdbGKeQ)ENvXZW2`a4vp-S8Vyvr(En+N z4Gg6gkQ&e%(AEN{2968g{^X{CQhYJ|Lx^j5pkwVIoEkVSOw;+BK^yPoPjW-fcWg~X3T-&;M8D{} zHW?qgf|t@z{`6BQ&yaFQ5eFgsMU{?cKp7~M^rA{HK8LZnxD6jhO#Ge$b*NC~vlu|Q zcRL6pLj)x)2+4au7$b!AB1Pb*IH10K6x8f+Dj#DYYMc{q+X*$ztZRM=>C4$5P84El zksPo@y=8eIO%YO>`oswSKtvFKG7rRQLUb14`%mVx-vHW=JfO`8(JX%gv@$PfGliB~ zB>NLcjz*AX3&~MrzK{V*@=8$hgyJl+Hha*vtq095w2UHs2Lai+5#(Yar<-JW=`DUx zmu&^LRH)YL$Dla2gECJjiADJI0V;g~r8QETS;Q02hVRwok3u8BO8_hqfU^kiW2=v_ z1?|2)pe+_!Ds)0wbE@_>NFE`j6ycL&^Hjh14$uk#Ig03rF?djuy`ZcVN@~%Z7W$0h+T}z#2~xXB%1PHxo5UsHeceTwaS!9* zfB>?>J%0k#c3enh*gAow>xY#HGQH!1mm%vl2p_=V!!iW)N9yizAC{+5MN#*fj6nc(w)lEW715sNYJtvv` zgpeI_JfEsIX2d;$jY?>PP*vp-Ebo_4L%H>>g2LB=hFou=XEXgNp_2gGa_O1LL1bD891m*qlEU|NG2{h-I73?oQD4Z6+q^mMC5s9M zrr{^*0j|4CsF`8s`w8+?22IZ%foR_si5)4?Xnm6#c+;Zm?(^h!X!s(+a=p!QNhbcf zWOa^dcf2vICL?ZO0ybWgG&RM{AcJ;sN@m=&By7GWEhpK0-7el(HIF+tP$>N6vGk!L zZKzkchZSz9Nt`xVx0(&6*^HO&tQfvR6LF+eN)an+0ap%RsR73bFquAtw51uJ2Vh*u z{iLyx9%l&?L3_ z0W>}YT3{Hbu%8PCCu_`as|2&M35=ULJe&TS>}CkmA>VI7%}xq&G;uQpmlO6u@&0~9N_Am|H{edZnv z39n}yVT>L)27;o`B;qgRpkCY%!a%4}8-~86gD^MRF!L;oWuPI`O^lg6d?x(`ry4<} zn4g_WjBXAwiihhUkVHBkMD$xibiRTMAsBqJ4Ltz{>fT$KHgfn;>b{Bd2+pZK!$Uac zhB%@{ub|Qt%F>Q}8>~@ak)NdNG`1Bo);)YB{pD+T9a1CJ`s{M*Pf>`i30x^ahvgAr z@a8hrGu%T93xn4#s5IS|2Jm(U4jn#JTY+mWu)gCtjb$YaE*-v({-!t_4jgn5tnH)B zAgZ&B!NtS7=r4w9y&&;nuIh_Ts6!QuA|a*cor1$hdXgLBG@h1Rpe~ zzV(DyRfkwzgwrAzd~_Utg$Y6Chaeb~jRLVg?hKe^3mG$I_(^Ik#W-po;ZA> zhWXq@-;jz6R3jr*H$DIEsk?M!$JEm5VSup@J9>#k8-WOeb*u&RX!q^IVkWy9-@Q= z{=Gs;E8>#~oH9eT0TlP26kb4ZD-bu5 zyfkz!T2>%Qh>=-=R3Syn3S*TCh!%1&%&fprp+#l|MhYn+D=LQ`qW9{~VRCTcs!(;8| zxUNUYwpjagCdJxbq2XKTwQroK3_+4(#vtO}D3HjE#zY3J5J0Sq#zvNMrNE+PG>$T) zU4ukqG{$gaYr`RWMq?mD)(Ip={$LBYwO&vW`GaSe-YN9({J|b3cL_NxHS!))yM-E& zT{y|~jY5x-T{y>xO@fG)T}a}7J|U2>>_YJ%3bnUbRC{*8%XPO3)s{LSeOtt}pAves z?86jRt7inl*#kZ`jEJ_!!;1c#5JTC6b|!2WLV9>kVmU^Y|t2-Th;sA1xpLew(^UM9UQBwMh5lKb+W(DY#c43iF6q)_%CZxES)4}_A$ z-UB5Fet&2nQ4R?OO);$lnVjRy?jw^FJ1sC{v4j7(QEKy^W(&b1BmX49g(nHL_}^?bRiL3HfeQXHBZjenlLQ%pu_p;s=s$Gi zGXq1jH&CFq@I*!ZsUx4mC%v2D$xs1C%Mz#rz`&7Ph%*Loq=5A-fr|gfjC@aPeoP2x zdTt08RRZAnh!3cBaLX2ul}b?I|IraInTToQV+ypPOz+uS*75Psbd5%O-$%Ms%jYuY_48XXNNjQ>E z$pnueZOH^J17No9wQzc-KuZH4Q_v_FJyW2v0NiV+)d~xuMfX|)z-(=$z`~;Y$UH!M z7*eA9$UMMWLE5AHd$>uK&uo010QKlTG6}F=U|Mt^nFHt)ls&qSOapWYFf6){%mZ`_ zQjhKk979QP4CIU8vLnXS8Oawe3PdwWXY5z)QM1tg73($LQcT958k8lZR(eRYtmvFAd-P<~3K0a!z@V78l(+PRD3 zvR;VtY(Ld{!wrx3op=M@%(CLnArJfCJ(*NAJK3>|qy8PnQRhpJz@Ceb;bFg{$b9Dv z?ahzF1JFI(-n;a?pU+>SeBnTpzbWPTcxrj24m2Fw!dp^8L!7D(f)ZsKDDQy z7n(i%UI|jKkRk)=^&p=Vazr4#5!BNmYB^3oNb1`#_H70Aj8KtDXtVOa=>HxN&zZ!W z0rnH_7@wZF!Q^UQ5QO<=u1aKqJaaIGd~sKhi}Y?^P8v_4dOwwFyP2FMWQtzQgWmKu zCn3CyNEHM}N7j_~tYm72P$@dnm7!-H(+3Kj9!ZN5^>i_9sL(QOr*Wz2P29DS0*Doj zZe>1W1eRet8%u$2TgQd%jL8;EvO48TMCUFhjT2Ht^mv@<6NMfl20hKFDT0a!6E84* zn$Yc0f9epLq!~gC4^YQ3d8Uw~gqYJ9Fdv4UZQ6cOK6PuI956{(W{OjZ6jn6;ezOOXtdRVt>5QlZ`Cdn4oy*G%% zy0yYKU4NN|_#U`;Mx{&ykz&5igF|0EhnTcpNNL)eK14pwFMdnw+J}Gg&nETCr8aDG!$&BK;h|xEW6X# zH%1}Pj5?z!#Z!XTodFdL77y`iJ$%Llszm+%nxvvVgB@@3mi;ca>^-z)e;uj*P=u{Q zLXC4^X&o&kBPN_&D8rB1ZoTHa+%8P(Beyi!Pj}<11s=l zjfIU8-l;%^kr=XFg4BXn{eiRD=pKQE0&y+eRDt-Lg0XA>9(iP|k(cJ)7EBVpMPqs) zJrA;no9_uAEV$KTNd&hC1jS<@J=2~LV+=kJjQCyDmg-q#tF)7wFSp2(dEeaZ=wKUK;a(vadb;TwI`P*&nXd5 z^C|iL4A7gOW!Gh>&Ndl-t6ZYs21srpg@rXUK`Rc?Y+=o8&`O1-hc$U1%o9RbSVJLCjnM32jR&MfLW&G)DC$`( zkd^QR!YQXa*V>Ss!4|onR=?Ni41U%=MzD4LU0-mH{G|F2A z6%p_ZWcpJ=w+B39nD~qk!vmg~Ony$tQ34(}Ben}7TEH`pAukAoJa8?p?pZgC9+$pk zkrDCeOCutsf1g0XQy1 z8lKSEVELXC**CNllB(9^V6r4Y9DY#BzY|BOkF68Oy?y>Tdp z3)}NK0fk3&Ge>VBi1-T@ObvCS;ZlL$_F=p5vX#K%#*oYKK9VTm!CWs7Rgy`!1#?5x z(Or{d59Wrbqr1X3S}?~!?m$7VL(0*)0QE*?FP(9px#0*w(LdPjS;xyTcA zWPJF+u+y5jZWE~dn}gn@qG^L2AFzM(KH|dz{6GS!&CRPx+LIC{+kt+q& zPY~HInAkz&T7mQvM6MG|C_K~yNYnnU7gYb@VP`ljdU)6+uzthCZb4l#JlrVAONED< z1bB(?@CgeSJ3QPXnAqXrRtpj{JbcQ6^cx;NBe2T~51$kCCBwt*VaV9w;R}MiRCxH3 z0Q(OQcL}WD@NkcyE)^cWDZopIhi^wfV}^(Cnb6uodj0i}ycjb3`uZODZY~+f5+e@9 z@&79;56MyEh!KAwf!~uowmzw-&e4vCb`L$g*T_y=ImkROivyC)^4!G{mxgQ+H*l;k zC)N6(EPCP)?76UsQ>`Be-F}4WIVK(wqC<{a)5)Tv7q>F?Ba?dFfUu7}Mjm&qN+2IK zAvT|*OC^wxn>4j^^lVKky4%r?%;Q53zeYV8qRtTGSzuU?dbwUtv>vg)aZ>1EJ!0Z% zA%^#esb@@T)E+4>>YNF&_egnB7ff31T$($>vCMoypC5rPk5MY`Nhh33X!^^<r}37N`E9=3;6nai{WmwxfTJ4vS&I8-@%sk!=7e%JSY-^+b3_3i1~-Pb?INa~32&o|`Y zB)?@1O#mOf~&<&~GLbM!o!oySog7h1CE?mSLvvLHC$+ zT+&YmjD<1KupBSk;a%u(4jqFGo8JXgQy8Bl+z&QP?+5fJ;v=~XF*JuBm?fx#*0@8s z?V#VGM(Btg?jMh2V+=DQ{CyxXe-UC2H!QCWh=xdnF~U%1(LlZz($KGr+^4Y9BMsfn z0w@Ro{R#+0#wa7?Y0^D@?m@3~$Q260*?f?{8AX!OIEP?<)go~y0f#zmY>3+!!*bPd z2P$`%(D><~-zyE}so}aQvWWf5ege|yBuWt)gT??4BHVipq>VTDhsNkqr(_) z*di}bpA170`b&mA{}!(60`fDj@a+0dk-n`qe?x49yJ$<}B#+t7EPwdE^}$xJi%}zdB;N zAgD(^}`sh~&-AJ;i*UW&}jV{x#j`*?x z&oT6d8BqIxpkEzzlZE2rXF%--f_`<>OcGn(D+6W?q@iCObF&e4=nS|HVCYxJ%?jbH zv3wX9`qgo_81`dkU?)F1Y&O(Ly*(y-m7o&k!u(4v%HQ3QutAA(J1F!`J~k&IO1TXA zZISMQnxh`<7{|i)o?EdAsx#SAorJgr74#XKkNdwnkWr?`EV4U|0nKR~fDbr}w>gg5DSW0w~Om0lqF`8$Xsdt9{~Xo7|9Qpb_@D3`t&dcocJOmgm<^P(yq;!i%KDLAPzrPxCl`u%4}M>j)Q^Dv{?{6TB;>yaY)djO^zG31dW$|PJg*h{ z<{$P=`k~9z%#CzjQv&X(4EG(8+C7$;M{~c2Ywowlbc{_&*t>>@DW6A%;%Kh(=m^(2 zT87eP_Ym(vQ^?<18A?*KaYp!~a8nTNPY13$M%ldHXldXpG)MiBC<;Fp9IV%SjHAf< zgtdW0r}_9BglK8mtHRx4VsMYvBf8JF`@GQ-s$(zd&|V#KXenVrd}UFRYgKH7HYlP! z6ox@j$L)ssWE?lq(y2&D>K_LN)Nyl2q$Ly~At@++B#x43`P&KMuJJ#cS|zOLFTN>E zHK;p|(ekpB!d%{H8BjQvIvWy|exyAbBqS%Tr{EwRiPAfGmvTlLh-m3cBq!w=I1tf1 z)az^>stc{quLy!l9r$SKu*1AL;KUen4m*L9ZbV*lsrtZp~ zg|PIi3w)zALuZ=ta|(3&)iJly1`;~?OfZ^>urazVghJOA5=#5gH<3axZ^iH5HxX@s zqFkn!E)_jSjOA8IwFvi#Gk2k_rysgZRZREl(Ma1A;a>eq6ijsYDw=B)=3Yf6U<|u^ z70v&O;a-J1PSM?~@MnOe{{J7jSF}3*zA{9wqyN<$sW3f{N)ZjeJ<`R><_7-%>0*WZ zC8YHKm%3Qd+^6EdyH9_2pZH@+q1VwK6aNo(pK5|1Z+PQy)%*p)PrBC~ehNRqLtXCk z!PkRXeU+`Z8*_R^2<1-H>$&NO0FpXt`tE zXd{pvg0t_UiU2Ne^=@G;OD_p!NpmfAGRmGLVH#4Ej2>WeAN^w%3I?o)~4m~ z);J2g_w+cr+^5$62Vxpy&wplht;1NJH!+{mr3Lz!?+DhD)df{|e>xdlYCfI}6)Qb9 zxwNOt{q%?Kr@IzE`JwyCKb`w%@xgC()!0k+f2*t1Ub6379qSxMU{uh(W3v0%a1Oh_ zbpm?5bFzC|B;}6!&JQymJcrH{)ORiZ#q0GPS`3k91?=+K8rxQBBXM{=U&7N; zjoyDZ39sq|YU4eVa9Af0s~slctVSSR?){cY7=n|P(mRTJdLJ|iH&}#}SLk5di6#=M z!d424J)cUOv{EEOj1#$3`mk2oL8X(Z^l7csAihJW^bM;t>6H#h0IlvUggGSIF^lG; z72Vf6*(9VVhh#@lU+*B3aFa&BZ1(k@Gl#lCBP0^xh)H-zBcQpy-nUG`lNte+eZ4<1 z3GZrz6e4Ug38yrIg9!JT1p54D8EQO|=C#OaA&Us2OLuDod|qCkrAr+e0WTNyS-SLH zi;(gPKFp*~>C!>16esullrAM=XnLRlMtjOD#9isqwOT3OAL~=PRHBs*r&89XR;x7W zl@TblHWj>mfK5g10OubQy!^eKZO9x;LDaYV(`BKn4xS}kW z&@kN=tsV8~M`%*d#~i%|Jxvsv)bkiCjdnUXtW{}*YokePefe=!+juA)3Nuk~XOq9#H8=`XY5#fa1p}weSds=vW)(+^AV2xm(aqGtX`a zM{my1yb~&5N?(h+R=!hQrA_*XNWwOP%jMujej4j$v`s(4OXOe8-0C9c8B3Vk(&_a) z_G;#Y53B~`qzxLYHISWt1S4ai^NNO(HtqcnA%!0uSqmStrRaelV;inFupd#!EEYb* zyA^Y=nz=5AmbdbV+t(NjBl9Lr_d(xjX6P^VUSyT|jl@LuOV-v>aA-E_trmrsw5RB8 zXvu>fs}(93nGabfp;kgN+1m*rga^Had}%$4tS4iq=ZRFgn;HVGiO=(Aa(Qn2hMv3)yPYST*6q|ie@RSuJ$TUC zCZ0k|QrEssz+IgF_B{Ml%@1=Lf2aw3w&ErDA;!z}A6j9_5h`-~jjrP0 z;Hf?T?&x-(G9hF;LM%=(3-Z2CCH%<}_b0%h#>>Qx0jA6+g0HJ!n&YHXRny<5K)Ljk z87qegMxJjQI7q+@Ki`VbD>#0Zj+|0C0d2tW3^kSn9L=);XT$yM0WDZMem_8vlou1hKyrzdS&nB9fi{ zVb|hMgXbQu`68@q8FB6i{1!e8uwtD?OO2Li^Qq|Nx$>do5 zC-uC=$Tupv$7Y|;Rv}}hayL=*5f5sm(>0ccbR`6@umt!D3viZ~8cPw<{ks+^McMGi zDH+(V#ixSj?9GwdzaDC4xV6}5JeT||PI|@6gZqMS1%Ge$7TL027Y9>93e?yBXej3nX_HIgUdr+;X5k<4U2wU=G z#j?AD1uEg9@=(FO3A?)!JGv;3u#EsL26A=kuM(=p(Ut$MWgRHn=5_>g-?gJu&AZfc zd+8cTNO_>*_H*<8sq{RhT~2rJYK7CxiN`+%&(c`#pJh#%+hHl{G4m?uz9DE#?7R<^ zg6>R6X+ zw8PeC#dQ)j=q~J7^Nx}EQ2fmZKtapwJUbJ7=46>2F6_#GBREGTD1!U7@?hnwmBE^u zf`fvc0WeC~kGsNP7Q*_x7)b? zs#)#3A4u%{tbG{fu_9QyyEvE-(v%Zppoyyik3NX_2#uNp z)8#(Q>(YYm!+Uz-gEcpF#WUo2hD?nHnM#nGg2pWO;dKtW zsyW=1g-XHPYsKQ4cQnP@jX);SlBJtNqs9$v$Alk)iBVHOjq?D2qg}{?b|-c=iIzZI zltJ7$v+PqcF=4A7vXKxJj=8E-{dRs3sf?Cz8kjyc+B#laNsQYH_e;r));oZCLkee0vH5PNbL> zY{(6-#hc&_?w!!0owGU{z~{cbLH^sNEJNoSlyz}QkWEjQns;9AU7dBH_C5gVBdyJU zcPN?HEcfWl?metPqi1nTncdIx?JcC_uFUQy>5eIwo(eP%6#y+*>I!ZmX=Jb=5K+6= zJVq9F3Fc$NZup-sBUfUMw7c-F+>hy&X-D{(1VBB^u*NkxtFqsT59apFa&KeQgVI~k&Qynb~;+ zS7GSPN8h2sg!&C@;;+l>+zrcNMz zL{-rKOZwWx+BAAreEV{C3%p{IGk-qxZftRX`|Vil_{vJ7!umD0U{0=y;ccSe1IPNFoZ(=;+OyFe- zbv;HVi5Go>=zG_LoHy@ppvsPWI^{fCVwuL zBA5$P&a@G{1!IMgFu~kbHCDkvx6gVlv$K9Gk7aNZ`A}UIa09OmZX!;TX=J-94!_)l z@iWzuYaX7wpDFLd7lcN_+U!^Rnc8`WDu&$^`^`$d2`EvtbNGx2)YzN*eWUjzU6Z~g z-x?T+!iWLveTNX{q+uQdVe{DgW99&TOy+s2?{a^&e#5%2*0c}iHl9~a{R|H@03^y> zdZ3Hew;8=HcHV2kd6$FUy{Qo6V2P%bL6wD6Nr|m!mWrv~rcoPY1s7uVUCiN|h+Y!= z$7s*em2f8&;ODB$&b?I6(#75vajUpLXEJ<@jH(P1b7OB<99^jNPAb3;xUI2sYvfzC zEHJ|Ng^xlp=wx?#bGfl}^4EKBFbkC!I7&eV_vTgs-K&x$hXgr>3A+=H%m< zXW@pO3jsCmrv=vcFkSb)N089$hp*z^=ZNku6qjmI?`Bo7H+Q?y`xx_wYQ*!*Xr^iv zC@@tYz=X`sFpLWWLgwfz2+h-HsQUn}E3XOB;xLzDg8Fd%A#|GV{}GWvGJfg$Ee#{s z*(j$;kyQr^btMg4JMV(#qNDYsHvX=P_ZdC9PiYPe92=LAfy?at7Z?&X_MK!>L>2ct z+0t3}AuD$iH+a1@IW>rcI^^z_IM_P!BG~Rx;}y3E4R`C;D9bkneBtuK0CYWAjp<=v zgdv=+)!;Q9lA9tmEQJcAT^Z3_5tOoF*v}{$QLAVlMM_qT%+Yksr#l}JdM*w%l1IwRg^B3~^}BBO8Yi1GTst7| zjE9%e*QsMx(Re5Bj z)V=8j658xbkneW(=ri&X#HJa6-q>d36oQt_pSyE!h{I46X8t_)Zu;BTI=8R2u)FhG zaIFY-^CoAP1SXS+U60Wu1UF6PYZ~V0Q`bQ-Z9-yCT?aAIkaXLh5%A% zOp0ujLSp(ej@1uEsD;!x;18_te`e<1y{i}U3&)8CvuED-%*;7w&YYP$_cJm3$%@&m zxDlbypOl!*jB6f+J`=M-AA?D&*J8Ft3)UE7wx%aB`(H6J%Ejz|#KK(6{xTNkV)mtv zOw0;7ZAixTMO^B3kfrP2hY&Vo?wv*K0<(x+WfHMQ!rc?G>2VZKp?DD+>RFSed$kO` z1d}T1eSE-4lO6kUYO;TghgGeGCOfQqO?DZYGq{knR8nj|Z7QulZfGbJFKbEX_@FAS z=#g69LD)hP8m`a`sJHH_ZtIO}CxzmLZV&Ceqi*}h)6To51}hKm$WEq#4`D@U2tE%|zXw(Fs`(FQ*}v8!aJKB; z5VnLwGPZkLGo!VtnOCYQ#LFR7w&@vjn+^!!-N`8OF}CTs_tmE7s7=neHc?2n={a=8 zk)P@fk_~)C52LSE(s*<=V0driqaQGAIpY-$jvL9%dsa*mWL#qGqGGZ3Q;I9WmNTZD z{XDOcYHABkHsMspbM!`tq~e&7eHKoV8#Yj~4AR38p+6gF@Or@z{7i{~6n~~%bBYyc zA;+U+fB1L$Mm5I{2T?>7E&qwL?83(LI($gP=7`dAmi#8OWB77W#aCcrba|=|Ac<`9 zqR7#k@&j@{dEKecDa}RfO-U$b`fa#Jr1^-TPHVeCWgq$EUJe!n|34gaLdam zLR&a9Jk`I34D6-R_zj&>!^c=BD(%*6{2?StwDfFDT$~G6o`tp5O0A{s{c*u_p6EN+ ztmoUf=j0ie{RzQy;+#UuuaQQLobIXqH=b>3d(|ZLWiMJAt+gVf&T|?M9l9E8zV+@j zzt$3m1%-6sK;qsy(PS`-^0^Jx4>B`@mBu|mZ4Ip>i4vDNeC+OEPcz^T=;v8_e7YIe zZ*iK#sS0yK_?W$iUZu>JV|x)qRF^qz3j&8d>9W3U(IIPW+d>rJL?ygHkWd)j9d1TK z_?YAF<*u6pCNa^w7LJE@(dSy$BLfcg0v=r3I^ubxf6zTclM%-_ccKX{?{ZjSyV-=j)jJ z5EeSb21w3u%l40%-yF17jSyZo%8kXJBE>;U{q;!IK>xT}%3+ z@$|kOPUMZ__^r3&2)EKYj^jh^Mk^E?$^>>4GLC5rWO3peP2`6GIPwVNoDwFt;@IT2 zelA5UF-2s=A4kHWZCZ~GiFjKFQ`X1skhSr5JTqneZY-CmDCpiI52n;Rjx( zAd$CXK3b7*j1JdN;!Ufnykw~mjmBxhOT3q>C{v-#C7Mi(5L$~G=4j=ao&8BF;##RnW2tHuc^sI$7{3T> zS&p~bXi;lAe!`D7P;~WG%o_T^ed9Qa#-sH^5pqFnqFB#UKjErk*Nfth#fpJ}K6FJN zcr3~7S}>1T9?{mnG4yR2jfP)6l-Vho$(D>UrF^ryr9B?-wh+r)Q#T#B`4B57Lp?0b ziRjqGS%>NzL~VDmUq6s_=!#kKsHPC_scx)8LoiL=wj%yQzWSgE7 zQ~bR+G6aEwgMA825xS9N89fLF8h+rOufO$^?z)X;(tdH0RnU@1#Tl4xj52lDr4i42 z0Y2k-eqNf-Vhiv@-E3o+BPbGoWRB1=>tru65@?o$`G%uhf=6g2`?Y8Vic7ttWegtO zg}~@f(baFEXGma#TkP@Ys3@U>$e3edw6)!lfc0ZxwAj=jnf{R&E}o~(idDHdw0fck zS@y9=0rUhPPyPd07StoSDHcZ|MKX>l$?2-~-e~O`ar8+cK@&zM+0Hm|Vl_0>cg-zs z>!HPtk7qbc6ihtRiGnE-f1Q}NhrSV2Qs2BD*EbY0`bK1ueN$tmfmy73vDAqspVdpg z58>Z^R(*uSH*DWnhjY4>V=R{chO349A>3iOU%*|20}UK;V!U{ZT6SPSDF#Z3jL~Ea zj{3@&butE~NE!2G8RIo#N-3rjowZD)Xp=>@YnvsVBiBi@B@sp9j-4wlH}Du}8+-LW z(@&(optM{RNk2D|Jk|e7Q6yM@qO`mOe{Yp7y^2r9>IsZt`Z^~?W?3uP22I$fbdsCv z$5mCnX$g&rR-Xr5^4DyRnT~4KQmlT8mEQO>CAMbqqH*uM;C0OtrsAf{${k+#PAma3^(?eXZpM#+3 zOz99e8BaIkPW>{E z_vD?L@OzNfZlTc-1;Oy&I-OQSOLfahfNEdA-@ zMbDp&8-`YbO6evda~ievML0b#g}-VF6Mp7V(DTu=Vxt!;PtTfyw$1?VLEfwJX+@m+ zL^`q>&!zgNaXJlBv=LABWyOtjERD*{Mo&D1C()md8?^x&Jw}+?FdjKeK{aN+i^Z43 z#Z&pkaJW`r!^ypnx#F^f9psJd*w23t@!y~FUlKXE+%U3ZI6SxkpmIOGauyLM@~>*u zV{{Qjw*lVrSRzU4p1-8LB!7Xi#wh00B*i=A;N)2q|z8I;aF9n-ZNl-AHi zIXc6_%W+S~a*=8}%fr*Thtl<%10#GPas=u3=ur*)NIk_gRO{=B`rt3noV{@S_=${- zu*z1G?pa^`Ipnm=ofi%5kJg<<41XhUQF}G{>#OgjRLYzQj~2`!6BF!y0%Q`PM6$>e zBx@2uVbF#>iVJtF@C{#j1MRZ4*9SFTEA62*@HaOo7RxDdyP~j2VoAFU;#9sbaSmg{ ztHb>0*f9NhlD1Wq#kh8j0#!!7%dvc(r*4B%?)yzNN~3(_22u{GD8{SVc&viqz6_C+ zgV;m)T_%-K(!*UQJw{2JyG+_kNyoZOI!{TLyG*h|LLTzt=Q8lN#9=s`k|uSTw1AQx ziBH;y`v?=z=x8mmfr-pD9ubYveKbn!0z-E!N~@(PQyz?I@X3}9kjGjrCqcmpoDlzA zo2GJ-#%lvVs;N$*hgNfDD;36DA_&^S*TPjG=n=7W`6gmEB8EsGfW$?K zcsnN=C4!e|lxek;Bor1t7M_E=Wi`Pc;ffOR`Ua1WakO|`_15|mm z?ihXrf1y6Y^}U~0jDPRvp+y>3DhG3>8_XLDDlhCD+ju#F=ZREPRjs*t4(gh5JY_xZ z1v!s2QH#i@@eWaV8Lj#xQWH303A_^%cppZpUqO6T<-<4wFabhVtL3uDG|;tNsL8>G zL0_vSwud<2>@JvJmp8*(rc3f#iWs1i8U@#}9alwkmT~&2NGnNX65R>2$BAiHYBNxVo zkk^OakltGLIppiAlPMnZQ?qnV#D+s*@Kei0d0x+KCgg+P0 zr&|P9;x@lWI+P(?er(DwaHcyuzuXDu-KKm3k1s*zTLld<9uKPXV5huv-yq#|**R}^ z{}{d)HsD*qbJE?1l-t~I&u7KL0*7*b*X36`)JuIqHy6_1>}7fQ<@BMQul~)~eamQN zHk(I)Mr&~oI^BhiJM^fR9>wn?misItsVKDTa$r-8cG4Y=bf0FCyq7P?b$zIK;gfIS z()jT?Bt5ljxc}*v_A70QS3FNB4Uwrie#|jbbG&rzQ*>%hI^I!S;S^b}&W*oN>MAy? z9B!$C0fTw%G*UWkL>WQ?l3^{4msm-7s^riWF~k>+$(<- z7xC_!5GiK6~!QS1X*jcummCueGc9y((LBgw~q6AE(@O zf5Rqx&If<(mikTj_D}q^^pQ>Yl#eC)G`_!M(ZqER4V!*|05NUDrsv?J8>$=lWJzd8 zxlayk-BqAu`$ixvJRw)O?rp?SABZbtHa(9DcG3;Xe>i*Zw35iQlKM?QK~(%=WfR@~ zU%%-PCDd=?H#pXBA`1(YY+ShS;cZ>=4+F{5{0smD^?bme=2aal+L5CCf08 z+{1sgFm)=a_Dh0BSep2oF%7n&TWi4K_y( zCzZ$y(}wc`C7SM`b{l0{wKMz{B|R0@oH^pbFzFHVMAov07D}No7atV}LXrd_%Y=B8 zq=361z3p2!qU@rDKXXdF-_Xw2(SqH)n$>Pp9mPkyElOxc)lpi9;c|z=-$h4gWYE)J z3vI2eI=V+D9_p0%@Zs~F;)-Ln(MJ>FYx`WRHa}{OPxKwm?-++=3tvx90>cWG1++r^ zI7C_FtVn`-J+XBbZ(8f$YUd=0YLDco(K$I@865mbj=%9XZvSdRqxg%k@-DE!ms0lD6ur|9;Bysto%`T3G#t83aYCR0t?`xv@kxa14?n;Q)Up;dU0sCrn)#Ppm4?9vr-a>p-Xp{1ZII^yYdQm=eMlmyOAbl0*&K zB$cd8Qp4-IRffRsLS&Pewsaw|KWv*gr4Vv7qjEx^NyLOapItike~*|_O&>j`El(1W zzW|ZS83-9w$WTt@o)`?lF1-4KTkw?&5)pz3<(N3PBIp9+*+Zw`Wqln zN&UiQ#_)wN`ya!^CG|$2BlPYB>RQjA+!=r^>9zJ=VlQ0?w zjnVjvccx@|aj_-|hpp#PM)nQi63T_f<}C3Xoc^xoAlfDd0o~le6V*So2S5;P~ymfvW@I#}bYNIvWuU(^ck zYgKRFk^*t#Z`M1cSD;exG_BRBUV`R&LCN@V0@hoYWyIhS9WOy2N(Irlci1c(qG7&_ zmc%Fey$WRvYWNBQ9fbznWRF|ItB&$@aj1_dM#yVttA0;>>ulfh7J^?8k2-+Y0XU3MbMlm?p?1B z(;7{e%^)+;YC+my6_KtpMO-=tOJw%EIA!h9NSJt+o1OFzOU%>Wz3AYx|=2;nr}Wc332-SBQyzFDoiG!XTUr0b{dmO=%<|$A3pqg zr#O>I=tieRlSwF@gj<~T$#-~6$2d&mcQgr=3X{+bW3}-6Lt&gq45>G7tU_!Cnd%l2#*nuXIkJ=blRg}4d13$xJw zU=`VwSt#BZ^T%T(5-VY>i(jS#d~)iFS-ra%dTt-Wg?r})H-s<4@_nw=l~DOgxWN{| zFB!qPA`L?{{`Jy2wCn>|C%Q3w_h=hBr`v{Jkrvg$A=7$>wB_c z^a5>(8|=JxxGeh0;#uu%_;e)+TTIcNTK#biRd*&Y1Nrxl=?5^*^)BH%f=nbx=k+vpb`AQ7kT zrhPv2GOZ4=z9b7AzIRmcPuvE#9!4Lr%&g%N*bL0j*PSnuSpz4}#VX|u8YhtzPn|~V znV6~WuQ3nuiFRt$<9~-DWT7LIhHjzrnk;mp4#8Wn&~dbuh7XD5lNTKTOCw)EZKDMg za5mNs(&7|bn{!*#Mm*;;v)rGiSCqZ?)x!vn+CKr(FQfHktl{eAJ{e<^k+Eg_$7 zl#3Z~=FWpz(rkAV%YP#0Ppt*6g7jRI1o;_BCPaF|0Sza3;S07qgpTO6cC&RTOWtDxk#_pLPDEj9R=! zG%?ay7Q>WpHuHJ;&WBs{n%Mc^Go!H`!>2G~mb!y&>;TAL*v5qFqnp&aFpQl=*6s~s zl-iA9OeFQvFh-}ideU5sH791{JK4qNBa8VDN|Et59_35mULgVS*KfiS8@-LN(?D!@w+1cmLi#yVW zFSNG9n*VPQpTZ&uDe*1Zmf-{$i{&R)ilL6x(_xDxMndEzQqLMTk$Ogd-~*mxnO0v_ zi38G|Pm}%KA~M07b`qvpwJLg|{J5yr?H&T(CID~#TAXLBI&_SvC$tKi2K80sS7_Uy z9C5;c;CblkaKyP(J-$fkSb5*wtxAtj4nq?>b(EF6a zFfEub>>B6U;8~PFIdU)}rX7r8aS=3+}V}o3@O@s%I z1CUnv6+9ao@QU4|!FWmlzn?$!$3d5J(+Z&@r7x^s} z`T^JAZ?P@>FFYzO8vHHJL0qAO3eO{^eH(3mVN>|G0_`QT7yq#GM);UBf)6BOks3RZ z=as!VIQZ7!;0+|N@Z+E|jz!*p;{)OOKc#OclwQS$C*Oh{PBsULmyPZ=ez=>IlS>9{~tj-Z+q#kcB?4^D8m1d|)D+ zZ*@wDohcxhLS;D7hK6WiVl#-kS^jan#N$3wRAF2#=0&xvm`By~qqO?gpa|()Lrd&= zgk@{8_KP@4!)a{XD(B<>7e+NPw1T3J5|@wrhV!u&(vZN<;dhlv8<#TScfIRvN4#k5 zxTlF(D*htEp)OhZ!PF`w<1`L!$MW9cEv;}yULZl%Iyd}Ydu2lSm+jh*=s9$};p$@v z+SM7_QA!{8hl+fx551V3PH}YfBgXGVcskPjNaM)!botFhe)^JR4;NcBQ#coqOvZs; zDPe9133D3Q>0D-XJ!VVEvL?=Z>^^Yat^3}IPQO7T%QKH@p9c#hD9=39Vta8~`}A9( z*TNi2%VW9qVWJ8}6Xzg0;VY8$QHrVd2HA0CP=4~$M0WIraT-xw|CFL+m2(D`*V)tV z!!Zsbrs9&gPI`!|0uRgxU5ZzF%~YiKfar)XoY<>S|Iq>Cn$09mcyFJm*-XMj_#>N1 zdE@B`mJ zw=Hd5iv(5kKeOsyh>2qX+$-py&;EMufv(i}#5r7tpR%m{OJCtCyg5Se_`mst)c43s zw=lE~n`pO{{yr7z{2M^@uB!9mfgguDzZXsU!0J4WS$+5^;>-H*KM?3niO0z?uEyU% zi~l22<15i5eUhbFUTEuM;j21IdIPleApp7t{=u|$QWrisZT(?9-P}YhAh@2BCHcB(; zvSjf%kB7(9!7kM`9Wz~Nm5TsEDYgjU2+Euv-y(o`kQM<1yI2JDMj`(m8mu!C*Rg3W z^wBBgdS~&SwkkZ!(6DzRfR}N^;BjM8>s9pkC!=AL2oRXmY$gF9{E^MX^1|Oq!{(x) zHySo&6v{ODq=rou$JB12VaL?@$YzouIubF>n`j)1I!#|AR{jMYSI25d+6F+tRH!v@ zxCFqw-sE-BV+_MIzV*Rh68}1XVSKq|i6sj!k1xY{|1aScbGk}tEn=4AHFA2veJyg6 zr3xHQ3yI5G9dQ_zsU1;x4Qm~KE?Ba32ZRGa*k?v~R&l=4BfcLBVc^RRVDDmS`eTl9 zrL(dR1XCL1fmq>s4*GNGKr>lu>E%zcbk-Mma{AZTrAM;R3%oDuFwu~GP8`L*O6$Ko zTK}0B$0SfFGs!yFkM^R&656l|{0;9Kt%@S#(_}TBAM-Lj2Fr6)|5wxQYr{e3*jl!l z8+|rAI#pzUcAhg4o4(C*MO1Q)6Rj%2bO1e|Ya4MNjC79q;`Z<-!09j6D z50bK-3f{3F>TxP#5n2vcgv31v-%NHYQG_qTjX>NexUp~(;7XH_5Ai{`>2Sy4D&aQ3 zMc_`sorXIDw*{^dt_kh}TrJ!sxMsNBa4m3caQom6z#T{3b$}D#Cd18yD}^hATL`xp zt{iS9+-kTG+&Z{wxKVK1;da37gxdvo7_JRQifO;TshoM zxLUZC)N;7paL3^q;mY6^Cl{zY(ak%Z<9Ro`Y$KKF30~zo;7yxXxosP+D0Z)6!-%-- zLzE==Q|#lFUC5J$xIXqg#RY$V&lqK9Lb}q|K1^BeK$>SNVH5P^E2>u+kUUIDu|25t zw@*_BpwvM7M2a5k8Lg=4%23o>hdM?eWt2TvNy2k4C6DAe>;(iS;E6j?>uS$5B?36v zK1NZeDQYptqtY{8N%krc53e+cT8e;0Ir5E29Ptt+p2;ZYtdUN(laShzr@LDwXzPWdmF#;5v!wAmxIIJ zE}8#$N|(&Fk*@-sogR6sUg1hdUsMew5>YS5!r=4+(RQh8^Xigo&>FQeQRFd5T{G&N> zxcnpebZ|R$8YjOIeog}u{1Y)2#UzW1@St*kzIq&$9>-{$f;*0ppb@#FEdKKuiIM6l zbkHehJ~{`Z0U4}I1G5y+xu0flb(RtVaYW&^z|~^PG^+xbhF7O@2HB3(9ripv?Hf~m z=eZsQDly1?G1!sR;rd*UvEGR(A7HFd0Cw5$k4^kgD^NMj@m;Vv%5;Tv$+amv`jcqTYEep}6 zm4Q6v0Q{%m8sV11Erx4>yY8Q;oMVRSO|Y;nz*%@~K(KJ%fMDU2fMDTZ zfV1$-fWg8|c;K}_zS@XN8!<9XaE%xhs{GC@{AV>PBh@B!QWMy?k$V0kVdE`n?}v?v ze|MyPg8bX&e2^Va@UlSx{8!qXQ`xD6_3U(l%1&k==w-w3UuDBH)FhY6@>TZAAhoY+ z413V4^mS#kf;=`UkNrzJOL9%5)Z2~%0Sb}qMi3&3!z|XvnaRo$#-MI5>q`I zrm-eK5m&&9^H}jn*5*uRg&8R5Wi#;TA!@m67Q2w(hpS6q#l!UfquE8&)r^Eo37Kq8 zF>8UBgYoQILIA0Q5S5{xa-|c#r(BrNfXw_n0kY#lGP3tT7VilR`*2U_JuW@v>dt0R!4fZPbPX3^v;cWX$Y4t` zZkg(B*GS}~%(p=+&-Y````C(p2#5@zDR(BNCb>aL{Qv|K8ESubKZ@_~&V+Nb6~ow) ze(X_-Kp=-b>SwFc*_sT5MTv*iQSN*yF$x9Ocsb&^Y(W-VFq~B&v!5*(gfur>l?{M0 zqFAw7>^R%8R{xGi)SQ2au77Q5|2P3VgNdo-6VL62}hP+FUfbQBQP^;1Lc zAuMWD*{_GN|L}4ydOb_6Mh(PJudD2hWHsuZt3(mA#?NY=W;F{yznN@{)emYd1hu9k z5pB#BU=~|~-c4sUqDdJP%TpG*y&^|uucFd9%EMT#^;NcNJbUy__U16Q-FiRE7g)YE zp1m1}i-;x7Woz<*Tn5`=eTwb0KE!re|H~-%J+=^NPgzb` zl4S^FNk00f0B%$Q5|Yu4?DUas`Ic&E|3eV(}@t~*!wPmvBC1s1eD+Cz@dVbFH5}kbZ z=pdE^jvVF8*ZI&yfj#J$omg*L~@+ zczTVFgb>F)B0*Z#d`trUIIYjmX5}tFq*n%}v^q9kMxM3>~l z5>ZDlisgu$y_Z|SQ1tW)QKq-enqf5N(N?rGbY2s4w8DqglP2}LK?my zBF@L^9I6rTW5+4~w;k7rvDf^9C?Y zFEWuFC@^0ZTNtelA$Jm?W=W z&D`EpBbqVNEOBYonI)tydG+e<)bWO-qR}F8=Iq90Kw-@3;4)B#6v+Oe8_lm$9fjht&*cHKXkC7R&gHjMW5q{}7s7AfY)U zSz&+`!kB?y{Les==r6HeT<1`)saEBh>Sp~}08nKES&e#ICBsHCtQ}+6DCXyV@j8hr zl}%>-I1IAvZo*h@AYYJ)CFf+OhvjM%OVEJYCy5rlN}r@*>?c`lCd*)h@>nU$K#a=D z*cdj9yaLBubwW}WTg)aY6O!DlPtsFrDM~+;!4BBd*X< zWB0Ms_5cg9T-IpMhD&DaSU^3Vl+CK``RawFZ26Rt%7r9V`QORxnl&rtO^$g@u_mu6 zLk_!c{XN^d6f+VAD4 zpS_t2kus2iaecTZJu6wl+f@klatj20LrA_hVZhV;Afyt7Lw4a&kbO zo}A7`BnRNK)UsriU9=BV7bhpPOZNHd%H#r^M#y3{li2d49C*PR=>p`y<_2FfOL5L& zTUW4V^j!C2;eZ;>bWIQCp^ZJb4a(Miitu07Y#MuiBVQ{y}VOvU(|bklKc`5;uXl z%dtdtc~q9<$Wqfh1!{k|p&mQ?$9|kW(piclz@AQ4$09!H;g%r+uu)JS)q95xfntF0AmYccBs99DYuUq`aKQ~LYE zzX!++aAd0oJUKXp0E-CPu-^-Ba?G16VzSwOn0qpiCWv;TddlNwyTG2in96oCx7z4o z>P1hFys;q07emx*o(Gj{o-X*}ntVh*b*Q)Zd{N{Te6iRY!gD(tkvSN6%y7Zbd z5MSId_#!Pq4S5T2BPsC(cp%0aL%o7EhI$9F#oqC3>jB9Z`w0HH8|D}TMi~)fkdRmO zY=*kWJ4ik3?Wdmd_G1Gbd2Fadwe4}b*)y5&=CdYmy4vI&#>yZSPI(a~K3X9OJ)kyw z3)D6*@lF=9W~tY`f`62h0_^c~{<((nR#G_saKQOTN$JEthtU?no*Brm^H2YjF`R!6 zdmq9BvcW(lGFP5DA!RrY5C{f3?1df2(+vYnkkw_Xr71B6I*dLb1}aaXd; zDihM#0gwgcYpt&s^;NO&yAw(sepZIr``J8oC&qFtf){)<)IAuzQqW+t&#Tr^?V0S7 z!>!c${K^Jw*L*uei2y_sa+F}|0ye>qS<9ctHs`Bn=wTVGJT+H}^kyN_FZldytEx8p za%fVxjuBT<^Asg@7`S&n+Xpck#nk&cP-FmJc9`vFQM;Edn#Ag$8Y!t?WVH!X*>2#p z1MC%oYlHtdpbdm|Gv(K8E7k_~Mc_m~JI>On7f{T{&Okg5?+347-wbtZ>TtFlR)!!j z11`bTWvn(;RcEHEti_Sc6!^42`k~+gdBAr5Gaxe)WN?& z`cJ3Y)uz;BwK5TDwhTkbqPx1YWT;(AAzg%e7{THO^fkvn$9m{(&@crsObYUF|40TeMO;Vcz zIZ6{SX+}ONA)4?|!^?$5Q$QCMO#yv!Zw|x@i)#U<-UbG@1L?{IX9gg|F|;!)LTVD* zY}t~`23c5X0vmGCX<<2bc%8YGIrdSmGuf7HGqF4^^H`YWg4IRfqP3jBCF@QC&DL51 zE!Gjq0BzPFg|1mIQRuq0jlfOo@+5%U)-*~}Z2bw?Y-0(yY^w<**(wR7*dhedYzGMR zu{9FtYuiP|2iQ(gXoT%1)j7&`fg;D++6YXrO{d7ow#fv7wv_~mY*7N!ZMzA~v>hi< zYHK7=W*b0Yp=}So?|0?TcsROdR|P)e(`%_OkFcAO$3wo_h!>-NJ0ZrYm& z+_r~O02Id_3fUajsDR5c$_J3-7)T(+v4ygvIW7_CK#;(M*w1$3<$`cEKD9kp+<>kNT%*L4CbT^9(1T+Ia5xs)`3J?-r6{qEdTDy%83HpCuM;Rsyg*=aVl#pA#Kr#~B#tMr diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/PictureContainer.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/PictureContainer.dcu index e5b19895b65fc15a56d3f2f61688d5ec2b0cc26c..1e65a424a0d535afa27349c6c37a7d1138f34778 100644 GIT binary patch delta 56 zcmeDG&Dj5&k;{^SL8QNyfq{GRL@rw`)7b zM3ZQGoj-rxdilc$H7HT7gAt>2!i8mpYNozKsA8If-Fy8Hs&)eHDwMeB*EzXdp^mFi zRc~JTSyi*%V(S2R-#y(C)$HF2lA8U;AgpF0_5IqnoX&#TsZ~)$h*6MWR!C!pBt=EM z)u4))nf9_uV7h&i+fmE#r$tLL8Gza zc(4s(_k1RK8OdcdU^WDMcx|qV=}SuhK}gE{$dU&KUD(luJ2RUTpuQ55zGI560Fjv> zd%d@S1`wRW$@KK z!(BG|@_lXi_##^g!(I;L7zmM|e4b;R;{}dMjwz0F94~Xsam;fpg@sZ~D4Z2avM5Jn SQ4$JrNZf>HqL_l`0LpI+x&vnb literal 0 HcmV?d00001 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialog.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialog.dcu index dd77551a533e036330abecf145d9f808f3f3a788..654b2609fa5379b65464f786b6a24bd0a07e22b1 100644 GIT binary patch delta 19894 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 delta 19584 zcmc(H4_KVlmG|5W^Y5K^h6&6+hWQ^D0SN*n*^mt}i4c<*5{QW!zr;F8MnMCF1X9t) z32JI$Lsy<_98rj(LB)!SDOIdkamAHyKl&{FmagU(eYQv`M3pZEZ*x32-Qo7f)CA9zUin`FA#ybo5hW6*~${%>plNY*E ze`D4DJ1h3wx#@xR9PIqH%c+Z|y)$5R-<_Luf1+h-QLyvb|Y(*PyO!| zLES0S^`R{7VN083SFV%!Ypv{?JN=}W_3ylq^fR*SW-`RK?OIRAEbQg5n|XI>*oV88 zNs|_>N~Qac&vS#K4lllH_qEbYyf{}B|J~gt#&$2I^A`5~Iyd|I?%hPqHiiEOakFoS z?<9Hb?m7=EzN3Trr0}mTcsImOd*eGx#X^5G6%As9lonrIv*!46vWB9mQcNoRii&#!=-mG zC05pS_ZFICW0|#X_Q~DFq!?!5 zy^mDG?yo)UWHXQ4NG4d>H*e6+y12_MV1`t0Jkr#=@VZ22}-`HCyVM_kB6+QH@XlGb0X@2 zs>665WgkafQ1KipcCgGRTv^BC6?JPi?QO1WY~UgAlMdAGWYtf2;2Moj*#4#`&Lyqc z)NtLtaHu)VgIK``_$HUHj5yT}N8q%()RN@u`77H2R)u(C#6x2JJGx6!B5;2meb=?ub|oKFVH zBwO{Q4YBB!Ctc(;YkAU3rrGf)v&js5>q$4A^|GlaUG%J%{r<^pI_G8Xr(AU2%l`H$ zH$CTNw?5^g=e_LfPdS$nU(E2*nsp6(Tbj3o?-8aSN$Dc$IL)BY)-{LgxwQ%>K-9B; zddfqL>{n0OwY^r-)kPLCW0zf9Y$Hdy5Z|uu%G3^u@=SI^ms>k-<>hYH*yYN}5j_5w z_(JK%aPx&xKQkgYbJ%NLS=oBQnHT5OgL6$|W3w>%nK{9@i2bU|6`2v~;y9y`i)`87 z+*rSES7QToJ~Jg47AG@^4#zun=Dc7ii!;c|sIP8mZfud26k?LzUo^2WyIx;yH2 zg}8^mo2t^~30=bM|C|VD-6CDb%uoB$I=tgnm?sTzs0;J#+Na%V$GuZYWlikvr@d+2 z-W=Nnz82Prx-H%o?}f5f_Tke$W`Eva56B}db{h83L-aD7X*UtK%ahIOwHDamD0RfURtz3+UI za=me0S@3dgu&;tP&$CBgupmVIQ;#Dp>-o3qIRdZGpWi5JN<0XFz21)Wr#JS z%=FyCw03WM63-Z0`CPzo-g};xVGPGv{d2kUIqx~1Z&i08H1#~^Hw<_OVhoeWTOFZ$ z(EC)S(LwJZr}1z*#s2V|Gp*NJoYd>nY~jfOD}K(-wx4uZ$Gzj6IcB99r7P^jfSo;a zQg0si4kuA(ee72!t?UOU7nmo#lSzcLoDj56cqfty=i+8zMUxh`vR7{&@s1?X=Y4Ej zZ*IzvcZjV$=}uRIe5$HI=|rEmkA3YV_FTPI>!^1$sUGo*Xv%8(EzI=1J~HMVOQNb3 z>gUC&wKq5HR#DY*MP84$Cy7fRBh=E;R9F%FEEq|27jEvfSvxXyDyOYdAy?}huL4qPCM*9oYcWQw*Ccg+EMS( zq_Rcqo)cuV2W+4%YeN z)!K4V;ZH2|N>IBhmj1g}g4oeM^I|b#?+;(h!+!ctFJ6tkU~XRy*~&KJxs5gV1+l|^ zs?Upk=lA-uv94=(6(ZjK z;-zb_?a2CeKH}P%Zx>_RanHB&u1ExfUBX0! z`cu}-nRP=68x3N!wKS+ob|t-6xYCf2OX%kbe}OL*WP15RKFlWiuffiQys`*!;F?$R zvAMn#>2Y=h&k6QjluWYeR|+tPO|J%7;VTAq?W->AK(@c?!w%%&s|9q{&%XU?EZeUkeh#o_nnrTkgr%O4xZY{^q5tu&*c^ zxCT3lx`9RP-q$4d%s@Ui#{W3*73?5BA1KAP{BwkX8(wz@asqtHp(Bb7^i;1|Q!ndA zgbiL&^+?0)k=H#q3G}`0y=9SL*3-|i{k(op>)u*~m&c~{U8FccFe!wJy8V1Y@J-)i zb6{AUV31-AjbG#YipPl51^4rv%EB>Y`6)kH#cn(0g3H}^Dgc)|fs!ir?kNvk?qBiT z%09z$8*_ih1(#d)9gnuo&Nl`j_SNsWBP}8wjyF{(UsqMt*s?#oAsjjoCMhb_bBE5i z37)zHj}E(pcvsGp31WSM$hQ!JnADv!I|Nfxf=P}uT~nd-=}e{IXi0Dw;v8!m`R4FU zji9%({6SZwU8D~tc-7URx`yU=Q&kP4HXdTy5)|DH;nwPX;r;vDXsT-Zvmvp2Ih-Kt zMOV2Boc_|hARoPmT-A6W%*ihrMYHVzai+q67HUQHt$R83dB31`u<1cdq}?VQ{&-x{ z7lLQEO$5)*II$2B5^=1JQq_<8U0i?c*Wh2Gg^I>X98LCd;sbr6b3F;72E=>nnmO&z zfS~m%G}ioGd)kh`jsOf7Tgm#^liyv4IsDFdy=gUpnk32q`}Dhkw5mW=QrRGLzp*fF zU0_{O*$~_G#?_do_r0+Y^YrOAylLA4?e+^TjI!}JyoeysmJ1a7Hg~Pb~U%` z3#%m6V}(MW;y_ta&2i>`)00*ns7WfDU>o1`rj`XN?QHKG7IyeeXWHVxjwFUD_R5AYiRr$@MMm=f&>?0f_wN-Ga(4G8@^uV;Si<}Rzm2bHa zQ+B-NMohWyEe}pAPvU80LvQ&IQGWbZmd?76kLd!+4n;H7H72ZsEbDtY2ra9==R#nV;^`n*6|BX<28>h|;5P&xtui`j3#myI}(`L-vsJi(}5 z6FYr8I|rUstom&aB10pd>)5y6_98O8f@cl;0iIjgFY(;QOv7$OhJxWtXDA_upOuwk z=E=4+9G2NvhqJLhJv8js)yKQC@+r&80T7!KwPGi_%H4Hb&2Nl=*peW|j&!)M+t~=} zkqJ;+8F|Nr)y#uu8~fXLT>isx{zB>Is#Uw1>-Zjk2O>G-heACm4*I8kF5df@5BA z^dvaa5Tz>b*&Axu9ovRLN~dVDH^F1LJ}i#7*W6flFZY=(=H#p95Hr7PjdW-6pfQ|~r$x|<$F$kc=CZgo zMlMj3gI1a7&uD^pQ9x7+^4LY>L_qWla`||IuB~Vkw+B2R4t_Qv$P)>w9)^gS3BBxa z@zW#L^mm;Vt%7qZ!TE)q9eBfnemX(dt=qq!&Xfz5vkTdaBW~T8lbdmFAsZiY=+24E{6cni#ICCm z20pit$?s(?vo6FK^5e?+xa4B_3oekV(om3@x%B9YEyzQ6amnie*3 z)ncu=<3e|B$Ss;++y8!JB$UA~#NJl5X?A3+J?06jc2%l$;S5z7RaL3Xb)cpmfq(*i z%<6x|v?ch}dn-cCAvA3Zf%9;pT)XR@o9lKr*YYkk zfpU~B|A)89(Ff1{!yD)Rftb?xbu8IoTnSh!<1Utjj4J@EWn9FPFv`QmaEgq}Qc`Cu zK}ILzN|w|cmjhmsaUV;XjB5eU%D9XrEyj(2%`$FcNvp8}aJ!6aSaQ&~6tGurL%Pj) zjA(R3r;`sO7ddP^!n2Z2K8oy7<0Cw0(#h?}wHpt`avjKZ7~fVZq6wXh3t4j9m=Cc! z8CScc6Y6yupOCwe?l$g?$?QR{Cz0z#uGi=Q=t!T@2W(CuZW;TjQ!d4fN%$NCFCgZXg4VMZ9 z&IILtWc#7V0HEJ!CcV*jKOze+t4ZWPr%6!8krJ|VA)EI%NPcc6TP=jR%co;AW&?9dIEC5U(p9$;+_yLp1 z=K(L0B04gQOffQx0dq*t1I_{XFt!381hfM>0LKBHfNnq!pbyXw7yt|cMgUEKDZpvK zG++jB9x!UdD>ge61`I*@d4Ms3j33bNf-n>e*a~Eva$zdG0)wfx>Vu>l244kbDy0Il zNV@^B8L)+{LwS|7oR}P>2Bc!RcDsE!*{0t>@{lgGmkL~CUnX!RXuN!f9ZqW|TOo0q z^pyhgse|l5^-tH6khFn>0U-?bryKDnk3yAEjM^wv8H?f3=#M@od68kf+iF3#W>b~n zQmbKezyd&QxN?x>!&MBt7;vfKI*;n{;UeJS!(|0d9xgY}0~Udn2h2xn+ogtU2Z&P; z$cO7R@HAis5Ff6yNY4S1hs((8aDIRouIRs)J%(`-A z99>|Qd|{o5)Sx_Wr1AvHCgAG`>XS%L!El!VdCKUg^0aY1Ez_E5kqv)j+E_u$wfECi zTAB7ls1pTdT8clJE^*4lB-5ob9iaL00@G5u(M%SY0(3<#t;nT2G!9BkD>(hMVVQ!~ zf-WJuG=_bY$S&%qOCjG()v}LNY9+c(yM|T)D`m@QbuO(gq0>fF8r^`clgUgsqxAxL zTh#ZjWJP4i?KuC|3Q;P@!lc5^wOzW&gKwM!rnNBqJzR z^V{T6#a^Q(7rkAgI|KCg_4M{yG8(h1L!L5abAwJ{L~G4-)KsLPB?`&~!AbAJ2)N`q zQwfc1G;{7b417rA0i@Fg53&jmd?d}q=_Cz~;Q>x{nti zlTG(oXtRSJa3ZhNxLwXmE9EuvQ1O6S=pLlE`=Yl_BVy&DR&xL}Ff05UMV4tb}bEQ9U!8MK?QB5 zwXm;)9#eYcK{TUu&P5L_5j|Tbp1Jg) z0+12*|2x5VSz#OLVjc8~_WT=hh(5ABO_PyZYF z3i`xL_t9AG$S3Qm)`_=0aj#;o@w~>q%P;cNK_3LzizHvN zrI043Q7PS*PYK*PC;I5mNmeO=Gv~=S(dw178m}!x)U|=ZM;FOH#9A}muo6vPsJ)ji zc>D~>jQ;BX5RE~27DOtAS;FxeVh*>24jMdk$dFHm4KAcVpd_VKOcr&@1{&5q5KDV7 zSN?l?Bu6`bPMrUrx^x6xTJhKG(u)7wC_QkgQBn%Cvc#xedX%C|&JeE{#`3gW;aG6g z%e$~gu)qUdbjlQ@VU3LrnM9nT|MmK|>%=rTrubYrT#<+3FV(|_ka`QvqaIOndw_0> z+Gj}>I>IOD5@iY|CgU6yzF2g>eAjGr#mk9$*%zk36;$PO6qDObl=)Dth`EA_*$U^C zPi!a|o0&?Ti+Wawm~n}4fLa?bbm*@d5w89cUo+fGM+`S%)O@rKi{fZ>(=W(Xkuifz z=V-2&N%J(Fj*I-i(*p--%#I352jc4oU%$}Ji?V$A^0Y!>y((^e>vI_|<(FqL8g+Ff8 zGjTyTU5Oy84jWiqiC|3#+@_5QguHFqxV*n)W(y6*;tU@g9&2=$hG^uM#9m9%ur=fx zpJ3b@;fyQ9kj|MDKc6!#7kR!FP-53bQ~t6uK0xczlps+a{p^?IDlgxe-i1FK-HfNQ zA+9pZVe^xGM;wk;{EDoOgv}7Rh6t3;kx1601^&wE71WBY`mw(W(mamurN`EzMLwh5 zl(wa1(_=;S*kTQmxD*iOrzt&V6N3glqsxCyoKRlrp|Wvr)ymTgR`R}0FHln&HhYjz zx*d?q)0cq4iRI}@=a)ic<41+9oW(}ArsLF+4rBpH05h$_vWK?$#tcQY!KqLqmm!zZ zTAXP_bSmJO}mLl)Sz_oFPkAyOGJ|u7<7`w|F#=V4c zm(_<<6QB(czsu@C`Z(YccUiqCZUM9c4g&aH)?vU=KszA$E~^vy$+4;TOp0)`}?jF%HoIRK4uUn>P=ygVRH84WVt9gvoc19DqN>E zx)gs!bl!k~pOG*_soa^7N;)%eb&z5Mmg%~b$Pu|WE`#)yd?lR}n!Qm>O}ldb?#9VEncC?RDO zs}*(8N=p&-N00oL_|}9q9pb7fl2*#S77Vmy3w{=1!34&SEYj(m6-nhU zozCD^z1NZ}_gjK6Nq~l3CV42Tnx1uI55o<@Rz6i$&#o3E=)#=ezz2J5vYM~ zvo4{pzjLX=6QBj?n>PAZ>7`TAL%$=z$}nC*TpnKk650_s>+^KN?m?LU#qWqe(vo4J z@1{c+AoTE0a<4TTuQ+UU5JTLa;=usm4UW~6ln%zq_~77z2Q%NQxXE&P5T@u%u>fRx z93wDd_28X~k8Xz5k#lTLx!6YKa+^y%rjh6e z0l6xkbkfrrle{CI4aoKJWKce+2s~)ZR;sy#+=B_Z_@2o{PrB%&WQyGo;8PHLJdJrR zZVlpCp(%59HJy@fqR;2c-8Rf1kC;1{KFXhio|eQU>a)po8f(A+@C@*f%|>UXLi(Xe z=C372ciNovtn>_g(L}pbc2GJeeMg+O=cHVud6;o=jF%WmLBW9{3j%|U&P(}7=hBd6 z4X%zJ#fGqy?#!o49paFo$2=H~-hK{t9!0~Mx+1zE8+^OPE|QDKH6TX`{@C5 zM%#2wGz!;I{xAx)^1Q8to|9I~Mmv7-Af?NGdkH0mB{JT4$dz`VTm#sFbe%n2Zn4W$ zZFop-1J)Zh-zK+%*lE8E_UMQCTh&kc-92c zQhHQvBBOQ_J&rgd($V#QzznH!^5SLqSyX{MVP8u}?Ii@!hD_LlG>2c#s9khOy_^mU zD4>&Sr=V>>hdlDEU4->n`ySeg<)Ssk1dC>i7;d3UmHSUU7Q$J(;)ovE?+6gT!zC7= zDYY&7^FNTQ()bEn;j(_SzMR&(d0oSEY}sT$xy;I!b!T>HfaHL$ zb)oSR0Dr3}(RO%Ah+v3#>>cxiTD3i%2 z5^x#_jzW=MeQk#Q;pY zSs~{lTLeI`v*!a>01CO~g?@@@OCX!CXC`2L87?egN;!?a&$PNo@t0`FdE&AT+E0*0 zdKgMy2)4bnLw6JG_uhH3Ia2H>p|jW_@j>5;6>=OQ*sY68bJ8+HEKJ^ zF{G5~3uw7sCN(Y_T?J!R>TyOgU?DSb>EA#%1EShdRBbmnX@?>EGWC8<7lo*WjJo)c zmjXPf7^JHVh#v;rgc_D4IbkVw7w>*X>`*z#J1aU|r-3Ip@X3zI^Tik!K%c-KkZ4Xv zaWd;hlsn+g=`qjXgIa=~=b|NCavSjdgA*T##s}Jmalb@167vI2-azIM@8^YIA^K>z zy^4e_l|FELremt(&6w-9q`s`jC_cdb;UW#cq%(MvWWR@xB5q3b%TRAU-75VMJ<3Lp z@?$svx%k4_f&Km^A)TCuzC^nc-kA$MW8><>*xp3cSWff_(jSx|S4hV(yqyMKYZ=`t zT%i;rxhdBG zc%j!B8%z zd09)LX*G%TLDfE}3J|LHK~*Jxk*Ypy4{RVMvj^$1)o6}SLMKEn5u-h$E<`gGP`n!K z_~PM`5P;tl(8>sZ2&e{bK*by?x?O4DYl<0#PGAcp^AIY-hj{)?S|01b7Zoz0wae(A zev$5q;*nYVqmXwJfaoV=U#?B=XbrJp;(mP#V2jXimEj@i#e0PNR>OAi;UtAwp~x#h zo`?K3fSWF+MPfw0%r>Lr%K&d;WH3UACRg0KWoXZVs!Qlu^?Rt6xROe^$2;<3XONym zM20WT;uJmsqxS2fPoz>GHa0<0g@)sS^E> zq^8e;5M8dOnYQ{^lTNwKc?)TC7SfM#O&Gl!vbu zh~bq;<9g32(QXayGoa>O_(MX&(S3(j|GoSxpA;c0Fl}aB()0 zOkVz%xRaTk2zxtH?j75B?5z<7aQ+>0t{`L1E%55qz(Ih-LCnZ8r$xzU#XI~y zypTta^b5SvZVh#99^=MSy7-QK4l>Uk)S#uF zwda!M=4BO-ysSbv=ph(1fXd z%r!I1-C2dCJ9?Ln-k39vx38VJsS;}hVj#yMt=MJJZtS+sIZbpd`ZFEPkJMy2@i9=m zAA?yN$zT>fJirB(g?3~)@M(>QR;E_aV-A=#p2fYC10$D|HKCdXAOT|PU!n+~GyJdE zNa8Nk3Eqg}s+b)o<+-dPe3KNURfc7;8>nT-W3O!ka$*wDX3Q$t0x(mz%+uMRD7vqd z)vlHJl&KI$C=dQy!g8c>rgH%Cd#&4n6~->v?^=rQo$|r7gkHZLoyAK)jObR_@;r{k z{urZ2F2m-R7%-ZyeY6`d zZJ`H(SkZ2!1ap1Dm2^|BUgD5vUD01l)E0dd5B?RP>lJz4wFg=(k%_wy-+p}qaaUIJ zlf?)8P+{gF1iwS`&<}Ywoql*fa!%Uoyd{P$G-OyUPIkl{_mc(g0&$}3g_t1=E;uaW zc5H-Si`_&w1mt43i!O+`)8#6+jV^FY@;0|g;5xS~@Im)la?qWRfMuptZV%Fm?0mVy zT|qkBjwJa`+JzfX-o!Cbob*^e5WZZzESOV9apU)ch#5TQlrf%GlH)vyc(-9}L&w2Qx*NqX%KUL$s z<#8PI;Jj+DB%Cl797Eh42gWhiOY$WZTWJ}tpK3ZU; zfy{P~52WCqL-bA~4My5MxS_u+ybs!nFQLclK8Z1O(pKCFw0o2oy;C0aRFlD&PW{4r za5wJp#oT9e%4u%JsBEIn%t22+NJW1R(Q8f6aS-}l9@G@XiZ5Y^SN`W%tU)yLV4uk^ zE|5~xy-Pmp$;Zt!znnfBQ+g0e>%9&d(c{kNfRi3@fwY82v$L^Uxw0A`H1n^&`A5)d zuSDB0`}AH5J?X@3$tHTQhdy5VgNeH9fk}Y889wrCuw3QqZo!Z``S>Lo>*8$2Itm3slvq!9P@>s%{N_%uiK4 z8vOX5MpV5T{G$V^>eJx=B2ZPo2LFhGss=Rp2Ln_!sF}0?4QpmN8quhE;izVw=f*Tv zE^S+k#236m-c9TdA3)( zj_3NcWgPWu`+4DjR__I>*JX0lq^q+7<>^~ETBL8|s929*6jIe`4; zNg-9O(&KlER8^@T<;qm)hd8Ry&vUdjqBnBlHoc#t9r|`&8rFAnRHyHE0oCjKc&~HjetG?ku1IX^x{osf^bjlGGdxOMZ?SS}NygMjGQS%u44tIxE%i!Z~R+pI1CDE#{?a!!SpBL$L$MXz0rXT3}ejk<}3T Ee`b>{yZ`_I diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogDE.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogDE.dcu index 9552f8b96e982ed99f7b43cc309e1f8dcb012e66..93222b5e53e9f2392273485327bb3a3418d000ba 100644 GIT binary patch delta 50 zcmX>lcuJ7Vl7T_w6bAzX_u`3Mn$oN0Bv~;P2!tdSXS-x3=H#clxat)o7K4O0`qgj% E0CRZ|6aWAK delta 50 zcmX>lcuJ7Vl7T_w6bA!C)%1y6n$p|5QY@JY1VR#vvt2S1bMn(&T=fbPi}mK5G~4J` G!vO$)-w;{= diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogEx.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogEx.dcu deleted file mode 100644 index e9f7a717f7bf921cb79969075cf7ca164eb96d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8630 zcmeHL4R93I9e;1{a#_M9IV7YQ6U?PChBLVlAyypFgya%pNdmb$6eP;ByLUOb+?{uO zkTA7sAxd20U~RNAXth&H$2zUmMjh-2B@NV0M{EltL>j3zpwpT`hh!qfr2qGJ_ipbC zoM~q|&X~;I+xPyz|M$o4-cp1LUbP~${i#j2-geFBrx9azagi+zKF%NXI=ZJ%-Tovp zEep+dwKy9bjZS-WYyE4F3QL)gMGv!wxX47qz%58HIeQ|K*o6@CWV_lnZ5Dayjb#_# z@?@_F2K^!zxOnX|qQ?}G!oGmF?S+nGo?Lgp#|H(`89&Ny4oIR`49|MnbJ&}wO0hfc zi*o+Rg$?;$?_BMyNt9M{kbGqDJ|gP}sUi z#ODo&0z?LRjjnK1-1_F;DKA@F7peDik;q$pJ3?NgquVD@1Y6szoKGCwQsJFl>jr=7 z1fgB@oN7Ms9%@D z$GtBd1#eR*pVD*1IZ~x+0wV9W&ufG9-02Gl!EGcxyuh}IkqGCd$>N2q#$dRM<}J%b zF2_E^dx_)Gh!pH12X<(adM>b)i@eqJWTjPkD1eIk>6j?xtsUf9zF{Ks`xkrS1q& zPTzKM2^{f)iMFI-jglN z<>$UXc;=F`=0GS4vbACP_HZEIYgNOZz+$J}s%Lgp>LdXaP^n42 zzw-1dju&!)waFjcrj$r5cJZUS(lc{B^IW=vP)Ov$WPFYk*d^8CIJx}7uX)8HB^q&x zYVvExuP^nM5tCB@koUTnbU(pen+c~*_(lNnf(3-Nc|1N|RNNqC2{y-0bxkno_J8ax zr14NVbhJ|o@3b&C8JQCJEnz9!+${UAd3zW&%T zhOdd=l8tP@SD}n2Vi`FYy_Zgf@~sN-OzxoZbobd zV`9A?=4-TOmjI^g_N}nhwR<;Tlh~3w`I?kc+soIa%iK?R+gz8DNTtXHdJo%$&^Pxz zaiFYXPEwCJx*=}1Gw+-$M>Y$|O}xJy-N4mkzBo`(q2xTN2Po_I6X(8FiEOl9Qs}_{ z6wbN9_6^3qxDlZ$RLN@N9<-9XHri;hBfhdES+iO)iX(u%uPWb;&hIX$uo|7B-&2TC zg~@8FYugqO!>}{qOA2@0HFF$y$nBN|ri&e1u5tl69bB}SWc9^?=YCRG)*V-h@oW>GUt z28kb}OGNt0UG|L9S!)(NEJQ`nWHf>BX;rv2#eSV|dV>M!5hDH2Wu%)_=^lg%r$Blx zb7k@B3O+`hz0O^WHom${Vi0F7S z$qmB_DL}Iuj}S{Dv|N*4eg*mT@eQO0iS&XD(iv-Zy)qX`evKf%MU$UeJ>&sc=K#nK z6WPxjl7y?>1v#}$Sv5acE4xVwGzSE+y8=R0YBje7>is@`3!O6M2<2Hodxxf-c3;X^ zNN(=mS+5-;&25V{x9#%H9i{SZGnLnq=w*_h=;UvR5@>OqlFPSvucpM7UP*>VKT7mK zqbKOOY@-ioifB2fdK0T@c%)U@{r5x%w0lM!$sMy_Q$fr5vMRKuA0j%S=`-rkT1IR7 z!7r*K-uc5s2XuZ$9m#$SYdSLIBo?Z~_CIo^cxk?9?SDekb3^*vgC1RV#b>}Fq6lU{ zf1zSZ9r^&U!MX>Y0G?$klON^~`LkGALY-b&jV&ipseQB6

50giQ!B z(7(!k5H`hV3*UrTcrKV{XuO9#jnK|r^HH5~#6H?sfvPNxZ2|S3N#8lhuM%b0xDPL+ z##PKz&2Ef8Jp*xp6^PX;(LP6cmeS??kP#J)1AYEkqHeiH&QHo5Ac{MvggOmkiM2yqOIa?(I5bSY4nw93 zh$){Y1~+SnxD>T<0a8&yrL<_6f|wLt;{mR+n&Q^PaOs97;B1q`H@6B~l%q=pgBDEZ zLqZ;`HdGs6rPurLIt`njoLB~xDGUn@3v~<~DuYrbwuOeqPWB9`k|L;*QTymEm#Y$v zGTYKuiKr4YR7o#GeDi6bOl2}bBh{tBGMC911>UCtQ_3Vt^+h#$x;n`+kPP=|ka&i5 zbuviR+^=EM)yaMec}RoA#pnuUm|}W0OvXYvL2-RCT&6-9px*VXxb&4G8bn>2_?{>;qG1JBh${UN`*)Cdck?llWBtU8~x--20nMCFkgAAg-E zg6Q8}+J(9j(fYq%!lnT0PyYYcDesBI=ANhOI~$K=1tJB&b?c>=+=eB|DH z?jA~1Ipka`k1U?-eOLOLJfzdO^N?hcUwNA$T)+gVQ}U<1lYr9OKv27$Jpm}dxaEJX zarU)bl1F66C2H^DL+(yD*d@%|DD;(rj%$*2F<8x!ETl>h4Ldlklz>|pyIv5=HI%zclLIkWhX8r`G7(eF@%^*b&c zgxo16sG766BIYJg&}xn{SF*jA(TpEZ^;ekp$1E9CEE&|B zKNz!TSa1G`7}J=-G^Ut87K2YH=4Tn~kPT{nmLbLbEQ8Mc5Rrd`}oU$mTOcE?GV|Ov5)e zmXJ-Bv6?KijFa%4YwRVPrN#-eEH{pkrOp^7i^G^@fTh_uNOmp8{bX5V943p~2+s-( MT4x*}ONWvB4{|c_00000 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.bpl b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.bpl new file mode 100644 index 0000000000000000000000000000000000000000..66bc969688dca1223c1ef5bb768827a592672fd9 GIT binary patch literal 170496 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

1tbK;ie_ZO-mrtWqHd@ zn$R;a-h}Q%lq~pej*_>Rv-p63*5?krp>8v>!#>RFVIEXWiIk?v%oIXp@GBEHy)a|P z2_mi4ZGKEpwB5rriHrFW7^0o$Mbl&?T5q=eDGcDVB{8~$g~IOT5tD5yqK|+Wj($$9E0kg;(==k(ZG*9jDsce$zCh zcnq{2&Wlv=;cJ*^oY(;kNL}p%JI|14fj-b62z{C~p`R?$2g*hE=qHT{-8Zv+pzo)_ zx}QSkyRD;w*>lhbWWTLvAJC5g?bD~GT%?v}<%CPzEB~ae9^d`MWJaf3ML58unqIiX zB(#^St43#TdUd`sg&SjHFouRP(}jXczbiXIZXn)Xjw>g(P;s+ zthCzdwB6>Hf%MIUbBXUWe(Xd`Xk(2`WBIDh(m4aijx6Dx9}4v?@m<-Rfi!p8gd*!q zbuh^fg>7wHXVx|=pW9?)GQK^BWSjx%jQysc1az|yKb~Rk4w>`-R;J|J!^s$}fyxs< z8{_2wwnk#iNXB@$m!FNXE`XJ3{`Muw7_nY{HpYCx`t?+mDZ`DF%6ymR?>JGul2zy3 zJ~#9hIKC7qI!sbcraF(yKbt4OX*}bXC{U z38>xbZBLQR{8=a;d|WuJPiE~ep{#5(S*#Z^6E*XZ@zEaXR8Za1%{~0;g+x94ioouW z!U<_(dU$;?=#|&Q>vX)#1^loyugfzgTUywb(Gve52y>DK$$FxX*+)&!J7eA%J;J;u zVcz3M<~HV&SUQGG=CiCP=|(+^AUe%-^GAN?4VgDY?v%A-rOk0rw|?%V4Y5QTqA&8R zZdtW7#P{TPM~gIpZZSz8R7)9Btic>qrj|WesUIh|#PV$)$aM#(hoy^iUbMv2pP?Z< zF8&iv_aUGLBf4AW)~VOqv?~yp4Q9Ed9jPCx0wv8(aCx<{Va_v6-6l6%SM9Rk+7{vt zjcgv8n=ki7YiLTJ1B-Am-4>^qDBhMLdn9R*EosYS-Y*m6$mTjbW!5Q9YV0ztgN;%L z^T@q!S(}u;MA}!arUdNNvV9j*9TxFb5Y&WqT%r_<;!=~jd3Qk5Q$4J4p*D!J(_sl2}C z#-Y=VhPjq)CX(4d09qrfrc5on=1a7X%nN+H?(|s+&q-g;=Xqi{tv(ap0!KRc%MyyK zO0pj#DBX6uOl(v0hfWU1-(&IET#P$WTip$p`D;CEq!F6THzcSYi4>vwEjt3S)^mnv zp_9XDdatm}LY1R6rj%h7O*WCx(^yuIE|cMiX@H>Y3`$EgP-t$UdUReN#-dd^I9aNL zbPcCv)N@jWBr&dIDz^AGsov1-!;|6mXgDXbs*mbjg>7T+kT996e(uNobTagV8k#NI zq_?l6luNnEqdJc*#fhj$%o&!oP>*8n#Z*>4jf(1$!fcl-K$8rdEh)RqQIe9mkY*q@r3nh;B=&~XspB33OHhLj3S4P{zn zdB8}~>>@9%{vGm9B&4`}d16-o4B0%@C%8wU^8G?x$$;$WwGl(LqHG=Z%#x(TQnVJQ z&|u$Vu=~@TbKaERxf|+&rq#)B7S>j*)qAa5_3*XHP*Dw))WEG&Ew=pb*e}T*t=Of6^t=0VatMq$!t~K;)I+mS zV#mh@lPeAt0OPSe-uXo5=1%jn?Sl>G7vO@`)H#lfbv6^uT)j(4(9cAA3yKxO7Y$~L zB(7(|MNpKXh0(4EibL;W(?NBKp&DVVeNxXcub(5?WCkW+v?Hj9{p^;`Hob@>gALt!M9sKIr0CjpGleM zXHuk(>t~~6^mF^!eslg7s8JP94%DKiRtMD7m7bcqBB-VgN{OtDFJ3W7)YKJ&h=u2k z%3G?Feie1FZrMhtsQca~sa|W>>r;00KZ)j6tFM`k5zdt9iHxk`Ff-|{^Rnh;1+*>= zoiy0%~o;(HroNKw#wqkxhm`C?ZunGbr zrX-HASxS#!1z?sD%+C4k75C=VQz*3UWLBEU6lHgsD)yEitzECohu+bls`U6xTbSp| z9?$ziIbWA7djaA(&)n5#d?>5$_|VXd@u5wa0vnGTA9@|PR&$^AruHljL38>4OA!gofCp8seG#d=2qYdX{L26IDZOG7nmJbY3=%68||L zDQ8lC9&{9M5zR-FWpt*dqy;oRk*)2k zq#C697YPa9QxXolB&g|;APzH8NLVJ;#+v&eo*L9ZHL}JfGr)Vi8XR`a8vDy}KBYBK z5UjBZ>yFMF7vL7nz^k$Ul050S+q$sOT}6Wtey9;QZ&1`N3o!w=>mL^9((i>al2XyznqN#O!M$;A_lSc)k)3{lg0WckN_e@Fb7~P^@ zvY_{)cqI!;3;5|2;=`z?+NqcJc*P;0>djWk0A3UsZGI#UZ;^JFCpH%0#o(ptlA{W* zsUe{2tq2*!$_2;v>-`4^FNm*NgtxfSAH~gSoj2S(%gB;eKeTo1wQCj+_I&@q2&TU4 zUEjKE*Ek%SYBGC;D6fz8sk#Ka+d8q4cz+iGN6D2pq>aX2mcRHk@U`HbmZ8C_m?S72 z(raR;6J(YKv2!m7q87GEEesWOlaY`1Brh~!c|l&Lf*GO-G?{w_b5o1EWOI?w-SW~0 z99w*uqc8dH@(qbKnN<9|aD97*D+q>rM@pz0XyB4vsJ9#ow|?XXlVZoza8K7 z4}N*)yx0NbCeA9pc!=>G#C%+=5bN*J&w>Tx74Zed^`Y^6dpcEPcz(y@3i{=9V`vdL z&tJZm4EpEcKUHsBO@`^6hTID~Igo~&Z@Zi?JZ5rAt<+C%aws2cgl|CdjtD!SZ$9J> ztYjXtau)?7-+#z=9}D@vj1+@m5C_~>It$z-*phLj#(UpAA@wF@^U5ji69aB(HMyxt zZta@S_b9#V-HRumdD!}~cdbSPX(a2;^YdyqnXigQz&yK-@MEL)*ai4X=wO}8c@vqEB+r}J4@XvKdxuS&CuNmDjthriG&yH7Wt_PnjSdkP zkIbzrTZq5B_zg~sg&9Tkgvl3?5wbwkV7gBrBs*+4ki(pHHSdE-6z@0ftvczDbEuM# z9tkhARij8Sv_k+Z^VE{#T z8%IJ!6Caq+#)7F%}%_A^!RL* zyN0kh6&YOeu;{ZBnj*3<%80kudYJdpi72|;p0p++cSrVKQT4Vh4uUDQ>Ov>J?pO(k zhxw70K(i#!>?Y7)o<_Iw7pVvJ$I)PZWN|F-ZJ?pd$zYR<)OnPy$0BuPUDSMq!ON`& zcZC|PEKi@5LhaV^W0$9|$0k)YksQn{(v6xDsgeeBq0LjY2Wd&xrr%(vLf58?H*!je z?~nUC@g)=`F6+?@qt)2Ko+_VjzXeBdXefgQ6U7Q3<)J4;qh ze6s}7YR_D;4rGt27f-W5xUnlyybh6mhU9avt}ERu<07a7QfHjIZ8GnPZF2t5sk*Mz zWZuCom%>?AsSs9aGUrPQR*|RFm!jQSR{0hD>P!u%74J;bl-<3yfmE!XRo=@z8)cG& z%g!=~jze$!sV&eEirpssw9|P~TtaK3St#V#;xZX-G*5}!Qr&1S5(iW_n$bO|ESD@A z%`)-UAxT>6+tRwq(4Q45rwEm@5qK+22XW*auP0kEcVl`a%G9+lB94a9scU4Vw_Zf! zNbQ;Zu*0ZB%u0pNsHX!oh;6ko+qZz)u}AnXm2CVlS_x6>+lDWfw3)XV9Ua|IB?C#anof&zuhr^WOs$Jx`>Vl>k&4$6$wGPTv+<`yg9@QtHJEhi&?Ilw$D!C%yZV)I ze1rKu!I0YK^ur(F^v+iMs?SGLt@ARb%lGyb&HR4A5h136)~Mw;ba-bizY9FVdhACg||vfpS3ehLj` z6x}aTyaKwf9wZIYY}c5kksLcN9IR+|A}csE`BAsrSuE(p;uZG7V!z#4=Y39UU~8Xx zY6b4(%`~?ckKWz_YKP&+j6;n2Vf08>)cPLAS1uO%l*rlDMUn@u^FNecJavk{!Yg-9 z+LhjqU*WZ%*yt*6yqTt<3-3`wd(LKWmDgR~Z7@5@Hc_}jzOdN79+lu`pLjF=Nu5ca zXeE^4_c`2h?JJ4-%ji=!7B-S z9-zVK+u1)AU1I1@h3m&YDWzae(_kK#?nXxv#L&hx>496x+Idn6=sq%O+q#L6@u#Ci z4^@3C{?tzVLp+-o7Yppcw@FXKXb$3_Ijw4MohO%qOFn-j3QIm6r;ZP$4H_Sc0H1W> z^O(~B*dzX4KPRrMItO6<_8mm>u(A?iUKQ+y0Jcl8^@6=SfITeON5FP`-DOcb0gsh? zscFUPjN9BP;U;^{zJx9W{WPK$g~S+nb-n)lKc^8Hxz=}t?{dnqiBMVcoJ>r*w@(R*-^_b1s77q9Op z9ZrKDnt(XG#MU<eQX)? zo4@@_GA5}hn~hm1L3entR$Y)UkR=MMcJ$QY>%WQ^1WvQI|mBW29A zZU!omF$YZXcVXVEd?EuX51V4XM9CC7UGX6qB(%=GY-r8Cq$uL!0QP%cpur=}JmKd= zHr2&j2`??CB-v5GwvYCVh&xfR40M{yKsrTO${rVUjFiYu8ok{O7tWAf-)*#J{$Fou z!LNOja-qaLR{hYe9s7JGJUr;I(+0)tUeWuD1miq!Z4t1+AxR zxopklEyEI#jWq2BQM~R#0}(N-A}L??nX-OG;htPh^t3~1RU4hfJJS}|gAYOO(59hw z+9KU&kG9ip8QHgask6Q`fUtX!3cbSmy(;zvM|DLJ8BOL+LOS=>2(eA(CUL}9DCGrX zBin9gmgKquc~FA!-b{g;2Zr7&v~rm$zhT$t9Lg}0qw%X%kLyFa+oZ=%p{#$|; zP$F7tjpZ&m3U~WJQE!w%nl(tC+wyig?egchEPqOB+V0;aXkBEjlDF23^2l3jhPdQu zs9Q8arraKRik)dGk(yTW6j@-ATH%67lBVA0tG7#ZC~9x9Ao>NU+pwzi#U zK^imv$To8-(l~{!By9vAZRfb=14JhL-SH_x5-7fSTZr3$Wjx#F&4T^;hRnqxt}u>2 zwUL}du`>x9ujfUE$cm`*mHeTF-0#RtjXjiR^W}r+(R?S?JAkz4J~Is8qzGeQ-}VLe z8q|Hq+H?8s_^CHF(ly-w&D_X~D|0Ma!(^^>$L{`! z@Z@C_>;FLA@Kx$Oxd5WkJb<`us+AxIi6m!N#V+&d&zZC6^(acGh=?`quonV$LW#M7 z+C^9{6^YikRFsO8#L`t#JujOyDdN&K)^UieSRO2Sh?&NY_vzkCrRRB=jf#;5@G$o& zX0t>ldEpx|g%z9$1zd6IA`E8J(gXa;jh60>m9G=G=Z%&28h`(OoT<*=d0lfZF5BjNO4eT@irL0bI9irEgnn}H&mv6q8^VMilFvY+ z<~@Audha6NLz4L507+D75<ZJz1?ea~NT=oJa(k68VZ$4NmG{Vs{}{vSzn z{L%C67}P!mg!_9xs%*{lQNt0f)V~g z1R*v7vZ4JriK7=+YbI!3o~L&^U837hwF7E{c}!6D5}FLEh<5?T zbXRpTm^GMHA`4I|TSaxMI*=$d`swGKZ9_t4H(|T0xXiiBehxaA3>Z8&!FFwAh}7TD zmvlQiu~Tv8yHfGR`w4EIASR#2vKe`pLwJpmHJ?ZnuOzohk%EzxjGT>;b)VQ4`t0}+ z-;*>(HlCm%H}RerAy>H5tvn6Ag0q>8k!@b+osE%t8+vzRq?v8CE_9;CNQ>vcw=vRc z{r5FS+DL8H_T#CsZCT`HUZ(l{2HgeS3|v+QcD^UlZohT>P8|o#D{6L{U#jW8!qJGM zp?wU$9Y6O)p}$5Xdp0NP4vpR83d*>1@Y|oBf*#b}t>M^c@%&|&IGeqpe+CFjKV2gd zjq@od!9k83%c^tah!&rWdp=opalthChqmOt)ol`uZ(G?H5n)*K=M*FT-o5__QCstj z;2G>6;#c1M(nkPPemXUJ=&S$dXmESz>kiRN0)F0W*|#;IW2AG9Ruk(eME+sl*D-;|-?2ohTZSS4|JGRCG}em29016U<-Q!>VF zz5Hy97}(_xN^K&K|I&e`kh~5;?qv4bUiL@rURoqHt=C(Q!n;8~Zzs-+o7}6jag)1n z$@Kr7dwr9qm;t}1f?*s-2TXJKyHejWQkuA0Wr#G@YHh>H7~RLr6{mZV(ytkX-HViV zfcEb@itpYzd5S#hvXiltg=t*lBkE7emyg5Q<#xGy~PrU_K(4`6Rk?)O-p7?~BK0DLGi zs2%CUY3|pl0IJmuLvyRwAiSi;cFF*2oBJh>K>T}~`v!Cxx4BE4qw;EBz@qxFY^Rh~#yOM`ijn5GX57d6K*(D^*^3Nv4dDX zPy7@|L;Gj>{de<(=$)c3b#WVrih)Cv)vCtxx~JMpNaM}j=0*6^I~EYTHGVs{0xz`N zNOC{8E@2~uGM#8REt;Qp?-HaEB1Uf5uxsDHq~!V-g0~$~k(X9ckfzHs9o%15Lj(?C z@tf8dor;i|P6VfUsIy2s*cv-*3LwF+w!cHBs73L2q^ADOd`8- zEmr8tv{;_=V@=*8zrRx!PAkh#`>~MkJgIATcEQfl)F{F!Nz*UPb{h9uG#0tbF}{0~ z)Fr}o(~-jUYa_i{^(rxQ$%7~?@!Mq$K(5-eqBTo0uG%|P>*evco_K5XTV^*W-(`hs zBW&Y@v!uXPz`fM4&Cw=Ynf|En%CR!%=!v7a^UNWc+Ja_1>o&MjNVd_qMdEC88ayER1r{k{TeSbhM%YziOiouW%g?)bm3mUKr~HK zZH=b&O=>ODl8y9R1zkNPt&)B|EuS+=v7B_ z=P(`K>q)V((u-mj(g^2ElZf;fjAf|qa!X$rh>K%~_wI&Mb#F|1{nh3}u9cC_o6tMW z?%3VT+|2F5?xS}PT;|wO|5dG?;RYEf>_Cg;)IPeH68C~w>x#aseT%pZFt8yMK->jz$9Ve)xz^uYS zVzruy6mzU(VwdM9=A}(6p!cBw+ABER#@xzs+#9z*l5vE+D6<8O1mR0SEsU=r!x%9*O)GksI2t=GVKk%8nPC zh1uSyyLNNkwOi`0J=WtN8hunf_~i5<`jv0v5ounu4LSA_KdsE#tm-E=b6`DR{_{UVX5pb(d}*6 zc69M00`S{Xv&CCP06y9yAOc+j_8(&dR%pP@60nwl)I3%5b!_p)ogBsD^wCuR+=5Ic z{>61{e*)o6C;}6S6J^P;ZcT}Lm{M?Ky1 z416{ac;~T|G>iiw-aC&6KybOp=(~_)s-Ae^W2Z2M=c2t9XXz^HvirW3{Q4!UCmNZW z`q!jn7xU|>u)COHCfi+j;D7LbpR)=C) zTyHLdk%p;(ve?js?;e7C&W;WdcNa1^b!175j;iC?PG~Tn0W;Nk!L8TDxcu^NCSNIU z%d1k}FZ1h{*S}X(t}89AqA|6K5kS*?P7?|C)X8>l)(YazY${P0!JrrL!z@rI5M2e-4oga?;5% z-3<5QpP0EdJI89iB^}xEMLFrAn8iV!9I-7SXVFKdOy#;tiC;%}L_GT-+zjgIa*%9> z^9Ie>@Tl&~#%AX%8m?<#lM14)_iJVn%sE|?^HGLiK>rDUUKA%yb^_fwRy?HT=#u)V8jMv zsan2{i+{jpgiFvPx^q@vddc|ERN(hO+=a(5KY1zLcD3Z~o+%5VHajjtvh34IN~Yf{ zEFR0cc4D%ha9l((?3*tWRvx!?;(GGz8Jd$$^V`8W-$~R;iOmv*ZD+Mu zExk66hb5kT{FPWOwd2GO3oF{s(C9paxk9p6jF`lDNQ%9=i(gSOS7Vli;G;zCAwtU> z@Dj9=sM$>yVWZEY&7T>iY~EDoF5<8?kMu&NIF~dNNOe2*z2Yq0jc50L_522i70G$% zB`*#8sTz@=L@BeO+^^T}4KdJ5UoERy{MS$wXXLsXLD0qxW&*X~i_c72o9i+m+3FA9 zBJo76)U|crA#TL$*DxE}J6aI0Ep|OoWhZMQofP#$iWPs6)nsXnxV^5Dx2qo&r}N#t zlp)?x!Y#HOU$8gsjcr|=X+t|2I{wF!IFDsq9FPsCqHfyN>EFNv(vez8r{e}6y(@@D zOlf9oBr|dfTNyQWTE^lFxjNUbc(1fECa@RAo_*MHnO zswW)26n{!YVkkD+o7%+An-hQL0Z<}rxD;Q!%?>!pX^#KA1QD`yEq>kit>HI0C)GQP zb$yO?dUsA*kn8n&%SW;+ypC9U1jugNXzEs)XRcU+Us(2nyZwAeO1=a1=C-fApqrQ1 z_2Nj73z_7Ng~Qn62F=$3{EbkMg-IizgP zrw|S8Km3)eqHvPH+h67mY3@#D&`Z#Cw17DeP>))Kc$;oGJp2uhjQH@_kIc_k&+pEoM?j;!+h1{2_0wI$6`}DK4~rK z9a+|r+Hst!;*Moye*U0$}*Ro20J5HN+aV#11F3RO#$w}J_~a` za2D_@+^o8+FX9Y?*+p!2|I4~al9!y-uvgWPu`E{j_%el9rf7$qw6+bxcVV@3ryI)S!Fa z_$@Z4{)%jo_#(f|B8h(%@k5tu&2$XJp6=TFVb8Gkzcz-#h_;J}Xf{93L~bY%nIFkw z%?_yoa~6n1@t*ZFgv=k{;P9b@?uS+9S|>*xi@(TFfs?58OS8|#A*u@7IofL1HUH6m>9_=!V<2L@5nh)ek<9E2ycyf5* zExb8FxT*!2TU$_wZmB>SDwqf-0u{g_U^%b~SO+xe%WgtfN5tBNsXM-C?Xol6alW++ zxgBR(yAaqhz}jVc*KvG!9QWSJ2WW@n@xV+jw(n16&N(5Mi|unu5ZC&C%rtIzgxV5_ zdYjBIp)ON^6MzB08Nla&5x^G!t*`d)k%3lLyJ$OFQ|)pdSgWc14zbCXxE;4WtE4Y{ zR;ezJzndBV15W|Q|Bx2D{EApk$Mm=5c0_Ge82(fbC(^XkbCiE4h@Y;~C*U^cX$!EeX! zoTlKy2%)_BzqEwJ5>xi}PXeS^@{}PmXL9Dx5R@GJnyjlo?3?4I(h|MM_0LjaYW=N9 z9ZGuPF5(H&LF}h!_7k}5%K&MEJ|A0$+UWgbJN@A1+(d0 zHK(rdBbf-#>zDbn!jFtJm_ES)&GFr>h)$W?x7J;|ukPBmx@-5>U2BN(cX_p=Q-tY+ z!ea^3g|)~^IjhuUs*&T2Lfzcf*FQGoqvqI1Ag^Oez4KUhM(txqQgHevCwVt5G8D_aYsNe3a5Nv~Z&c@zE0caSh!T z2%Xw9wD2&m%&Z?Fq2n5QUm$dP>>Q60HW`a*4+Pd*KliBd3Tnzi{$08O^vH^t)I0^o$1Ti zHCT{mF{;~psDp$1GRL0e%CoDGXOBa`hrmlfEASTZE+Dw~frG#^n(yRil$3&JH0Q`O zn&~CaDBWLpMoAtK@0xx4(0JDki_dYk=(D@Ehxp3sSs^8K`^ny$$M=g{^*dj8DTK;I zq}2|-V|RSqMBPq%DP`%Hk}G92q{oH@2-B{= zpM4hF^{>$gErAGb@6TLz7o3R%7#JNN8VQUCt_PyPd|)xK0w8LWzAvGjX`1iUPIbBO z)c$v|@6=v7)OTvPQ>f36&}nfOXi%=r^U9@oVv?OSmD%% zZ2~glT4cnpA#o_7{u}cn;5h7AfZ#p}oCWZjkJ3|yMd`dAi;^@2ixN|aMGMFieqCC$ zu_7-n5_xffvqay@CVx4h!Y#LvgYj)bsC))MQz+4{05N}lE}*o;$(<19{bxjK-102_ zhOyV36a4^BcHXR9`5k@@?ZpzJgC!nUl^G1UIviUTufF~_RU{_w} zXRc~sG53B6YH~C?w}49tCnuSOc$11xLwk&hpnwgO?`pPaR3BqyZ@q}Py7Zj&LJ=#z z>CRq#VSQUONtmxAM6RCh@8?L%6@?1*-k9WP3-3KmfjJVXA1yr2m*$Q7K`6t_1mUE? zlNoC2xRt$e$s4>?xrfj_zXoVfIc*O#nfF&S2}X~Snkyrw-45yQGngxis|IY7Yq52v z>I`UG4}lL;D!*A55Wb<^A%l*tYh|sz`|QC#h7Ibw&knohIM*EGnxkEFgli6S&2wF| z$TerUX1QxtyXF$tTH9KANuxn;)vUF#=<`6a47LBI` zj{Ub2|6zFNlS)NaI8+U+1J(dzP7a5{Kt1-2KtA>;<_usF6}JIkO)fMJr~p>rUInZL zK2cOObK#A7b7z(>xFJ$9H@2YCsozUp#~tY*B<7KQDAYe0CojSoZhFa|UEMau1U&wS zl!a$HxA5S?gKrbMajE>;_wLX{CiY*xMi6kT?m7G>{$9$${!YV=8IWei?37K0)3}MO4}$amX7B+x_3iy-;odnY>GtsdtT~MM)t?N9#$m3+ z9F4ggGY2z->HTHk&KnpG#l-*9;ZQkd4W{>3g1b84_V6pfpL=FFv=(y=W|4&ZR5IQ* zxNC54zzpNR1ak=HBFvS6^j6^>0lomUg7AkiYtBlhvj=xL;12yC{p}>(mE^k{b4(!p z1Gp;!?)|vSa3931#@vTFBjCRU_j1zl{x;#x$GsPGS|D5=?lQ{f{iV+&UcleO4+cL> z`q@AD8#0T22p9JLt0(?G;#0;+%4pPAdr6-?(9IgX59Pn--fw25Y9_?Gx$B=H)8I_T!*<6a}DMe%$1m% zFpu@O?SOPdr(R8S-wwvTl|lQl;{CtCcb~m+oh#G7FJ}Dw{xvKZEj(^i{X<#U?07Ye zud8IdDsjy%u37Jzdt7tx4{W$L*F4~w*$-QMIkQhmr`k1_xaLaN-0~yqU+%^KHS;hJk)bAxMccFmox+3cEoU9-(K z54dKRYo@zndzNbsRx^IS3{O%wGQ^}bwBPtR>R|Z)1&jVCkAGtgu$tWcamg2*5)O5u zBWwZ&W3M^B>+2(*JuS<5D)dNbME@VBzyn)mheOT4KA;omU&5FVq<@3+Xh15E0*G7w z#4dlm{rX5a@G|cb-N~Edq+!qbGWrBkLN+aAXGGSqh5>niY>FJbJRCXz$W}^!!pgh0 z>6rV#$%5ozOj#$BS-tEi$i<(7@y`bK<0tDFvPLIs9VNj3U;fTrEj4cc&fSy}+PE$y z6uU2po5i&2;QEx%ssQeJaM|Ba33c9|47ag4B~{Y?p<&-;4%WZ zjOS89%fXcdaAnV@g!Y456~K-7CHZbh32g}AZU>hGt~G%B@}88?G;sR^xK-dvzzzF$ zl9uKdQ$m}-jSk=pxGmtq0o=%zlu$jmf&gw2xIN&C9!RE_vo9sI_XjDV839}+xHfR* z0o+b-2f$SaaD9JE-GN&kz-jKvWZb<<5WiC)pN4BjD z;MRf50=G7RJADv!5AJAxqrp!C<^$gcT7dMQq=d!*cLG}h1N3_|C6ouu0qz2}0tOiT zSW4&$pbWSZcpk{woD#YOSPDD?90bmNoIHRnz+T`FK))xz1Ji(N;2vNP(ErJl&;(!x za2wDFWNksl0r@})a3`<&1CIhb z0r`6s^AM1|gK_{XfIYwmz*$d0Kd=Qj0Gzdx`UYx%7T_ab$kQpIDZp*O24EM^2K0M| zG6E}r=Yc-}Bc3HJun1TO>;i_=r-ZHp9sphi2K}5cz-_>Tz;56@;N)GT2h0Oj0K0$# zz{rM_(9OWZz#brDH|+%64(tRD0mFZh5{d$M0S^O>z&pTUU_>J_6(|Fi0DFN0KzdV3 zXb3O{m;}rL?gZ8XJAjvg13*8<*t38Vun%|-_yFkl z%aqV*fc%ZayaFh5-77Hf10Dvp0=t2ifi|EMNZpeX8VC#nE(YXp3g*qOeH~^!@Fwu( zUr{H(8lVOE2nfFb9|J3aX5cU|{6)$D+zxC8mOUvA9bxuXF9oF&_qY0S3r= ziLnQm11tp|2AYBQfWa@*K0rCJ64(N~4txNNcm*B@76H!y1{k=PwgHv^8vz5H{%h(O zxDD6=oct>BfO`M~ob?*xEARlY8|VZEwvrAo1Go=(8OZnz?G4-pJP7Op-T_W}9U6fO zU<2?jF#HYV3a|>;1-uM!_i5-O;G})FPDWr(a_zTcKIqz;F^y|K`M0z&Pz}i6Zp?kI z{R7O?-h|JAS-=wD`#>9T(p!ubKsB%i*a5r=WVF%#z;(a_z;56pAm?rB2)GMq1+w3v zF9LIb2Y^Q4Jz((f2nVbLT7l61l+ZaqJ}?h>0B8Zy{|g=it^sZbHUlpMe+F{ig*G4t zGy?AeeSc3nz%{@k;9;N{_y8DWs9)e3paQrHSO@F`UIyL+J_6(~r=5I(>A=mvO5kCj z9%u#r3}n5>I00M+Ob04~6~G2S{+`Et&$VZFz?*>lU5B~IwQs=O4ZH(n93W3%2Jir| z3wRGW=Y4np*bQ9t2l^?n3TOfP{t^BKrU7>Xj{^IE{+;9pOb2R!4Zt2C^-u64PzG!O z_5eA5rrv@1z#53>7+0dE3d{s0~T9tK)~z8_LAz${<|@F>s%90JZe z42{4FpdL5?ocwpn2;2-j3bX)+fWaTZbHLre7T`@Fqnq&qm=3H2wg9cb2f$!v#Cbq9 z&FMav zzzkp!um;!yyZ{(L{<6{MM+5SA9p)m}z5#Q$YySggfAo3z8;x1y+Hc2v5ZDQH0cRZt z{XiwK2G|9B01QH(m%mFeXSntim=6Mvy6!!g>Bpyr!oWOW1Mo6%Qoq#D1mJdHBk(HF zm$|?tz%-x&SPDD{JOMNU^7k%g-~QAoFauZ$JObB2p*Ij#m^zUKvun~XPVb-|zEtv1Q_7Ujg zQ9%CwqksQL|Nf8u{U7~XWWj&*@BirE|IxqyqksQL|Nf8u{U80?>c{_X{kt+&e!<8Q z!)H~L%Lp8veCxtk=}qCe^XJAmemD2FnX$PG=I4CvYn3+#d?(DEe@wrE1v5(~l`fnd ztDHOk28mcPa)g^`k&mBLIy;zK(dF}FrImAL&Mqyva@M@k*|G2yrMFx@e_?Fq{Mn^m z=00slhQ6$H&VtI)ywZiS%BtBxfmyMRoN6(1ogi;c0pB-RH6$OipMdsj9m~+4{E+v&XObR_TO6B$Z?28q9MlwK}14!A(-Tnz7Hg!W5Prj-5=;I*@dtQ$5x@ zMhjK+8c%}3!| z&+CZR9bbYBo+GVQ5#&(YSXa*R8lYz%4@*n;sI#NAbZ^f1I2t8ApZp#)7TBCTI;ux{ z0`%MGV@uZn^7nY8{Vdh+a(C_8fGonvj{>=F$<)u0Xl&dfe z@?F^aUOC@JK8i-+h8REp)+2%>^FQh^Uva@`Prb0Z!)-lU;Hbm=5pjYwkXt@;;X>6V z7HC0^7C1?hhR&@looNT1KqD5G#%8MTfGdLfQl*dA@= zg*<8zj~X(sbk5AG@|bN6SF8kE-%Bw#$_Lxg^PfC(PHFDU^70;SbwoY&ELT_}prOnZ zy-pao2ZiDB3$?D4vwOGb(JD1ir{T;0=W)FfO)RBW7MA6r{~SS^7e)ttRbY-NYJeIq z^n}V%KPj)5cz!vvO6*wLqYje3vp>dH((SDp_fG%gwCC`YndJowtZIIY(X3L28ZS-s zy7F>QP%{e2Fzfq8MJC=<;Z>QBFPc<*MeY&UNmmwMk=GkrT#-9-q1IF|<-!FwE3TsY z=H4TpR6t?rO_EM84xgjaDwGD6Ndm zE%hX#9}-@`cX#**?C%8X0 z^B%I&uT?h%$$sv~Mo;#oK)F%KkcArgm^BLr2#sE#qo$)n+ObA5pVr9yl4NBalTR*V z0df965pMj#g>!Gv*62jdv`Hd?l|W*}VTq{Y&!cQDgrTBU>P^e^zw})Jh<><TCuT=fzsbes|oiF*FUvoOf=&F9md2NJV9ISpvuQP8u!&k;WZYQAPXab?ShsMqh zk}d39U7q*L8(lEhP6XUld!6eYMGNo2DLzqQ(C+*&*`ii6Qy;&ETy0H4`?y}ZRS&-& z+K8V=vd1PhfS&mz@nJvKMShOfSJyYSoXPZ#B>|FnKfR9|Yy+iB##FiEQ9$=baHll*Ti~NAuK!P#00BabfP#p+$SVo2d++Yu_lpn^VjvhoKt$P)gpdbG zng>RqvbE7to3>U{>m#+P1+{9_pBl9)Hoj78Ev3{_tC()77C|Lyjj@)R|99?V_wMf9 zO+fqm_5b;B;hVd6=FFKhGiP3B=FU~QNKYlTHL6c`MdQ}uI`#y)tECCJBoVrnDCyxM zClyx6`ic@M1#nwhTOygmY01{Q#;deKQBHlal=vl*9O@H`i~U{>DVDI~5@~UDZ9|zR zWO->tD0^An!>F0F9D=eak*nENSlVQEkJVV1D`}L?pNx*051TMLpct(l$2W zsjX3rIYnjll37Hu->7l0c@8`n8Pl896<14z&GI$UXKjpaXhl;-E&zO{#plz;)CMx+NFD%OzUu`-TH9{{o zH8qwsNUmCY6A?^DYz<$UQ?8A!p@mn~RUq|o?N6$|j{PaBu0unc8Y`;fnX;HQQTEqi zCD|ZlU%3@5D8nF6-YpQPlWXJ~d9z)v7QR`~&6$k?ABsc$v2i0W&a7xEnaN3i`B})w zuq4@KWf9g+S%Q!qJUo3HV%J05aB*a3r5Tn2t&TjMWu0&{Z&A`zD7jZ`Wz|hXy|lJ| ztGs3$hk0Fd*h*SdT#tGp_qA%4_>jY^ie)=bvudSPQ_xsnTq5Z|YOW+s!gczXP{SFO zhvZ<3gL%abjjB01PI@9!kE*$(8C_GN0Y^j#jB_Ph0ZWZE=7@~H_DbviehQz(_Ddait zN%oKBw5=p!PZ3kVcmk16_Kju2%0%`nTvS(Atr!h`XyukPm#Jza%|3OgmSKwyHup55 zM^TG09=F1ZM%jE7kJp-pvVw~8El`TQvd!qXi?Kc+?Gcbize?<@OJK6EVd7z1M0o2> zDAut5vNFbviKUHEwpuY}J~T~*wNf)9kIR)9A}N?GYSPqv(ohUx)Yl17P=@_B4ULPc z6>C65>NK2Xlfoj&7$w!Ic&XS@dnI}w%|033bVx%IH8VoFrHM}(a7f7+l1e4eO8a_65wGKG3bI(gU>%@k%|A)E%8MjBwVA&8D_3YVJj z8bhpJXt^-K>k~ww7YFiMYi;F4B?{G1UoxqL>bI_Lyh?5mc#9H@-6U82aH#W(i)*&Y zJ!HJvfT3`0J(gWU+yz0yUE`-82V|3J*hpNecH#Yq@MC)r6?S1V%`nEqhB10MB~^E| z_#_?Yt?Hu>3x1NO*7H0@by#yORA((Z<+`?}lnpdy+?w! zUrt+gMNS2qT(LAt>p`(xp_xmoYq5Y9?yz*EWcn*f$x4@Ti=)FiwX4yls|0%5lv69U z){LY+)XGXua(|((gTuE9#-@;U$B7p?_2kqV=$Np&t9@~nA@%sNNnLo+RF5L3R0!^laM(gkn-e{EV1s6i zcQ(f#tA{Cc#_Lh@2beq>E4E_6GS2)Vqox`&xOkjG{zGzFzO`Ipq~wBR zX_JhU%*G{`o8_YVV(jiOLC+<3>M$@%B^Ng=Yd*ExPkf0eWfLBYs-lk9#3j2^N$u8> zM$Mk0kc1l%3+wus(Fvs)c4v~~jqS)8S11i}@;>Arn`0OygnSEGjBGj*9vaqJmn~nM zzfu|m$52AXFePi`VkkllLbR`(erf7cUtELDk*xQI%~{@6%Zp)|B*!S;;n3mu>+H+2 zmlv*Bv?@kcg_bp;=XomnqbZt=zIzi}IEf7A}d&&rk?y zm&I^)gT%&$94HJIyqZWo*+IFwsjjZJzOeyqE_+KU9I!+hvqkHcDjz~>QWTFW@itFA ziL@cCF-g-e0m;A~nc#@_K-MW3_p~E#X>+-r1j8Re#fayFF|DRt?$UJkwZ?{sQ0K6& zB70%^XGN!}dUd=;Z|b%+nj$q)4#RX&HZO+jY<*LOv?VUgUuln7WeL~v=u(vPja3C^ z-j{^o&EX_4$4CiOu59rkJW3x{3!ua$Eg7jcpZEc_<)%uhtd}UAPgH4Rq!Jcf`K2#= z0lFU;?87Uf@|tKkv=Sd9L1D|YTl8zvTqK5y?Y)&3*_Aca7>YdX|4U4PMxa_1C@NWz z^+A!0RR_sB5r*xEeoTCXu%8V+TXXwYa9HwlR7IKkUDvp**L${L-?9!dfiLO7Vum%6=fVamsyV!n|$fHBf`xU(xfkj7uIRn+8-9I5ir_U+7zVYzP7l&1~c&ppGBK6 z-pX!jY>eVmfb9iW>A1_O2zhAYW~tC~M@N7evFZ~wmsDRgh&KZa`Nz&@qBt$D!T$5= zxUWy(oo~fImQ$4G6mBWo8lR8iJ0usTb})U!n{u-bbp@BSMoC{3U4$SB>4p$R8&+d`LI))q zbfk=lYe0?@T3#Yk(v)9cfsMGu)iOVI+NEcPs^Iz|J1p$=etqu4+SnNFkj<1|%2{;=r5nrQ74rAX)V(V8yck{+Te||wONb;+xxjN(J@#-h z@#^Js4RqrGT~6(llGz9o2D7>kNZ#8NUcONFU1DdGW<}5z`=FyzZ`_sGVN1Z|n_0(qRWlkMwLd#bKB z$I~*ji30lL=KULPHQ$ zFH|lV$HO$-SSGJKvpk4yrBq7E5{u45T~1$GU0mLv?DER52_I&mEq^sEIv{m@oejiR zS2SX4bg|rU$BR!BMiomZ7lt(?(g_#660JzeRie4?PUfW(iSuYH0g`4Ud zl;u~8MujEUIIV7Ic%?R`OhcmPOllpF+WCa*yP8OqwkyP+ZA4;CPGbJUpjzIb5=Ayi zaq>i)E^H)WZ9Ur-r#eUWqMDSlH6kW!e3P#_aI7=Yp+J6UcBDj)5jF8E4Y`_K zad-{KFRt)N_nkbmnLGzxGqJ+j&WUzn5k_XJ(0$jOqXIzNO9VQFEhl| zlVRwArCunMItF{?>Ym9sx}i5^)#HW|*K)&jJ2XU9-Q(m2c7N5BY^kkph-`B7^+O?L zxox&7FZw7iFKM=p%TyO*-lLh~OABZ^T#*lv!(x3JP0Ny?cCfTcyOBc1CTW!hZiqlo9nf-B)QSreXHMurW$Yr;jDPtj_xs;z6P zlV4R0ao0$Py{Gk!Z0xU+$ntA;#N)IEmPe8PF&ttjH2KGZ=is;ylREG&!cIDzZsgsf(%-Og-cIu}T^8)5I$^HDQi=0}(kT z5d(I-bprD)HXz2lKehU*nv&X0m2uZwLjJMqEm7+~E6Qq`;;|v0>>JA@de7yW=0>)T z6lYOwg) zxn_e5ExXoqr}WElD3y2d)SfvWm3*FNA}R={jaBKL^!SCA^L4kavsx6+0rizoCHJE8 zN1N*C@{`(K_J&^^l~PvSB?_G)Y}is(9p1>gnmysYy%M}}EWfR+bz!d{uU>`>V0#Cd zu@eqadbzr>RMw`#0=$1$D^JIVRtCJfs)kc~p)F-4Re0Hc=%9FmGb*eSDeL&<8LB#* zjz>9UL22WVxvM=PB3X;~h1Oy-GK-~I9@|GtgmT_gdy1)HM^cT}0PX)Cp zlXE_=cvD%mv}Z|^E@{jkovILJcw=X1qL+X#o5)Gq>eVF|{XCPo4_P#tGSzAvt6ds- zRc(^$RoGq8lqlCwX+^n9B@yK&<#LppEO~UzSkl~>u$>M0>r_(mg?tMO@#47D_T|?| zKbhKHRa1w*G223C%B`nP*yU_Z2#a?tuyXdh4wYtPDVI?+&CsP24j~ObhgRg6lp=FA zZZenXyj_KJ+1N25ahgD1$Uio3quMV_BI`EQm&Rd)7F+R;WyIuEeWg1)cZB7y+(Rhg z3PWD3iY;nT4F_>2cf=aPRcqv+h1Yf*eos=p4W zs9irR5{!%_zgQMg9Iz_T*sv*1@%a?rA-SLhz~D0;7sWT0ODQ%sl-J<2eeIVzu%N~q z@xBh$S>&%vfPs9bD{DPu(;Zf~l}RIB#8eKX#tL8pj%8BV__;2}t5U@Z%k(vprcmiF zWvP7Z7Si7#DKSLB@d=I6#{TB;3^?W+90Dh^k}_nu8funoeT<4FDxXk|v2~%oj2&#m z1gmHc9}^NA4=*#@Dh>aavvEEPC$FXt5s&(z3904|L8}awaKg(bNhYZ;7$QvKW^>q? zr^He(r-{w-1Y1;%N4qkSWeYHmZ5ICvx^(bN|CmB=??i1lOGQFE5X}kNH^n(cQE2jzkNEC zv2jH8e>j7RZMZEf9fCP}^%%-n=Fxp3E91uEO$}vn--gss#IlQ$6+7GF6}?aLi{+qO zLaf9SOchywAo~xKAL3@Y7pK69$tL;7vSazh1~QxQJqm4a34>?N*5Y_CqmobcKS_=W zZ9o!FiDLL%S7DsN>UgO;K^k~j{)yrMDz^M2vh^>fI`3r zoLCA!;9;Nxr~~E!hn9d3&;hgp$-rwl;0NpiS^ys~1$bsLQ9G~$C{VE-)0 z4(y%@I^eY#;0vq+rT}dh;#=#;_j$RH6PN}}0#bow-~`Iy6X1Q|ZQu|vjnS`8A|tTB z0N;rPUb`fTnpfbv_REv#WuOCS1_}WVNC(<;k|+b12BZT7yt_DwUR?xQV2Uq^o^dD9 z2H-;%_%Jw=s0GLa4msctqyS_G4;#K$Ehdr8g!l#USeQh~z`OT4K%=;@50q+Kp-#{a<>o3q3fPh222nXB3Kr`^kn?$bz z$pH5U_#eP;VE^x-7r<-#Aq(&rup8I_wEqse2<+bnx$BbX))MG9?$x+|QVc!10(Itc zgj+|n3TQ8Y+`#TjAm1va1xNup@<9ts0rszi{sLy;?G=z8Z~^bwr$+AV3QYlm)B-0>J&ipMd0r z1`+^2@O|J}pbtpq43q&}4EzY_0p13Tyn&Vh-vRakGX=;Gv;ofm{{~i?40Jcp1AGWf zH5+I>@IBxKV62F5-UF?`Q^32xSr!9b1T+J81AhWWThUemWx&nAUx3**18oEz20j7o zb^}!a_W+*&7KedKft!FAfscTxP6J&ETmy6he+4GE4741$8Tb`&uG>J1fa`!qfp>t( z9s}h9+kxK#9|NKn{DB97!@v}uf$D&#fH#1178z(U@J-+V@ELGUwt?KhCSVuv0B{f( z0H!Q9p#6m(&;r~83;;874D=IV;SvKi0`~!j0n1Y4Bk%^W;UdTcT(!(Vla?Fkr$BZt z@*4OW@O|Ltz$?I*ixC!B4SXMX97xGSo&$}*-+>t`P~Jc@a363G7`f6wtAGITFz^>3 zH6LXH+z7k}T(Ju22j*U4pi1B&-~(WG0qB5M;1DoowSlZa8E_A992i?@pm{(wa4Ya4 z@G0P4W1w#X&jKF<#v-H%xC{6ruzan7b^{*)h3nuBd;&NxMIHmc176JAGjBI2S~fzK$ie*z+T{8V8Rs!@&b0SB*y-A1ZkMurWLVffnI!+(b z8p@|28rBc!&vcYNrMGA;y-n}Y<+PeErWN!zIz}64JsqKU=rX#L{!U3rNwkip(YaJW zb7(dh=>j^R&ZAj0lV;F`G@XiQIW41HvXPZ6B+^ovM_IIl1mY-%7SaOBq{YOOnX<`E z9$G|px`=#aA}`G+7iEx>=8}U7X)2vVlV}P}rnBiRT1n&S3`(O^8b@Pk44TXo8cm}p znMTk^f*#QXI+G?+I-1jsR7RW0Pn)Qi%Bg}%sf4!B6;w;jR8L={yJ!b(r>p7fbQN7m z+o*{ese$U~0KG<4R6}pjR;s3h^ke!Vb2PZlj;l zcd3=WLpRX3X(#=NuBBb{P5K_)O1IFR^b@*+Zl^=kOTVLi^n2P*zol2{SJXohFJx#x%r|1{-YkHj?rAKHF?WPv`A9|P`qE32% z?x(xyLAsCbp`X*e^fRiYk7zW$b`)cxHzhKsS!or4ySJ^u-#TB=a)ia(~^YaiO7#QH2ISCATb|hZ-XqcU0-6wRbiwIE-o(FqEt$g4y8(^D!7t2Vl2-PrTXO=l~h07Fb_yuD6~nBsMO&sQc2~b zSLNKa#0tQ2y&AbLy{WEct5Zu=TKPS4EpeQRCRau*o2h%ZWHI7U!wz4unVpy)Nv%__ zLV{p1hJA}#D@p=#HA^()<_LWa=iV|jy7e%3vlo9u;;`)_^4DhB1_~I+s-XihSsH7) ziKQuwRCb>Zn`n~o!h@ibM2&6^gO{@KA+HeWNEd33bp;FihGo*-D3p-1=JoP~bZSn? zO2Y~eJcq~F+d5IAs&YA4P5=>Q0UBQ|vu*#p1jrN74goK(i3lh`G z-v&u|Y*j)A=&v*yDJ84<6x24XX<(>SG_{>(Oq++*p2yTsX}F=d#?^4uKcwT^;uS)e zGW5yWIGLkT%5R>@r5*mD3|2za?|}^wKDJK8uL5eEp)i_CFl3U{Kq0k1IW3QlTdU`Z z)H)O{{*jTnuXt+`-XqA2sQ>J)ob1)Fe-8F5|g$4!S2 zS^jXTjz-|T2b2Rio`g~i<145`iKA3^mKdC_HZ*m(>JEoGqAFs`>(Kl|b#Z9+jp~6Vxhhisox9yC_D zkO-=sE@9GCqAyWiVHSx-(lKJ4a@C08gi=wy_cnC7sKSQBtQ9^nZL8K_Q^euv3r@OJzMq{yO(gb-TV-uTr!rB}hL3EvaLCC? zH(Pp}9eu0oifbwwwy>&#BlC3(K9K|)S1Zr*ah1|Rk9fr)f=LvOZ0#6|NI8`AXYqhdiXtm7Su}sD!mP<=sh&YuLu#*-~neWoAi4MllSTaLjri@BAlUT{+#Hx!EFaI;j`@b*2 za8x)_Dn*Us=-^kDHL;c8|458e${}_(ae|uq73NZG^^M7=|4m_r%q@Abj9GEet1(ea z6Q~oWh8o)XIw8)=w@fq?EB4+x@<2WPC~>L~ zHL`)_z_97%OgIVh`mMvuVaUP=)pM$KKEk6v1jpg6ri7WIp7JAAjl^|BQ!BpeO7I^# z6EKltg^rqGDL;k74Tt3YRUgrqD8hVY6PvWvf+Z-X*-EGc`89HVmn+dJGm%apIOWix z*ZEIYcFm@jlTW&KJwHJ+1S^O(i==p(zeHOU;-{YKoTzk}38uCIC&l7KNEUPAW=lSg zQ682IO}%yn-v6rDrkLL`Usu|792Xe&N~k>2N<<+(sajE&t-kcH-x$TP2@eyZhAlc1 z*I`g39^FL7t`~#WsHW8gJz8lALMMCmX%me=bVFeIuo35evoD!Qx~9K5Xh}K4qZFB#UDV8M^WznKE~|aFlft9NVv+ z2aAPld_jqQS@tBDF$0{GVa?hv7RH$6luz)BiJmvT@T%--%Y*9tc zAWKvRMcNYLB@9c8jrC3FOXckOG7@Q;2Ib}Z1RDA!DuE`R@W;vZ+s)zC0}VqpGf!FD zG>z~n=Ve&+m}x}*R)TaW(GWw-a5%Z@M2$USyiaD}p%Yl&t`bA295$c$$oPoHIv$I} z=hY9vf|*m8K1OwoF>ytFdL=PW?U!5Y7Wqysa z9GrMBGYhAfTQx7XDD@}aEGs55^bi+SUsbn7>0x3&)0nu#)!;c54eZqdxvn?se8GH} zY?RLy)tx$vWwnyU?bJ9d!>&B^(Cqt>v0bk8RY`3+hFG}88%GHZ-g<8&MKpZ61ThCd zX(ZAOAP<+7)1rn+tljAw)-$jlBFS}C1`ifk|E@& zFDr-82}?mHiM#e7d+SA`a4n?<>y%yxe^2 z2%PuAjpZhAQ@IPdEKcAYTsD`>6>#ghODH}RExJ%2TSEq?=l6Ms8@7k?lB z2>%rSJpT%RfPaHO%pc=F=0E2R!dPK~Fjcrv$Pxs>A!G}=LV>Ve*d$a6^}^M{wZaX; zO~O;c+rpqQ#x%(^$F$J2)KqG!HeF@9&h&lL4^3UBXH3tVUNIdo{mFF1G~RrUdA50h z*<$vXmzr0ai_BM;H=AqB+sxOPuQz|se2e)`^WEkL&5xU(HTRhJnGc$K&3`u^H-BpW z!aPb$6VDdU7iWtLM2qMVmx?RJBJm1wvsfc;6R#1k7r!UoBHk(9Ej}ndE~Gi)+mG2lwtsFn zIL10AIHo!-bYwXMhr^NW$aNGr);l&iDjoHXs~y)mZgAY>xZQD=<37hDj;9>YJ6>@d zaJ=C->^SE5*zvi;;2i6m;GF8b(3#~FoDOHUGuK(*T<_fEtaR2puXbMRyuo>s^LFQ5 z&ikB?IG=Jp?|j91!1;#ru=AMnW9R2igKMm7f@`YlLRXeca5-Gru3T4vYrSietI}2P zy4rQE>ju|NuG?LAx$bj4;(E&Uyz3R$0oNO@!>(hlk6oX;4DPY+3GS)x3*A|6!R>Ho zyK~(I?)C0X?n-yP`)c>K?i<`Uxo>yh<-X7Ti2Et`^X^yN2i$MC54(@KKX!laHh9K* zCU~ZLF7#x11dqd$?aB2Nc-DJ1c`7~io~u3AdT#LC%GByllOM-UEce= zk9eQ*KJR_Sd%*jK_ptYv_hawpUL1o!lm0)cmp2Lz36o5Drd6gw(>G1KOfQ*!ZQ5^| zY0fauGjrxu=5^)`X1}@Ayv1B?t}{29o6S4S0dtFam$}v4VeT^j!u*;!Xnx!LiTQ+? z#AGo=Ocm3`N#Yc7nrIYfiW%ZOkrU0LO>~JqF-Ke`=83DsLUEnALG+8I;uf)5tP>l> zW^soY5L?7uVyk$g*e2ep)X-N^HxG;d5(mW*mh&vLEN)Ag<@=UrEJrMptY)jr>a*rp zms#_ytE`3Ab=D15zqQo5#aeBxvo>0rtv6clvEFZe(fXS8ZR`8i53QeAKeL{&k}cVm zVoSB9+a}qj*rwTxwwbmJ+dLa*Guv!7m(6F(u`RRZ*;d&KZR>0sY<^p*ZHukiR%dIp zHQRRB0=5?0E?cYZMq8WhR$IHR!?xRYuk8WbGqzW4`)x;UAKA{ZPqy3bi|m)$i|u9h z?e=fle`!F*Ed`by8i4+aZhqjac8(Wx7lrTyWBo^j(eFq&%MfB=w9dE;P$&q-CNw% z?mBm)yV<=1^`iqd<8k-z+<$U^+|M#mwEHN ztGtEYb>0nLzqi!8#ar#I^EP^$y*s=CZ;N-Ax7EAb`?U9$-q*cB?`Pf{Qdkx z{Gsc+qZ15*!pb~?F;Oe*&nt4(*CObko|4@`}R-l zC+x|NRL3O8G{;PomDiDn(%RwZaQxB{bdd9qv)_5bIn`C?YID8oIs+xL-refH*Bx}v zMvKEK`TCsaCFEeLHy!y`@7;!WBjEj^x82+2#o;8h1IHvKb1u%u<#0Q=0N29Z2>Ew& z4{#52k0A}uaNXRC+{@gn+f~>A^eDZ$HbwhTQ&yKf#lbETjmjLb@#VU^h0utNw4EyAtB1H!|?3&L-N_k@24>82?r zt7)U@Tc*cMZ<*dPC7V;tvrwjW=I@&yGCyJdqxmiKfO!V$e!bWs{zmKjI&Y7ce;M-I^jx14V>nliCQ>s z*!3{rZgKB|Zrtc@bKmN2N3GlqJ$b9NFS}oL?{~lEe%*Zt8uYgN zUHAL$58a=*KXaeJfjG&Y6i=!r-80EE#WT%g^vv{Rc;-RJmPz%wP*bA=o*#Mc@I2^w z96j28&!?UXyvx0pcx%1ey+82Y=6%BZmiHa+pclvB5RMF^(cDaKo-|Hul=SZwj1HgV z-r`2^nfwZD^=#+wLHG>y~tDtG(UcW&aJz|KIkr z9Sa@H9K{$9-R$@|YW5!;?>Um3=Q%CTe6%j#!1(4-=c~?loL@L6yExZ!j9#{*zIVEM zTz_%(yT-YvyRGgO?#*sAK6NvQu|F<-nKec3BwmgPQ6x8(xs zBI~!U<1xm21miV}!-?20Lm#l!5pZ0G@fa8caQ-1~Be^p<4@T$*F-GsjDE;pkrys{i z{Zq7=UtqL83gh)OjM&e{nEiZ=+Gk_jz5pY43&!qS_ZA_zm$o@!R5e z#UF@26mJuMEdEs7BmP|M6#qx;5`Q7?6`vDd5`QiJR{XvANAb_%TjF2Ecf&S8c>7>PgQLF9g03XXW9R%Vk0% z<_J45qJQ4>f$3cHYK*b(v|Mf7V@=pLc?Gqes($njaI4fA=P7kNAHMh*BEf3{#3E)}j9{zv#! zSZIF7_PK2;M(70?mwyB4dcpCsqZhgKPsbOINzQYe3!P@PC;84YjGP0`>zsEuJDiuf zdOSb(;%FyU+%$bb5wqy{QuOpK<2%&Fj$z{vKnhGsPw18kAlKW-D)^#av^# z)N;9{7-OIc%T~+REKQcHpw~OB-^JWwqBMGW&*n!T>2|DuW?chGMj-xFSEK9Ou7_Rw zTtD<2^lZS0_19h;K7~`Pa1az`jQ4O)aPM)WG1J?G7Cs<+3-$3%;X$DbbGA2yWtgY^ z)bzON49v+cGhc1ypw|!C9<@DTd)oF(%vyd0{g`Rbu+Ot|cC+1Pci97&iIh0DInH)2 za&E+Y;U4D**GAXRT!XGT?r);3CwrE9N<4RB+LsNHL|De{Q~CB-ox7>{W=OxQ;EHkZ7 zqvu(O5#KGgw{1Rqp8ePMDGoDwhjzzLoliJNx%Qy$f8t7a-;Wl1GviG-XAytrqP8yP z^0^IMF?!{R=#4MsYteST!2g;*%J=bS2xp-u-7Ne?xY=~K>3-7_rWY~Ft}{P?x$7t5 zXW|KwEXkG>ORD88%l}w9t(+~>agk%tF$Xg)muH*j9q&h8O2=89h^vfSf!?@G_?mEy z@J-=z^S{j#(YDRCSS>l0<(A`?Ba5$k)_KI=cM1J-|82d!6Pw)cI<9gce)oem$y zm+PEl#5tYdHG(^vJC~conK?VRh5w;&kMIj&jw#2~XnNIj)HD$@fEvuQpEJLVu~>$f zE7poni@(AMYM~_`+PBlP)%v9MS?e*3tEbs6v|VN^wtd%jGj!r5o6~VUMzwche)$;c zdbV>7W{-C|t*$25F4uQmw?P-~buD%mxi7;gHQRI4b1TM&IG+?UUB~@{8|0GtAHmk} z5dSp)5^N1?g?!T*^LNGHiO*PiP*U$$`YfMV?zCp0tae}=e!yn5m)e``57=j-tUho% zJzkXlMV^a2`JUCDH@$@OPfvjN7=Ao|CVv)x4u2j$o&Os@Pw<-RP1{X*nAJRMe#QI; zvsWw@%ft$CtN1msNxTXz=yl>v;_c!+;zMX7nU&xln2Vf)95-2`D zJZpW+`d74{N39=NKeF~)|7rcV^(osp$7F}mu^QvoosJ(m9(Hs){^0mKT8dQX1x^!s zoLihPV#JZ|n&g_|n&vXPX1X$5^IYFUkMlpSF4r$ydtJ}DUUK~!W09$t1$1B((dB;0 zoq`d852O04(R$wF`K9Mio<7fL%v}q;-$Ffq4`WT78H@gY0?K+ScRp-HvtcD#z&*tM zp8F&BXY}}g<=)|ravyLXahE}BTls(TBZV|!iLe#@aR)|t{}fCnFM8HXOeLmmrfW>s zo4#kd#dIe$`9ZV_&zgEn`%DK-y{5mLj+;I;ePJ49PBWj4HcYkPQ$BdL~jOP*zwrO>j@ zvcclFlv=h}8ZFJ19hQKl#j?xNX1Ue!faPJ!W0of|L+rM^YT0jj&GNeCkR@n&+wv}S z<}=F)3t5w`Db`8WDWO?ni**;~1Gie+tsU0g)_bjwL9bu5zHEKfy5D-p8kA;^Y{tlD zhw_qbayzqy-xkb9hamh0j6VSLbwvB7bS3%=k+ zVMK5?^m+zn0A}=6OZj|$9V~d|d^P_yejC4?5AfHWlpPO3;hft-+>972W?;0K!!6_T zxK-$f*I}M@YBLqEJAHkHIWYETo7l(^*C@i2l1+yLFg>wxWMCBT=;i}saeo*0G~CgR z1k!QOz#TVI!;i;re=-HoR0ek8z7F@hafb>79>aYX?l0qxwj|Jt`;)kTjQf7v4I?S= zF78uthY$e{_bIr0aK|yefkNDIY;0f)?ta|0@v=S?%@Z~2xU<7MZ;WzhY1;ul_rkpm z_io%D!2R_oI>z%AxPKVsuEv)#B36!xDMUsV0WLLP82y-Jm@VSC`*hqHpH({UjE_H# zdtDs&KpgiQH z+kwbu8@?sUoa?&?Bhq}F)|(ch z)AJn#-yEF5y9j3luf<8d+9$?kHO}vibjt_b$|%ZZh^Y`K{K}Mz@stON#zj5nz@3Fv zIjVGWXjPIWutcs3(a29~NL4=BRSu`Rt;Q^WInFN5Lwd#mOCbAVq-r_172%?J1aco;i?ZXk#XM1T>%51$_h03AR#5G3*wU<7;s z9{d5I1Ly{VO1wtgeSjYb03AR#5R~Tc)M3Qk2l#;i&;fJpabXzf^yP~M%;aX9|!;)KsOMSlkGF&?gRWl z0O$a^fuNivek1Nazz+m~4xk$d%Gnh#;_d_dKmh0fx`Cjal^sUheSjYb03AR#5R|jI z+ladl@B;y$1Ly{VQW5xqM%;aX9|!;)KsOMi0MZ{IBfwJb2iU(3pc@EMz({}*@Bw}x z0CWJ|Ku|6=pAmN-;0FRg2ha@!F*{Z-~;?X z0O$bNzo4vIMkDS%zz+m~4xk$d%4+8`;_d_dKmh0fx`Cjql71uZKEMwIfDWJ=2+Haj zFyih5{6GNc0J?#otjZlm+GHxQK7yxWMo5AXv4po2dA*C6c%T>$)uo!E{4 zG&m^V@E1RUK^pTFT>}NW*T5aSb+3XuKGnN+tL_k1bA1|ihs?N=@ejf)?mIsHlm;)O z-AE8~4!d)3r_rNh+!_7og5}Zfkcj08%bZ9)%zZb}Wzp`8zjVdQqmiCeIb%~CN>`K@ z+~3r_3hsD2`a1CDn+M*E>ppOY?ltfg75kWY{mcuPEHF@#f*!&*IPjqy%BI}hTq-Fk zp)O#Mp{k0q2OFrhwUq{ewzf8EZ*Ql*y*+f~$Pw!6>!X2z0hZUNaXJr9>%jkqIxzk# zx>85zUa86Y4cdt0^t9OPj4}G|X^Guaz{y~c{~IK(GJOico%u=sn1|vnxv^*U8U}wU zib#5iKVu%cPKAHE&ILXrM~#lW@H}eNh~%-+SJLRwNu%SsrzY!Osb5jCk7xZ1vpX@U z^BLB+#Pl<*_+AzaqUoJP)Atf(?jzz4;4*3fj<03zs7*RZD8

%YP=15X9X&1u8o}QH{NrcB)qwzRLeq`cLCmOH#N)pdG`)nqN znn3mgT%^Z%?IfB_ohv|u|Cl7oH~hs<%pbc?+kK1#`;HOt0e&C=bO7Bz5VjoxjDQdD z0|B4|=mvtY?GRuDe1IPa03AR#5QJ@q03+Z7{6GNc0J?!7Y&!%P0UzK80ze1Q4FqA^ zA;1Xu06!1_I)H8<2-^+;M!*O7fdJ3}bOS*`^nelY0e*n}>j1ieAZ$AX7y%#P2LeC` z&0dxaFNzVd^BmhPM5C;MQpabXzg0Srn zU<7=C9|!;)KsOMCZHE9O-~;?X0O$a^fgo%<1Q-Dy;0FRg2ha@!3Bds)-~;?X0O$bN zzaVTo1Q-Dy;0FRg2ha@!VcQ|V2>1X$5CA%WZXgKT4gp5M2l#;i&;fJT2L7@KT+$sP(pTx@m(mI#A#^3@S)R=Lpd4V>Go+?Ut2dH+ z%Ghy9<0)lS+F0;l?zoK`lR7GelE;o8hb4MAregc<_%Y+K!PGE5mAO$`D*HQr%-C@T zN=i#j9WOab9^jA!I$UYY5wzn|aTzFiT$<{bh9D3knNmidkp@>#vK#my-th)JOOA{_ zb$qIUrDGHbnX7cAN$Eg(B}bWfw3J?!FXLs`Gsdg=g8Va#9yk7s@#Ao345U0AKRz;_ zhucQCmS8-}+UXLYil;V)20OI_d$!y0I~(_G+;ge3C6~HdbE$260ks2r+i-7LPkR_z z*Hb63w|zbJ0Q>eZw-UIOz^#OO_LRU4=q#awomF(OtBQJo&b9{X>1=>|1Kb+m2JCI1 zJ#E{mvwb^t0lj;-(-EMvy#>Ep=txfs?d@!(o~~9pxVIJ0t<<-#mAdw{QCDXh{Mz6K z>}!KNb8ClNJLub~w+DMIux7QlYY!dl>7?F$oixzfNj-bJXdlqigFA3=Ul$!Y*hPK4 z?Dt;K0SEWuc`xXJBYWZA1GgTy0Y`e^#-8`lk=}iH-iK$Pk3Ap6n%F_O9fTXucaR2w zKG-t``g-vjz`9wVwEyD>*2s?FnV}EkR&_tfX**_4xn+!;dj1St=QHPV8O&|Lh;wFQSqaxn z<}+qNDV5N~8EnmF{``6Kn8yr52{}`y^Lc)M9@?H|mtTI-ym{lCH2F-I@U0%i<;OsBBB+r*Z zljkhC%r85Z`_~o~T(WR7In%S(`2BuRmX}?=VQtYRlbuvza4f&9tju3tx!Lc(d_$2J z@|B8d+4&pG$~JG_T;}&*c5#}>@*rb!cK)Rs{be9tvou{wZ)r(JnkOf}aLt-kOUz@H zd_n#h(&w5zrrF~|`G;JL%ID#>(X4&$LR;L`k}b8rds_?8##W(CMY}0sJK9f%7PO%) zw2!rm657x{GN8@dhc)`Wtj*hl_KyMW9s}CGUe?wDeQ56n(B2I)9AWKWWP3M=HcxHq z2GQ2_p`BxG+#uRGsclo*wZQ?oZRt`6XE zEsI5%FmgoFh>;Tn>516iG{e{_v**vAGS-mB9^p2B?5NCzGtN5mtQqrXj~Y8)avM9| zG-ndK&OCF*{M50`Ep4><+_P{=&S%XZm1ZHqun;=~WFxEDGt|-nu_uO+c zMDv`p=8v5~Bk@|SNF>fZZ!T`;vt~~jNh20!%(7u@EHWn&r(Q671Q~1@8Jy(EoU+cn zV7`Gym_(7YIpIKL6SJ@-U<8evVN)HQA`H*M`6FpUs#C-TN~eumxG>9#cm;#WX#=Uv zi9ZV$n&v}3OZphNF;{k(9HY`%9*jN1CAl(U#~D(3EyCColjQ1jn$&z@`IkDwwr9!kDP-uxBrB#16BlBJHoaO z$C6Zf|t%JEOjIwns+(PBBb+9$E+~Qot)=^Hbl<9&=5b{ft zigU360k#eoY#qGEV_#JYb46)BP68GrTZenGuZTG@N1Ih(whnQ{`qC;mNGQ(FUk+P` zId7x%D0>v{!14b%4v%wEvKNQqN1|05*`~@rde1XWK7N}xV)sa0>tZQn-hmT z<7S(y+B$4b*f}^@Mr`J}T3d%?*7#qxbr>NngSxMSl5rl|I2mx1-*H}_PATiBP)f-Z zN-vpCQ-G8zJXcMp^rjhL7UySp0csln2UAC zT>Ngw`eb`c0qucodm!5${O-i>PW$kkN^J3Hjr zi~Dm}1MOkIAx9U&?nAtL5myQ}{+)mB^T-UmXqSx5f7C}QDMx@lN}be4>DUy=&wGk8 zvk%g2^ZR7ypQF6OKahKAA1y8Dlimkkk9E;ptczCReem_L3kr2;%OeD)6h?-bb}N|AFv*bY;swsH*h{H2^n4o}D-L zQfpfu?P?pK*7gB}@1x8;D5p*UYrK5tdYX?l-E6pJ<99CBcysZb+f_mZd#b1aYrO?n z=PkhcZUNSI*JGWc1Zxx}SjTPI(@IrXzvVl7Y4b1kQ7hJOuYd9hYQvqq6W_K6`x`sE zsI_x1wYB#Ez0~%=E3|!IFHPy}qv=3F59B`xnf5aI20;Vt8N~A-_FxW@o#Egh-i5@y z7k3~Ruphy1AQvbA)&nI#6}$K04m1GUffk^ZVF0{=_MUyzzGnck4G`PYw5Jomo~Au} z_ToM$?Q!bt>co97b#^hp4f1rt#@&VTVEdoCu>YwG@BDXl?ZbTlfM3rb)}`gWQG2of zeJ|FR_wGB0y;6O&7k)j+&z^R+UfzQBYI*-u5BA9SAdUO5w!_x1_x0=rt!QzlcNKU%vl%fB*3pHuvii94`T4$Ic61-^-+VlZ!-?|afBMUZAAR)xFQ0v8_fPg8-*h69 zp#13JVh^s~XP$oQiJ!F}f4w}yfB*gu%A9r_PV9Z+iO0JhZo8wua=(V)MESt)93sDv zH@P2wyz8;f`_}%xf0ZVN>cfAvi9A1lA-CYM#~yq5p$GP?J^n&)}U1(0PB+OGj6Svgx*?f4AcBLbj-?`rozogO_hp7@XKVP|B0< zD-s;tf855K&C;6eoQEEH^wEcyfBW&-&PKKxe~Z#B=)%*f1~^WcLIJ@nuM_wD)V z+M}<(Ec@Tq|4QA86?w}SEn1$JckQ*`Y-zdn?6W7GbNFbb>|Z(1bNQwD7cW`7c*#Y} z(k7s@otQReWb&_%ZRDX~Xxvz3W>urW?;Y zZ)({8M9tMZpL_MKw-5g6>&-uC{m!>8G@f_v)Ty@|RplETIIy+$wZ6XhUc2|Io4XtWuN?aA zHCNqu!>pON96wz7LX-yg-*))KZ|?m1*SBwLh)sDIV0c$lBBoP@goHo##Nb_p551arcT?8RA|-ytwFvRhSQe8%9m6!lT{MWeS?raS$10AwnoA&6QU99elBUey*N;_HRsG0_$w+4QJO`;OeuDJ zy#`NiM&nrxdT= z_}BO$e?PRVa!r3FN0(gfd~I~gxv z=OEHHh~FsnB4{X{*}t7t$lXH3&A4PV?Ud>rexo!hD7z9R0m(D)1a6gxmuU>EF>3hc z666~=1ld29{vv1q;zw?vJS*KSf1nX-now{0*T{868-H`jF;@`rSF#+)05x(hSja-- z+0EkbN4Y|?aIxCL^i&)F;7){fLtdtNE|z{!yO0_tfeVxfg&0`)Ygp}+d4$tHxDz>z z{6oBmpM?iC!XtE{Kcl|_@E{(J0wH?z!fb?rPNNa`o}a-{invy^nuj@rpG8HND_3Zp`kYj z%W_bz{Y(eL|4_&xm;I6Nx{Dd!m%8A@ohWKs(! zbC6?KB?y-SAsR`F;H1d z#Z-e`iDmdAK{3_CWi~CMP4KIyM#*IyTngY{0lG%q*UuDGV6VGH|KJU-!0e+zr!`=KC@iV1HTNtU7{ z_Ls1B!ESJpPOtW{-|Fc`cv!Z!qNebwy0Qj0ew5Z;+2F)|Refzq*db?Ag-ns1v&4x9 z*;jd3QeWTTX1~*PKJm$7G#bswPXjcK#Z`wmDQYii+ z(AI-GOvBRx#I8b(pUKJey&iX_fsqo-mg3KYf4St#bh{36G6}GXgpl$j%NeFC1Vu5G zA{?s$_0aGJRZNm;^A#SfzOi`KG_t2~4#;`53beK0)`YY-MoEYrX;Qi)X`)jfo%X3x yx>#zqO0ls#P$kTfBrTHUR;3D;Cechu6XX=uAQWp+v}G|d(WxSEmd2sOVx^23w5bjvEau4`1XFJb%&U4Or&T`LfS-5O!zRhNn@c;Teo2?G1%~oym;O`*(9}J~d*QudsTxnUY zRJJFgwhlR^DlxS~wyh0EZOL@h_6Yb2?r5KT_9>seeC^n3TVcp&o0{<1hHmshLiWEF zHJt8B%C+%WI;6(rq|J8hVnf2qfoj`ONT`N{5xq!gON3%-Y86RHrERv~Uv99Ue{QvH zl*T@)7j~miHe1t#K#%s-e9wxz(2CT&0d;m-p^k==SG`!R>He95NK>^ zsBH1I9gz3UmJ)6N>gnU^ zLu%_urR7d&6miwW<54*j`}j+HHC>@->cjI( z6lI8j&6m>)LgWV>@=-#R3Pdo@^ZAINBL%cA6p?E~(Wt*WEGN=xJoax3x<-z~lX9I5 zt-Hd6K5mg&r=}92ba>Ur1RXA9*2$4jR}^Z*I-+v&6T<20HOcD&u~a$~3(KDpVyIxM zPs*~ud`1{uMPDQ>C*jw+4#x=X2qwGawNKuBOmWu32y%*kx_v2XiE;f6{`7psT^&f(MnkF8(Vwjzk0&30`op%%5_nn+^Y~KAvo$}MY*@H9DTmVXYm{MO zHRI)wnUe}XQU+INspf1~W`!-RZVjm^ znb+gt3ljU4;%Z(4_2f9w9tLyxyH)fKFwPJS>x=d1b2q^B*fxog9_ZGRw4pF>t`e zhpzpa!U4XHj#fGHV&Ja7Y9f8fWT>Y$n*4Onw?=AJgQxTNe)sH%gR)ZZIj0KMOS!W) zz!cA~lesCJHK?`KEJF{YX%O{lU!XFuy&-Nw*M`zfBq7}4LK6)5GHAd7|E82F~iATqvp>u;XxO+j1ufZP-`dO1Lm>-R|hoZh{ zG#+q!)VNjRB_;;&5F07d45Y^nZKcJ*#j4oc>Q_#&*)id z?26W@YiB)lV2M%)A3+tQ;$6wG{IjAvXDOc6;L6t8I$zLt@paE%tw;-0>Wuc@{ZVa1 zYG|g?Q^%yZ8$+w*hImZ*=F9H{`4iDy=vGe(ceoqnR4Sy%WHLO#wu{qhlo`;Y``nY? zDEL(IR_f2+TYb1uDb*hNI0ua#rzhRY_mgM*`gH0-SxA_c(~Ihj(?%g54B%>U*YsQd;zJ$>o7ZjX3_weijb zT23r|(P*fr37YRt z{pOd-=uDb6Ic>Pj9wHf$gCr2^kh^aoY*r=^V9MlML^H~)AO>s%oh`{YnpawtQ~xAY zODi)nS$x{pyOlvEU?uu(x#Rj9=C6ZS7#dcx{vAQi4TKqN#&BP_k>Dqp;ZTsQK_=Lf z#l-9W7J?5kGijsd?O6=mEAPz8r3UU3o`H^63}n2h%JFONBWJckπeBVx4z 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 literal 0 HcmV?d00001 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkg.dcu new file mode 100644 index 0000000000000000000000000000000000000000..633e74cf96dcf10ea644d0036e21c6cf56fa8b7e GIT binary patch literal 3651 zcmeHJZEGA=6rN|A?w)KnF)g7CzEMPE5eXu0iJ{aayGawt)-}7SMMOG#_wMfP&dv-o zlXeqCiWCtMsV@|f60{a6rHF_~5fSkX5fKp)l_1(r)}Ih+^xkP=nzeWR=BLbu;d0M& zUhX;P-se1E7=yWf!`Sg=Wn}*?e=Zwl|4`Wun|Wb7UcK0?um1Gl>4dQ_*tuzUs2bG% zl3!2fe!#;EXDTD6---8|m(Ny444x=0gb{BUhEY#X3fFeTq8$m(y>i6=objZTPP-zC z#iK==HSIc|@$Blk<%4h3``35oTxWfcMipKLdU8+n2;(v5ZHc0FujY?g3BJR9MuAn zbM112x470rVcv;E!E?2MF&4QqGD;mFkw4xV^My`Ks;q&hFGC`ZPkVsv1@6vkrM*+! zku{2HT0~;fv7^$sHoRgW+=vHS{oc3)s!y~gCfZRh3iKyTj?YJt=W1OfrGdOt*UEbe zc9;B0WmO`rwk$xadwAC#C9Q#E&JlhksOrwYebNhBTJ3~%FB?>+oGb=jTj;OIj_LeF zfrp`due2_9=4@ZRb-bGQShE~(ZMXN7?TXe+D%Q3uC9duDT}2)+E}yA7|1Vd)swiE1 zHyI;r?ajNbC_A?%bDQTiTi()AwBT^1)4iJVh$=Q+!fD(Nm*lsyhPirC3U7S2zm{FHr8$j8U56)O|S_kNpM-X*)qADU!d-WUJg2<6vr0A%z z?HK!K-CK>dMU}5fvwa(+CMi?ynk>7)$UQ839RU-|-hfR9SoU9Zx{GBu^XVYVcG9QC zvIG7#{$$tj=gn+y9NTYwnZeNmJX)iC#b&ZU9Dc$u)MQ|!2TX%y((40&8VS}#yJJzu zY_LhVWM(?18Yzyy)Y9sxS_oR3MbwQHDK%2a0Z1(JRYTk`uB(Q_`_&XfN`33w%D`3z z{Ay{ zg)a$T5xypTlfk!y?+D)$ejxlv_?fUw_=WH*;qq|$s)?0UdR6_+R4NTKUZqoM(=_|3 Q&pc(kXqvOe%Z6e94IO)cE&u=k literal 0 HcmV?d00001 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.bpl b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.bpl deleted file mode 100644 index c0d26af6275634abd65bc2b35ef6e8cdb70ec792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389120 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≻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∾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

K|*(ou< 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 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcp b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009D.dcp deleted file mode 100644 index 2fb026edfdabaeb0338003ac3622dcc77506f778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396631 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"@lz|^SSLT^K=(*LUHyrd6Dx;<0 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
  • @!pFw%B)FErXg@6B?7|l!YKQXq zg8LWD2d`lE_4QWof;_p9Q!@y0{A2zVp#lg6Yk1pWtc=|ud5Ij00+IS&zwG>dat1D4 zCjKG)MvQ!nIYnQ2;;Rm`;NUCdq;O^$vVKC}h*}>kf2syjBPFJ@dF>+X)^dvX+mI!RaPD@n6>Y>GLi6EY`)5q<@>dAU&Y87_X_JZ>wz}iL6g>aGF>VnuETP zjr3i;MWL?(W<#J%Yc=!sKXFm3j-ndBPBj|_B>0tnLgKqwe@^u{pCe#q!m4~30caQf z*?!s0)C%%Na6Vi73=gV8@;T!ka?@`9Q#362)5ciX39983iyAYeWNwS#hT)D>8TS3- zq2KHexw~Q=y%_Eyn3cB9`SlXIxXzP7>I*kegl741io@O&tL}?*HV_-aQD3kQQnc$e8~x!LEY3c$%&+d(|gFt*%hlFfHjCfGa-w9M5N;l%I#cP z%qK`XSOwvNLoTM1LjEr>vCEifKWpju5`r<2_#FOritA=!pn-aLS}eh3g1*6MAV@N= zC0h+M1qY;-_S#74c`y8703gow*k4*k`5thO19?XYGFDYI*cPtXZ zQQ(ad1NPt18lJ%r*8ekx?+S!<9d)$%@}*l_Y5sztDcTny14LZ!%O%5D|3x!zDDL^(+Zewn>E-54Et{!h2*mcn+MdYF~j zK}%(m&DD<8E5^|pDYykosQ6?L;xf0FzV+xSEGT4PpUpV5qfm5npftbwPch>d-?6e& z_L&%1G<5TN?b56bCb7{ej%t%d!IU=iGPY5tnavVi5uXcPBGYn)#?BOV=K!S>&r5uVh{w{eNT(1EJ(FmnpHXKvW&gsXR_>I=E-FuIS@lHk=4gn9Nl@=9t#*HA^MX7Rzc21gqP?%`>`VvHzR zouOV$pE@=hR_zy2Y)TDQ)0-O`v1#_eA!uNR)-QUk%Y*_$^{5$YpHoW>As{T zA+dYNO|K|w4nIJ#7)-O)G?EspdhZ9cWY|6AfI-_pAQ)Nj?6Ulj8&961@xcmlU+>EI zP5pPM+mcHeZwA_S^iM7q{1Mjubt5;lXRaHfK`&g>9Sm&2a~NzQzVE)7f39xOH28=6 z1_!=Web;Rv*xGMCr{S~r5fd#AQD#r@qm?3kNiA9l))`mTQ`SMy+11UVWgUJ?Kf}Ky0_e_H~ zDluDpWOe+*8ZuOa zcoR+wa}zaWSp;^>6Mf^)29r$_*z-+fRJViKSp%{h6EfP;Au~G2wN&BAj16)v(Ob14 zL-u2m2Iq%@$u0~vsrcIjR5JWzM=z1cebSSStM^S*6id!UK&7dphzKyI?l>sWL=~(29tuBmdqwM_$Csn zaxBPfoT|n#*JM>NNDaqf8#t_jB-~KBu}tzsaLy_gmd)#SWhI*2i<4me(lrz9goNa# zT|Hs)W}OYJ^J3EW50zJ_lU3O4)H*c=8^|gNR9D2rh9zO>wq@#s1YJ6x@Kh#DfmlTM zWg8Kno1wSi4>qu(L_apr86Z=2mF%n!pGq?PtoujpC<(75cc>>=D)loa47WEcxzQfk z5fog;CfMQL{!|4$cU#i(XK}tSt2nV=h5aoYaG@A^PjpXK0DQJgp`+z1#L1*e^)S&5 zWUfKw;IOyru<9>{%j{EU+(*Q#lWC!|>x_ASuBroiJ~m{Pk7ynB1Hm5N=E_%S6^b8J zp{+wxD7$`@wYSJ%PcOsd16^gdGVxTgi9Mx^qhyydZ9jzo`pcJVNh1%Y5Sc=EWF;4$ z6YDu$kyU7Q=|vBoUF3X$Mi0$wnP*%LSs8PMnrFu{{(fVndQhH~b9Rtw5z*3DYRK%0 zjE%=^nCsO-gaz*lbb)ct>WF z65cyHn>64WHz!!fp2Um?>s&LKO-j%=KAV(4sL@R}o6KP7O+;jepDDF`CYZsD)QEw; zFzXqq5#dH>q!P+IG$WM|<7cE9%;2QZ@6@DFg3M@An86fIg8V(Ea1zQ5PvInt|GFt$ zVx+94XFP?I!e>8)GX$P=3YVGi zuuQ5l+ngsLuC`>;qSeiQ3Y>1kCgT>30!gA}WSo+?&MupjWH=d4w)&T}kdTrr=kG0< z*0HSC6#bc^{(j0?Hcc)wy{t1+!Lh2+(a+k!4X&vq+Y(7yrtiS|O(@e;X(yW~W!Wwj zh50o3!&ybfGjVA-^gpU@k^}ik-khi(1fMk zEJDV0z8Ozm(7#CAmwZJsnOc;zBDW7lahPEfE@g#c&0SrT=e+OFSa3uyN{h$MUZcw- zvk(%eeI^@lGw$+rqkL@8Tajsnqk|J{da5Trn^B4%v!$?M{IRGvWfL_&Sj~Du0_iWm zU2k^kum18C;#M!-Ze(}QvP+_P`JGG2!m{T|GbyF?M)nw1vhj+aUeW3ttD!hfm&N2i zSshM=ntcAB=@L1~r6cIoAXybkB|*Fv(43?Wqzaqy9Qy`9C!c0#poGh%mttu;8`044 zGdt#xY|4@<6R8^%yZEdjWxl(gY<8F`nhdAh*<^=yRCqF_Et~q--WS6AfqGreMj*;c zeqVsXr#XI=O%nxZk_kO~KRB)%N|p6-bNVcMoeZb->#}IKNK%$F`?f65vzpu|nmQ^z|r6Jk$I+d8ex84xWqFCPn)nRiM(Y+Je!$-1>?>|F<*paOe zVpjUj>JZuV!SQNDvMGJ4I+>tJWHXte4xC>`pbnf*%d-j3w(i(v27Lg@vb$yXCfM+C zn||s|%p;g5n>uEbB}kPhQ=X)329G%HAlVE*Wl=yuV3O;Zk>$XbL`Mi_QJqOc`90Kx zY|@%UQ%I)IrOK)dl!Zm?`RvO$4GFVdzP&E6_ESX8lqDsdtQZ39lRFiO|VP z8o^ko_aqTN1wW5wE{kSqMPfAk87;QZL(qZc36`%Pne-9&KR3Ro{xqIU=eCvTh~_tq zkFlS^}ZelgdK&WV(@wq5S27>la@*q0F1co=oQq zQqy8UXBOOZ_jd}e0_eE1uvoA65+B3*O-JP7i(|^dymq-kGq2CRv7zgwW6Hc)3CY)c z2^QD4FMseC-z#|irfXA=Dhq}69W4WNW`_Ej_u<_?IHJreju)QwxD4;jk>76mVZmcl zuT33Q7EXKp-`xU}k?MUd4*xkhX33*J#OyAbSJn>Iqy-pH{E1|gXeXR zi+PIgR|E51wc#kY8%=V2^x%7})mEp;YbASCc#zyKKMCzL;k{$nse%BCDKOuO1FZ~> zrQl2Nu@*V4^W#!r9zwjzn_lxU(eqwgRf~V18^7(9UR%T;4F%`nZN59a)=o@+fa}C_ z2%Y3h`Z6Mem1FvHDvRCWp zj9&9n3808^r5Q}lLXQm>CAy--gg3Ke1ODg$OA_9i4)%7kpXWIbJ$bHJRGtvxM6!v8 z{d|@4Y$6`3%Cm`hUS>S(Cmy>;0z1{HqA>_Z_%}b}v9k{Xy7?*fgF@W=3H9Sa`gnwA zd#>GMqo7oLxk_NZLZ;-FvV5SdTlH_K81t-~Ohq3mx-4}ovC2j<&X2ZwM=jn%%# z7FiEltV%Lg1!WW_NkKO=iBWeEREp?N7Fo|&QbmLkRztIFb9&4yYfz1?^{}GLs_h#b@7Fkcpp}n?E(V%||QsDfJjHC!8Wct1S zsG91JerJ*OdnA5*qUQ*KRM1%N{2)9f|f$L0}>fc-oT__*ZcqCD=g zQyTiHXHg#UIGL$XeDd01?jz?**F5G3{TRQ-I(+>6>Zxl;BOfjC85z6gaU%1yzI*hV zhcc6Ww-dbR%(?(!?Y`!5;hWnNAcq}5q^Dr;TnBw_g}?ggWAgh|2Mu8j0ssNG zbSMuC>k%cwh6cLp@b&>*oIbd)^i+%1T!oaB!RxE#;)hrKC=x%+*8*GSD>Qyl4fhSP zj_vFcYt=kzn^N_5s-4^TRj;Ls72~OEUhzsiB6;YNS+ADk_$}(?DKo~szQAA%b%8n= zWeg6hVU#5*97fGv+_oostGqfA(*d}#NtINAcbmO#?iM8bsq>KN9cHhM&5aPoxz+4- z@&^Qho%HR8XEiDs>)O_sy$Xw!Ssx|uDzHSe;oJVe9B57G%+=3zbKES0I1e$j z%(1OgCtb?wIkxrmdmeJ7a*nck7!P$&&apat#~c@1%oSO=WDd_-F$tXSwS)se{40;w z(oa90nc;PVIY>1H`}+i1D0*0UJC9uzE&tS2b(T~0w#ULI5_8P>)y>L&bON&?_UkE+ z1*V8F8A5Gybr1AJ9t?N#)_UNoM1GPC!1=to0Jn!3e)gwAN z;@yhR=18a7U-w^{@HnYArEi4nS3K+~2;uF&>T!cxZ~&lx4R@kyEx4+HsrHfJaIU=S z(K<=$H_5Hys>iOCgYz)b1X$f+`BhII%kcVM-Er|Xj|~$^R{G9eXs4S(0Z|zaps(wP zc@E8CD-zPZEvkK+uX)_~?&=-ToYsJ)KiI2%KkjjDiu7*LzN;oYcG#E4HzeM?n|*Ck zztFcTWcXW?&c6GaCs#{@TI0r$5%rC$)G9XLJK?c~V{L=18Js|B=z}J3&Xd>B)5fsQ z=%=qw(+AaU`WUvv35s8)FUn|qI~L$bawFpd*PEF7n!1ENBt?Nf5MZ~IY1IGdKGF)@3wFZ zM^;E}aUMtKTL;We^p~hBm^IjXd(ll&u$MjdUS_ESA7#&D-04NhLw_JYbd%QJ-cIU& zr;NRgdJw@SA)3@Gmyjm>tY?0T8D)wb)g4CP_PD5?iLS*n3Z$C8NIAl8K7d5w_fq=3 z8^8OyVyuTp7wqT_J}5qSyd5aDRIkO$xLCTFF&}n}@G$g%9}1x9xv9{k?C6>XBUJbC z;lgFXXm2ob+fsZl#T*OoU?UN%7on!ldhu=L)*h<~I-;YBD~aIk6^ew(n^O~^Deh({ zIt|qjZkfkpU5$rD;0EQ#u^K59U% z>vwJj1F%a?1InF#(s;jcd!fWQ=$Im*Y>q{ z2YZ5)$LO>u_O}x9gx<9$)7c1qrwJ9HK87W*buEBE1yJyb%Z0E-w}Ko@>eLp~`FEvS zwNXv*KLwrS^nKe;;mNzAoY%hPwPJ)JxxR$~u?+NeyVqXT{2+`d;iJXsk;NE&JFw4u zseqo7|JL>S-jp$k1$K(->xe6N%=&~~iVB4`1aw7F_2O6MX*wqStp9yd^v##hfVI)% zWe*=ckSoed(C-bS$MYWJ=<%FK)4BBi<4sJHXt3&MgDNI|@q^XtNTjV$P2~KPiKN1l zHY_Nu{|9NEvE1^woUN#?>gpp>{D{*l6oFo=$JGWKXRHHYnc=b2*5Jqc?H(tlaADGj zk;?fdh*KrRnUhi+Y#i|&7!u@F2r~CxgB(sM4)o#!MP>0?t60A2ZOj z_>_*m3K8*!$s?wGV6zyC_(ep#q{#K8oC9bdn8hNph~lwSH&Co5{Ai~ixrk#>#Boc? z#IfFh@V^WE_g56g;q$cwjNE)Mf5c;^?j6mS7yp|cOBZuM`y5aw@2`7oLovQAq+qRJ zSp0t3~Ba{&LrLW9(z8DItaA?gXX3&^=C+bbZ2ZbzU;0s88lsX#Xq=!gI7gvq!|WAZ1+fN5Lq*uOhxT7a8Jn&T**M ze}G*}={P8`-;)v>nG<)2jnKaV^s6cJ=*xsXDzH=M5wNvmcZB*)pcYwD!Zs1?F#(&p zTB{}t3GwfNxWKZl+$N8z+H?(YCj?yD>LE@h667&JR;3n_^}VMBYU)7(X;%+X66oIo zbiL(ghT;+<5IQdVTM%_zfTr$?`Ke9<{0RWJTAB=J)0$6iS zrJ?Zbau(M*0bHIjFuUkUz|R7>WK!Uj0yuS@j)fn^@LVW?K!#T$GAZE6-qe^w4M}RVGs|nlwlB#B!? zBYNryAq=zan^>->DY}ySA&7A%2eT?kiW}2X&rK37r`FtSP9?KzCVfQ{&Jr)veS}u?5Md@bcP5M!KrD{sCQ;t)62%#oAv6 z+9?=&pF;|YZlVDQO~IQy1t=PM{`fwm!)wLhBW02_D`jIuy?~sZ5>jYEcL1)!3Uyb4 z6P*GwhRruR1YC-m9CwY6%JO!=uCab6F0=WDG1mOlOMi&qMb?#x2s|m}m9*0eV27<6 zjIBhG^iy$af}pnw=oDE|+sDpgk<9l2cZU^Ps+<*o*fA*tyXHg?_X1+CwZQ;EW59@j zNYSn8TJBmPj9Q`QNl472Go-x)f=YwA*$>R%C;E zE61g2q4DbNB>|kG$I^7$4!|z3HKc%zS8mNy)ovt3_MjWlHQPG@U1dwzi7?f+NC3`B z-YDZ$&=z2>w?PM$av?Jvbhe0TUhFwyid3pi*p!8t7tyJU=-y4SUSWxMtmq zT5%1qM{H0OWo)&7!9^FV4$rhNJYW{N5&X`UMZchp9jr$I(_ zqX4aCjlfDhs>o`m4|u0ii^qn64FWPvFU>FRQ6|;_@q(?@kcmR)q}e7Z24R7iqA6%y z^Ll`p?G{6?NWJ@@07y{^@j788a7yg28-z+!3Aayzin2B6gR6jAZco{om_9fnFz2SM ziE+x{YM|EJQ`SN@(C-nbDMn^U8m|e~1J<7!mT7_q1Z>J|Wj(w$>{SDE*bX&Ns*H(h z;Ni?rH65@DsJkacJvs?${CdM(Ks{u~dV?fu;(Ehzfyy4uNSrSltS3=*UkTVT`=bU} zLl)F2sIR94Y>Ih+uC1;E-WfZzRY^>mNt_i3DH@@!N|IFf0OgW>4OCSLCbg=1PJpK< zcO9JTsSSX4IiRP?=+Xu<(^D@C&=eA*j!H`E2LS1H7^e$jJ}Q({b1@(4<`uH@-RuxH z@5Vhy^FOXScbj!#0X4HYpEtO+DY=&6s3i8c{Sp4W2?hV?wcD%$<3gnH70+HT$OI~ehAgpqM#a@Gvu`sh>Z@V$5o0eIJG$hFJhEvQ~ z3JGPUKuJiII`Lt7HGP>CJ-n1Ceepeh+EXt86ZXvXER~iQ%BnxLpu%y93gQP^LHqz( zzgiITRyf36&(MExeSX5yzJxA~pYH|y8po3;5eZ#eyZ~T06F}7x-%}`>asY-Mp2rP% zT8`4v%Ai1;7r!DXi746jBh;lp-Qif895q)=0Z|Xw{>BawL&BP)6oYJmkfKUsNhTyhfgib87(SNr9PuM7sz>P){3BC~UqYjt*Ng3bn$>Z%chS%kAWCaOO z-oh;bHWkwjBEE^M1k6Q0%y=G$8~gh4tb8a;TktqnZl;s=*eF)F=$$x2fW3S5@K&Yb z!JY)p6a?rLNc9e!fWkv>!KijrWFby1u+4V@dCB8uN#U1N;NpCdZz8`z&3wN|f4bu1 z@@mtTA|(EVqt}qP(0$r)ww;~gu+SvvbSA)(jZDhbDF7aK45S983O6o*)3rE##3=>l z6~{bdK>_BXfJxZHkP2S2DN54K15%N*I$k>BVadLqq`NF&)72-84QiIs$t}XZ3D^sq z5659^d(#T#sCgQV59kaMR$L{C*(8oxVumG|kad*5r2;fzpFjdNSlcD! z=|CQFZpbm#0<lPPR7fPBFDh%qDN!K)VMAXqfi+E$8a(n)VHZ%opc zAdaKXdFkQ+cB8;f*DkmzW&)iF&{OF^S5tPc7oh1{iDn?0aNiBw3r_n!r`+*MlP4!B zI6(oMuGhh|tfo60>BP$^1iTo)W>>x;7jSV3=jH=*O{NbO;`T#dA00PpA;Gtb7$&LJ z25oj0q9}3Ah>L=^Ld??cBj6nZcyXHXPHW%>1^i~fm#2nj3ivJoKZ)E1O>H)S>r(?W zO>M6LPFIrD%$Zqt%J5r&>UZ5`$PLlPksA+D8$T#e(}^3uq%t4C!!9hTNL3`WC6!ST zUAlUMM96CZ??P<5Q)dpF1&j&YNqX%#UDgBWL#d&eE_+fyFHB!w;uTsiu*Xtkv#$G$ zz)m+J=-Lex>KwqHarvP-NtvHUbrLb8D_=bZu0PF19G6_spX4Z{E`aM#0y&-RC`w6* zx)r!CC4Nq)HBYwFXP(Xn$$7bD?Mz8vE9@Sm{GUGh#bwro?l{-;^JhvfNfal?v1QgU z&DYOs^Y!zR;>6&E;`9nroR|dXug||p29}hj@4m>DrZ_VR+KBP*Rji zeNQa$DyJypU(quDmDGw7Lw_ZSq9mb9iqbs5S16@N$F=l*)0OYuW&!ZHg6&fY7`NGU4Ud2?3E*@sTHgYk z3Ct@>uAw5(TyR3bB&=~r87m#SEdfrE`xyfc^;WhS)bpbYNGFc27tR380(V^kOrC&A zm?uf%81%wfK&o;>FO)J1rC`(xiv?`D=A%s;+0$%Pg>rzs-VMFbfNj(Zy#hL2%>*=7 zBYJ1ifYsDD8$d_gaa~}X`c@%86BHl`G(ml{1Nnga z05(b_d9fX?sc$|3o1nf)u*uXn2au1tjZM_BzHLz7)`)1*NuQv;IT6PxH`F&-c%zDl z>gyNS>8h`;zPSK;Asr}F-+BaSy2@-&-);u3ITz}iBy7UT`(Xi_uCIzy-{u0iBp2$N z44hJZ+bLp5HWrv_%~+hGBmt|X~7YU*1aP=|A&zDcsOiLwSKr=Yj?X9*bqQFkqakFN`%mz}&JsYr>a?O?}hSK5*{%_%}tgN zh33WUMU<0NVo8s`36bv2qwQNcEh$eLZxu15>!c{F_?ck722qSSM)R-+Ax9y#4Ymfc zLm;PWGJK=U&Mx^g4;>TCE8VKQ&F5CvsK~6)tz1Jg;pQ6LGr*@aR@$#g->o>Yj6PX9Ms3!{b)TV=VADc3SVK@0v->I!sCeU z!KHNZvZEQ~YgTYwQTV#mu&}E|2EV@Uh39eM>8caQ zOyRY;3SK9Km%EOQmNouBHzobA*1+?m@Koxm2YT;i^9%TW*$=-{x}P@hfL~J(ey4?> zt4@qw@N$OXbw+qO>(t9D@Ud@&&spK4)M*m}_&u`&e&fO~uTCCY;H~V2_c`I6t9oO0 z-xr1N<^%A(AbhoJ-0*RZ!snv!vDU$o1Gyf7>m}h@P{#@&RvV7_H$`~49|gl@!JyRP zUVF`8G{z$P@EH8A2tOC<1n=Pq_XNBqgqNePdP}Ifrym}XQ}8g)q#*+}&qW@h1f1jW zvI(!7>e}(Va17QTV5o*z_|12jIR}@XFBh2~$C(GgP#CW(5L4ihiGz%-M6l(`2eF9dwnrw+QwV9c#KI00vEx6) z^2J9cRx%cEJPWJb#PVm4Oq4U0Qo#bVEd1UrQhEMlA;qvj_$lzy>(%*jCgNh@>w+(z z6H?Ia%(Gm0y5T9cj`JhTd%5s-it7p#)K+MI0>hT@n}VQxHA0&s6W1t1SSh%2!6i49 z^T(KfmGCD4q~>z|H1qZeZwf9qjPrRcTk3^>KK!LQ9SKmvI2r{*uW|=N^^^LE+B~W3b7Y$!a=3SZIC{r#OVCjokx4sNNCg(IY%qrQp`85oh!QlWD8w z3z^jU9()JR7E+Q2g)g^hK;y&?i`DdH7n5gL_&U^6(B$_Q3z*+_;m1SLVP*1t+Q)o% z2w#V~a!h^~u5DnRJB6nWo*n(t2 zg^xpBF(SlAFSE?qBmC@qQHs1CnP6UfRj+b~nk^<2#I*tx=OcqNx6TAL;i!aQ%8%~{(b>LUm{c&`!ayi*1l%#f#jO$%lSgMl7LEx92OsTY#4<-`v18yCEN-;? z7%U^eE(>FutFy6R7{~>yjSqgnnx`|ZHJRSTcrJKw^d}tZ?ZHrjIGg4(zSAYgigf8u z307xyxHjAf!_AOJDzBe`BzBkkV79!?ItPga}5bHX}mjt!BOxB@@(1pcsk-ms_4o zgYh25I9f6)^(Ms{vpnJ{rp*nE`9etv3F>eDn9r4z5;L-Dw%~+u z-M$A`qpeYbS{N4zDN^ngd@!j>ih^Q#x|J~CFNh2o;PD7MpFw@j0E?mmKeJe7}p3!BpHnC{48;9PT=ei zoRE)=(Zm)>U|TQP+|9jghM@LhrrreB4e_irVIb801XjObMS9eE2Qfwy7=wZ_uUR!L zC(8Tl1C04t$uX%hg%j9C)_;8)V;?ISlh}I%d#*rNi{R@+jQe=Wafy4Y;3iX6bW0f` z+aF?#Yo`2v?R|ex9Os$l%rL|J9vEN{6M`&!pa{iq9@#h{7dBuE>`9C*EJ#c$BpwX| zZkyjQGNeM1saSPkFI@!qL!xm(??_Ex#zU7YC3O2U@e3%QUDS79Tz zmeg{!q(UxO_q<>CH}my$_b@Fxn}4D|^f3KC{eHi@zvu0*zaA1UCrO1Ui}qKC9PPbU zR~r-U--KvyCDH!r)0WJn1V#T8^TUQF2Fo<_@akRJ!)tD5dwr#=BQ5)*-f=zIKf}&? z?d}5*r1BgQ{#+#dQyEK^@V~+>-gdUyfrZd;T7Y!_EH`SR0wn(DxK)e_kocd^7&1|T zbr=@7K{qO}m~EBYPKgREajRZbV3`}WQGu)6q!$%0~@8{DE36}ZW5`cZ*ZZq|(otZ}O*DsYQiR8fK3{HRe>V4V|mq5>P-mM#4^xj`%a zx40>n^xx(rjr8B)7OnK(RZI;`i{DcXp}8Y8$l z!6>3p&uD&5(~D@#FiKFMXd)Un7$uZVVFOc%Xk25IFsB&A51JUOinBEFgEnTb=JxFP zK`%4ca&uN_L}J!DZq-B=W|_U7+jXJ~3ycxr487>WGNUwdN>+4Xr;Ma_Q`)MIE?7g< zWtzEF6*{2)cEHYV<#xU3!z~t|XyX(XJzz_ip=j?MF^wGM#!U1e$VNa1H~6w+5>>2F zo!p)kAy{Hvxtm*65rUh{*28UC5rR!-?d4W=gkYZ;W85f42&^nW32st}{aIEPiQ7c6 zKhI1vF?EJHh-Lztg7={JbE7vR0eC*DR zy|om+7#5f=VPS!kVp4?#I?GsC;0n)yTKw;@_MYW=$SwZ2E4PJ=%<+@7;(w=dM%$F0$KX6RJN66TJIXCs^p2R`ma_-OTm=o$qFaxMG52pz_rRI@{9_+&dFkw zK-T{^DkUNL8yTW9bAw!z0|2SYF-jfYZgNsOlpxFhnaXa3vC0`)p#&iWa0j6n&QgUE z}hyZ|dJIxV8333$RdS$Ot2kV?Ah7#l;080ycZi7?Op@bGqFWclC zk1$X5SOT*4pRJswj*U!hah?!zkTw5&Wl*T`ZO+RIIS8U3Iosi^?2v=3`FR0$IZZd@ zAj|%nm9s+fd;AP_$UzqU%&pST_c<{;m>^63xym_VL?5KdS-}KZ`L9(jP!{B1!Xf8s zf(dd2V6}3Y$f$%P&Qt{xgb09=Rcn-$03cyN@7Idd6g1Q$1 z07`0pPRmmF+BiTki^RuZNh-6c_y4MB*8aY+1?zLfnCQj6p>rzzE}9``;!|=Mfc0Pum=1*! zf1<})+^O?y-<^Kx4v+Uec%NU1vf`JEKkR>f&(Ypo=;~pr|4%I2o^J2t>YHE0!+ux0 z9H6Gp$9>p}2cW$yz1Qh^KU=kln{WP>A8c6Eg;%w>4LVg`KuVSfEKc-$^;&sU>Yb$!O+ptrLwRvn4rIZ+!PLQ0+RT~|-!mB=pw$a^wwZaEn@PPW%f;y> zQ({=lNnTv#45p6KO?t=Atgmn@sUxv7+zB)LHEyRz(!3Mhsb#hmZu6^F@KVx|aw^(& zPB2oV&CJgYPV=kQ(vpyz`0P;!_tIWK?%{mhEHe+mZhMvUSWRxvV$(ESqBr&(s)+~v6g8IM? zx2hy2X_^Ce_Aa*z4_NnD@7&`SeCj3E#~ucJ%Wm-;u+F!iHm27U!{>N{`8?o8jk;W6 zlE2AY%OH_r4hS`JlB+W2hzZ-GLUDR%QR`wLD zswIkYiFRs>v7J7j5AhaG)=Xi;GJCdali0W=H*+dxI+-iG$MT&j znK@rIFLa7l&K4&FvKZVcx1NAYrKhziL^)9Z{ccD5YN;#6ZrQKnmfcIY>@OqKpHbMd zM1%+Y`>Hj{&j0@1h^U=qfyfwmaNfZw*_v1oY)WoAIaMX>T9}o&LyFy;gHNN-0xa>F zxGYo{6IIs3nSyu~A2=(C_HtTAhzoL47UD6^NnZo-$fH`Wd7fN?a~${@$wTMqd5~Ie zN}P}-ZUrp~aXZ9WtPZ$v6`l~I4#qf#&$}owStRn@BsnE5Nd;l3lzf_Vgo_p&)e7ap zHEV{mlxr3kbpk{2mEx>yp(!Xrw8@oh8m}r@4e~~w<+LnuE6YG$#yQSXx`OzqSk{1? zInSADwW^hX3!JEuih=}Gio2NRi4TBh#I?^rU+_M ztNdQ!v;b&W&w$T+u(bfxGoE9aW_6)t{~Bj!X-}=TTghT_?Wxsb*Ev(IJ+<=c1}BQz zQ!B1+a+;t$WmP4XWRGc|IPM(`{!dlR=C2%creYUV7B;JL=^t=z5_ zJU5uJjT^HC&jvF`xmic>Y%@j&XXpu@Jx1x|6q)7+$1XCYR9Gijr!&PJyzr~*>lNY#^B8$5nkL3Mj2 zZAAey)=4)j;w-mnl-(Ljc#hk>!mCq|ZFic&G)U$ZvySlFJXv3X>cZ`Lfs?Wo-Nwl# zqA0hN#WYQ>YP;o>Ec`mcJ;D;5rF4$6#oQH^<7LIJ5_2cyrMrqrE#^+hOLw_jJu%0w zM%Oq)CFYoEg_|^Dj+w73=FDm!o8|B2vR%1v_P$IN+~CB_+C!V=A7o}YTqo4RP0rNS zhdU=1sA4gDTIIYP`f&H;vcg{DY(0H=aB@Rvty`R`(T95{ZwS2GoR>=%$FBHqwWOC-;brez?i02Kvx?pH*m!EzZ{J!?Ez3&=lJWQJ&xYAmM0_ zl)A>){N@el!y%gA{5#Tza<|4iVRC~~1M$AU!+iVzK@S#LrRkYkMDB8ev54H`l;cI@ zKBwjokq4Y}tcX11%-kaKh|_Y2Nb4z@sGuHlh)4(L7>P(XC*%~7e$L7vB7>Y`EFwdk zl0!s>IVU3zMFFW?|Ef4Ew>+%Qrs>PWT29L;59>JVSb12_na9b)2qzvR4;#}wV|m!b zImYs^IZZK?hplN!PI=hIX?e-RC}$rl4?D7$#`3U}Gmn#p-JFe%Rz5AK3wa^9fNsASSZ9gw=MR3&e6N~MrfW0UC z)0CsV&lSW&yO%%znx)$74=L+qu|QH;FpevU)r)8mOW>z>8{FxQxaf()zqxZ1VWHMB zZdWg1iZWx88(n;F<}~iA!v!-H8@y7~i*z z@mH~H#>U1k+uT0sUuc=)E8C2>820<5XSBrZ?flrZn5{W!$!G}jFm>+1i_;T$uG-Q) zjBj=KCFpa&!vk~SpilZeQ+`Q7@R!_K-csR^PkR47`d}W$!eO%>xW-{+OG-WADxdT| z(|I5z#B$IPuJ%dIrp^~+1ar|8uJuVDFy#V;;2M!!NK+$q;X1SVKzpd1gv0e_n>3@R zlx(=e5wi`FQEbe|VMU`)dem%fh%cFwn<;6pqRA(9-kTrx$`x}HX?%PvKMTbxNsM&<%C?2jh^84GY+HoD5?2Av1Q#ra2_tlNH2lFh{ zd)ly2(e0ClP32n<^W=7Vc+{w&YcA`y|CNd!pY*RxrJ0VUP>PqQD|&s>2TeJU*Dui7 z;{PtBr&<-i@P;gh;enAz(p8*gmSJn|{kS0sH>i`hI0YjBvC>WXQz zC8K)`TWKK|tub9RG9<=B6*E5Ry{7UdFMKC=m;DtfpVVaPY~|H@cDkeDirK{Fx9{26 zM<-@|QirL;g&@CN9Sr!c=K`H*CuFIVh^JbeY^Poc4goDm)wNT8Bd^({-~pXLJDc1r zznRxGO3zP@+2rl=RkM|Z?5SsytL1BX%_fDc-Scd6rTo@CRKu~e$*bkJ^O{WxMPPTg z;YsYTk&yfLR6euG#q#yMW|QiK@}Eu4m2cd`U`kIKsmo63%_dXjn|aM9g?zu|+2mOH zR$jA7Ax-scGEu&r*KAU7kaITKQ@&%ia`T!^c9ietHJcRjneS|}xqL6L*`(lFJDZG@ z@8@*`7o1>puW=47ta`^L^kqRD#8R=fg?ayaYD4c!Vq;NarH|z4aN#RB)=+8$D2)Wdo!i7Tq ze1d?27wr@-6!zycg%fWr3NGjYjhd-<{g1WQ-^ z(j)n11A7a;#Adqe+@q4~=I&DRMzVCSgnv6FH~i8iGfB&@hp{UmIT?+-Co}AnzwkIl zcnBODz8sslRdUlr5&1^caxUjeR{c_YzIm*O|Hn#h=cTXG`O0`;-Jr8%UB7;fav-RHXvv0OdRnJ`jn2(yj@?|c zc~4GrPO~E=TX~7_bS+`XYG>NDCEMn*miCfkvK=nj(VwyyRU(|GpV_m4lvg~~U$Uz| zJ2Xn>_$jxwWY1i6&tt=19KUos?1F1^_O352M^5+Q8-mk=r@8# zeyP#KFv-m6vDJ4#cb06_YDoO}Y5mQhBOpC%B17<+|IB_R=nhC1O?b~Y#CtX959rR3 zjVj}w=l2W2U?87Jr+B%@eTSb7h61K8m8kM#MZ-)m9MGL!8&$|#(G5evs(>V!Xx6tT z9eRV+0qF%3$-PDO&=#x>NS`sA-rFo7>VkCvDP=Yjd{+9lX$W_)KA=0TH0oD^j5sQe z1oDa3riYHGBo2xj1Nj7t(zRrwu+lgUvAS2Zq7ZF zS@p&<$c(p(Tg_DoO2ylBWVN_0VCv?PQ3tcd(SUAb*{~TQ5LnJxWh9F`0=oLj=ybYE zU<;wX2|ArLLT_s~L?tkG$p>+b{VUC zJH09L&ZzIzQqxVsyvq}#4)2wKbVjFY^~fzz?`%LiD<{yHBLRLHY4gre-t%C#w0h?Q z(t~o}h-gpHYiX#}X755kdbdsj2K<&L?_xlzVac3p(k3H(qpi`q6c`K!?$**f8o&Gh zcQx?48u)G1z|eKO#kXH%w=Q~IK1Z?Lx&Uki&I5aabHF5U7B~yM0$c^AfVY7&z%Af3 za2J>a9stLHN5CPVJ7~8`z&c<8*anONdx5>cAz%-12G|Xp1$F`#fE~cAz$kD9*ao}_ zYz5u|HUl?+O~7qnBXAEG0UiMBfz}ecwGQY9)&j%8YG5s}3K#)~fz7}WFbWI;JAr;+ z4Cn?90Uf|;pcOa=JaQu+z(e2;@BnxO+y@3r?bbbD6u1lQ2JQf3z-{0da0{3MZUSe4 z8^C$sI&cYi8+a3V3%Chf1MUM?fz~p+^(HU~yaB8NUI*3#SAb2xYrr<(E5J_RRbVf0 z87KjlfJxvYa0a*loCVGU7l3oXW#BCE8t@A61~3I&1I_@~fz!Y(U=p|k90MKzhk(`) z+8@{hOaLWd444G=0#m>q;5@J!xCHD3ZU8%g+rTJr57-7g0JZ|H+0 zzz8q`tOqs&>wq1=T3`>b8khi90mp!0U8n_2c0uO;>KzA7J4-5k(U>z_4Yy!rB9l%~-53mO~ z2J8l=fStfOUn^Z8u;sGYY6|hE>-0=bVWa!@{gy9v z+B$6qLA(UJX}?OaWw(|9w(ZRXJN5{{t{q>WvRU@*_>!82*ZOXUuUxzY>lk0?Dyo1ekW*BIb-^k09mfCEKhcRth*M#QyClSRpogN5KlQO*snY z#HRBom~)PNx}EEE(C=I$2s-NtLe3e2u=55%mGc@wwG*4qqkK;6Zf~>HIk649%~J2g zX7ebm6I+m@v`%aTj?y}@!8c0l+#zUnVv}Q()_Fj`qRv~CY^U>xpw}6syu_SUWJ@@g z=$GWYNigKxBp7q<6C|BhqD(ty>DP>No*?DiqJvkQNrG8tiVn^>r^)rAvy%=kId|yS zRp%0AV%xPru;bb$*mYUU0edcN7K+Z`!e*eTGZ!}eM4h=J1V^rB0;{`&z~Sy8aJ#V) zChE+M9WGI4ZfrA&I&))#O4OMf`&pvS+}KSLb>_x4k*G8G4ndt8J3OM!+z0fl(Y;5R zXmTGAG`kaYu+_an(B>W^=ymsyE#{U867G3|A$O7>=}r+$yO+r4HO~&gif4o1x@Vu@ zhNrp$aMOc5acq`V5B9yWS=Kyl1h+h$1h+jgf_2Xj!G;GrxL^Qzur&(?kO%vtpw2wl zSp{|G!A2~oGY_^wL7jQ9zX|Hh6Al9oJlG`$b>pdi>^SbGTdhZ(jig=soSEKg|{fc^f=)4ZEM9}G- zC+P7e31Z$9LBbnrvRKNx>!3C8@AoQ?eq^!vy6{2u^LVX$WT0*8&CL&d*;4raQEykr z#q(|L7aO8aJ@%)+-`8XtEf#4Fqp^vD^9%2_^cBkQtU$f=JC%2b{`>oX_1%8wqa!1O ziP-S3?psRq7vc+)cvt)BKkEHnzhCwGHap~`SM~=I~T)y>{Ukw6~AzZw1d-@;4>9vdA0*dP7J-x~)%a#GZ>|uO7 zHjT4>z4Y(H@jfToDvDS5(OCGQyj4Uk=fOM0%DcP2|F5t7MZd3$Jsg;3djHAKJ#cBD zGQ(&<1>tRn3;4Vr-fNW-6W{*&SGop*0zrNV`Z^sh6Aq`BJAaQXC4vR9v8Q4~i8ttY zSU4`PL4PJOfH!@|r#G|B*u_V}zUYZ(62mzAhhz>3XMbc|n#3*vAZ%ry*_lj?PqU38 z`eX6LkIDQ_;mk)9{UhTE_EA~6-~23_aWU4Pcq}$J*fteUjMArEe?g40t_!rW0Cp)D zo@|giK-b962mbimD6Piwf7x-laMVkc2AKHY&xD>v^Lzx~936RyHl2_6x%hHE_RG;e zGCo9xen%JmxpT+*6)HG;)J_K)C~(Wx2YmPOTXXOwk8Z^mIzjiOG)TV&T&M#!bndJ? z`$?pO80};9W->YVbqNuiFGk)t1v_7VKkPS&WJNAy)z{l49Ru&s$$5jE@WIaKzK)z}OV*%x{RI)qnAfbb|JTJQ zWAQ#ePJMiETNvrGnnb0@>Jn{JEp%@Yt{L>8V>A+B zSF09wr5Zi=ARpFvH9tM1CBDT#)=S7Wms#2u^GO>uC?uVJ>|~JQ2y^^`dB?(n2m{yp z>m*ouU3sRb1kFeKVuQ~lCNLLaHEB?H%<~0Po|XQe!>e3B2~%F*Qq??dGAUd^29M2u zUL6NFD>L=Ys{5&Yaw}hCg-$7t2c7*=n9pebKIQ!8b~mPVm$_Q}=EkZ{&8U*Smtm^Y z4RiQ>ySrg_Qf4}f#9H=4$20}%M0T3*xO^^Ohi|DaKA3+hd5y;7y2iZ>M4dsSYA=&x z@cc1Fmfhtu{3_L+_$;5stb9|elb>%sOxaD}qIGYptPj8XoGmSZxn{+tXw}gPo5_cqhichC>u%usm1XV2Pip z%Fc^2!IcY1bYXR2>(eh`lLY+m*-jP86C3;}bH%@E zZMD&6v#0N#VRL)27b?Dm+bAV4j07r9suHjmCSXAVojieBP3HBkJCw#tNTcS-FL;DP zAlw_1OGz0o6iVTtQp9*7Y?iMoMfw^KU5=>>`JaUU2cP(SgQ0&{wY*O;(y|xA{TO#& ztto@xo<$?b{{;NM|64iy7b^byEtc|M!hb3c|H>_j{3qf6iKlY-&(8lm_pfb(bpG)L z89wQyG%h2Ju3UA*%YZs!O|Z<m9)YW zs5vG9CPB#k2;2{r8MwDqJC!AR)XH`wu*wtAcA_kOMb5|Jd}_HM%eykv(6Gh7tmY+g zRl6=t4zrCDPNTL?RpUdA>}4Z%{jRZC0>wyvohQ#mqUK_u8S1Om_xRcRYExjy}N)e zT__Lh)!Oo;yLM*e{}mGX270w&BH1G+%+p}KI%gW`;s2LNq77v5_&yXmGRQ>3qh18^ltqQfP{oTCR`1^g_M4P ztAVOWd<^kaP-pCF(8E)y%O{oeCEUT{@Q-v|P$lse zt_#yV4?ZzKL}Qa?2EYDT^%pTU_(R(n)eMl#m_Av8w&H3R+24Gk-dbF1vz%&pp}O#5 zVi^1G6=F+ijAi+@iXZRfUt~QUDro<>s~!$s{(Oa{)m~?7_;EYF$6DO}^ss6^g#_-m z+VKS|mc`R|AMmzkB7rcTtcGz}F*XD>ngCy3d`G8^KG1QMlSu>(mh1;B4l-;;C%l+~RO9e~93G2!U@`l}K>k8VRcQvxU@(%Qs2>Qx< zbM=)CcKTWUzOtzp4f@IG(joZ8;!i$z|~}$YlL|!PS8DTZ)rU7ra7m zm8nI#-t>xIycOGe4ZG163UgI?k=naOf)#@O zf>wfqf^~w!f)v3~!5D$nK2PAVFB7=!F#^B+kf6yf6#$y;Jp`@xT{_ripQc|?dmTZC zJxtJPZzAZnM+tiDZh~GrTU6QX6Bkut)lB+wo?e?liz^E)?;qD)x6wD=Pir#m`quHp z#Ka$5dY^4n|J>0Rr(m@tG7nk?R63nBdORUKc^UAvT!_VAj144cvEG09(NoJ5EhrkfGvF^`cw z{XEBzfE3swHY0+wYkD*~+&^MyR~|bV*|9KAYL^BRhDA^wj*L$mdf-o;3<(#fhvV37 z-!KVh_f*&OiJ^p{gAObWkvc|(4GFFB$zl3RiV>mk{7XZvqmq$1{Rqs6P{{IUSO7;y zVmN7Nbw809L>o=^8!`&p2V;{LA2mwdbpeZt@p#Jcd^c+X>L-RS_%lBvf>XYN8z$j| zgY$y}hITw(%u&BMnVQJ(Y&5_STM}uQJ>@Z|p&bGK(M#ifMt1p;s*x2>N{7%vjm*L$ zQ6q{ItAwYpMA*pgjh=7gYg>&tL1m_z=%a6-cVVHm5z~%^pN2_!*x9j5m{}X0UxGEd zaV*`%Rq?o_+|+J4ySI}uVupjW>H<1YcKR1V7D;UoX?#?s70 zDLwmxA;(e}SG-YYc2%6Uqy|1p;*VHP;knA=_DAg7MQ6%dbaKKU%UFEHHZ0gs&Gop= zSI%r%vp#OEU{*ZO(VfT=iwauf`NKC`=nrh}kP$vPTgw(KG9dHnm#3es0Xl7=A}Pac~2B$JI5wN({KE+vwi=(JTANgkT;vTs}_I&8H?l5YJ*ZFNP14{EiPd;~8(`l3)j d^)|fM39JKl0&9VQYMU%*Y_y=A_LXKdcretM-m<+Xn1~Z|^vhF!n^( ztfJfMMU}th)3v%bV$G&>ZZ=l8ZA`YL)?kU^Y*VnhVHnkPjt7p<=N!Sq;L`ENM=ncB z?RdaNtR5^l?xa&?6QSdsy>Q^g>V_rB;lN*#(V)W11Ws)cce!liGVw#KYL7}sE=w;9 zM_aLkjyMr_0?~x2A##)lUO1!GlO%dra9X(QyPe8KZ!pal%MBAAdYb%2CD zQy*$@otj3%Kt!Sb7!ol*Z35kS7EEciJ!8z5XCx|GL?Y)qqByLjSBQ8ZSfsV@iH|_t z6RnHUmKYI{KEvejln`N{4Uv=%Y`?12cjcW9^_9lzh_u%70P3CTwI__$L2|_BjdJAa z^6$=tQC(}Dkm2P8)fuOj8(#-W7NW4l^@;KYT7b=(lO0<^0o1k7dyw%v0_x3H-SqUC%>^xi zQYdHAP+?pLST9rH)nL@)BGgZZnm_qOhru1V21}RQaoMOCs`k?RJhAlOeUB0s$`;Ysxch4+Q9Wn;)gSB zSX-8oviP2j=h^~gHYSJY(x=j8DOHkow7@jl5(*2tW{vG0{@!|oL8BC5dXb+ z64p}G>ju4I!?k3zrxYxpQLirp#LWNKx zoUq^%0t*d7L=c2&LW?kG;eNt{7ETf#BAg;TY~c~YqZS?`JZ|AM;mI*PO*oUmvxMge z&lBbeFA!cLoF%+WI7fJ;g;xo$5nd;}u?ue!-m-9>@HXKc!n+pUBfM|nL&C>|PY9o8 z@EPHA!WV=u311PuCVWHqj&OnSeFi@eeyZVT!Y_o2gkLTEM);lZ2jS0JI%}G;x~cR) f`@fk=rS~qrrc-ItG&j(C^R)4VX%>v948!>cX$I9k diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.bpl b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.bpl deleted file mode 100644 index f2260dc5fc08ca92a77f8fd4940a88a006e69445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384000 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%0D0#mk?8^y*_iC&ZLGdS^aLM!sXSXx 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%0AGTwTjLxcI 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 G;C}#Y?&wqi diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcp b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcp deleted file mode 100644 index 167968ff89c99cf5e452ecbe36af8a2bee317017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385100 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

    JR~7N6RdKzEJ@Y6}wY^CVtKClP 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 k%oZ_#a2m0SRu4i_KfIuXVE_OC diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogPkgD2009R.dcu deleted file mode 100644 index 9ad6b5f3933922a6fe5b8fbeeea51b4f8165aad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4176 zcmeHJYiJx*6rOLI?4E2lb*-Tez9^!yh=fqw(uPv=*le?sZ8zOb8$_hDGk14yGdr`+ zOwvsiDN;m4q&|ouQfw(wL_|cSh=}+?L_|bHrHF_~D0Xc4yA{ z&f}hY?z!JiP3tM9G_Cn`rGNLef1lU%p5C$DQZU+cu|65n5xh(rgg2hNfw?WRAP0!;hLF_uPwzn(tdI zF0^@6IL3?ITHeXb@>6U88J2EsKhMpT)Y?LD3n{Ezyt!2R|cf-6} z^&&w^Aof+O++qu6K_pEGX(^m_SU$J#EyFG(8GX|M)90oe2GA8%JIGzzJEGK+sOm(> z9W_8iXbXs!XPa^r$_$1bGYFVEfY_uQciI50+c64u`&ah4IC{S2>6a2U(}4OrfJ- zwyCc$mRqE>78}rLpWebaR62+cJG@!(ZB_c6InQq>tz#m*Xi$}Lyy$x^u0A3g^VyLC z3j#3_l_9PiHk)#qGCS*8Q)QniyS<}qR+MfMk+oSVF=elBE;8R@VuaS%e}(Fjo6@#- z;}ODCp1kXeqI0XFwpms+#VL)ZrL<|kn_`JFH&wxD$PA+7m4GY@rrP$q1js#Cdl2#4 z0vbW9;n<$iL#(|zK3N!(hhCXL*%Je2u$Wf?y2TQB%^k6M=&6rBmF{)QyiroNLo8P) z4_V5CvGE|cSt%3)Mt!#RtZFpXH~66=u0nYm);G*p%kN!wl)Ui0r0ujTmtZ>u)~+n- zGFPqK@ymoq=yWTyLP|QU%q1Lztjy(vB4uUP;txGmW;KD>A{?3aOwHy^5yP-D-SSHi zhRPCQxX#L~VhlG3i9prG80HI4BRj%k`?Tv{@vYgRhBM64v$T2gI^RI51GWy+I!dQBE7K+%&p zIX@s@I4v?gHlb@gAqktHo%|>p7oTgUSI{-*=G1+{mZXFAXT1XJ75Lv);GA69yV383 z)vp(&pfRr{^Ex4~8|Wa!4BSTOZK02_jc_|*J0VTDm9T@*Z(tW;H(`JM|g(ttbykUCk;GLIBg(B*gT3egcs5{OL&p+ z65(aSD}+}GuMu7+oFlx^!kdJ*2yYYK*@5>69~k(M@Dbr-!Y2kkC46S!bHW#dF9~0# zah~uE;akFYgzpJI5H1jYB>Y79*?>W~rjB0-zY=~U{BGb6!k>h{2=kN4g073|CX(X| e|9T>koLGEKCX%|YZ=!Dfg!Z_uAJU%GH1l63HTmZN diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogRegDE.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/TaskDialogRegDE.dcu index c537d25db14dcb4327bd663ef272925136444bd8..85baa215134fc96b22965ca40d83e7ac3d8c0ac8 100644 GIT binary patch delta 53 zcmX@jdYYBXl7T_wG!p{@_u`3MI&!P#Bv~;P2!|vVXS-x3=H#abrKY>M>J=mwgJd>_ HlrsSUp;ZwZ delta 53 zcmX@jdYYBXl7T_wG!p|u)%1y6I&#~)QY@JYghLXGvt2S1bMn)JQqx^r^$HS;nFHI* JHincl0RXAt5U2nE diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advgdip.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advgdip.dcu deleted file mode 100644 index 779ff6ff452f09987fca16a74c5dd1930b998510..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68331 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

    3K8ElJ!ovs;BRq=m5W*7(4;C&En#4 zi|{PMZiE*QZb0Zxbvf=pn1OID!jTBO5PA`IA}m3;3gL8wEeNX+1`yUE^ds~k^dW3P zxD4T1gi8@_LRg1z8^ZYrA46D;@F2n}gohDUAUun(6yY$#<(Q6e9KvY`OAt;$I2~aL z!YYIl5Y{0ahtP-6i?9V@0m3eXBN1*uI1J%NggFSeBFsRz6JZ*{BM6fbo<-p zI1r9Q__1zGLvRtbjo>3>hTuH%Lhzw(tU~YsazOAtGC*)fH?|;n55+|Au5Ro=@V0L3 zMsN~kMeruFMDT`g97piFZk$H&8uX9gRj5DR<@gJO(YGJ-!r2m~)c z2n2tCJs@}<#YOOY-RMT}9E<_M?_diEo`ESKcp4=}un&fSU=MOf@RV+xL-3?-BoA>p zc0uU~evP_D@PuwmLGVjx9KqvI0fL{y4iP+x>O}AeiizN1KqL4W%7@?~m^Ol+pkN3d zL=FhZB_IK9b+G0mepeQ7C1 zwI|V8hY#W!<~`stYXjEMn*=SvrfbpAl@h9Cm_B>#7{?jmx!-IygQxaEJb_n@#wh2FQ=P|B@|`zLG9kBIJzoOO1@@e7q-EwghYg|lbYo;D!#SMH zaK>e3J8#T))@1@`j4>sXp;pn`c%v#4MwXdv_%k6#k@INsaHpVjWqO=9W;$;gWo*bS zbl!Nq^Ms^LGPd#TqXiHp}A#mu6%tljdxu;k=NNVmPuA;fK?m z8CfYtMi$dThLy&fmF@JVW;(00vyGChJZA}ePB*6GxlTM+gU2U$mSzRg*|(Wd%?3U%P_WOUF%#ccn@Y>?Ofq;9L)NzGnnl>%wk93)#Gf1WfdA1IQ>Fa z2hq<8`UR6dB|FzB&DIT)a~Z-wHgxr6XI1)e=WZ%}v9UHAWt-@%lQH9sjoGYreCbRd zTaY3Eo7tY7Zfpn2ZlD}QT$hMDO6fV{0x`s+7=RC~bXW)6bvy(j+8MrXVaVhs&M|z&&7)orJ&ZD_g z5sr3l5G=!n<~i?W&*{cEJU<|wrwuJ~ZfDQgMiriSisz+63!N=P4Wnh~wa&Bf5M&p< zLuWX*vgcf5+t7QQJK1xdacJnH&Shw^)!BJQP98kfD5~Y0ylbeIH>4F(urVzkF=k~K z8xuHVn+HF!daZL?+Gyt%uuK3;7zPV_C^jncSPkz;W0f{PuaIEp=Zzr?UIlM)EN>KE zIp!#%B`@2#!AN&(Nyv8o0K<76Y~{f=9&G2q4jw$lgPlCs&4axZj5XHgjdC7jd7#{R z=DoMwESHch zmt`*qE;pi=^l}I;K_Cza1Oib}(M=FsQh}%-IdUNZfj}S-2t)+}QBi@YKp+qZL*}n_hj##$+ zvl#A95YK)q+Pl}Y825MM62_C=xPtL$H?G?s#C$tGwR-kHVu9`5+kbAmuzwSq?Q3tW zfb&7baAcX#iKU#6Lg5lVY}q^@=i*Z+epfHc-lS`D@SAeW&Mbikw1#%c7LZ<3FFOf zT$S%c0PkZFd1E!c>>&9X7x)iWM{dt0?{#GN8_<^_Ya~C33oPE3r`Alq-;MDWi+<_k2ru_~*1%5@#lE_;~mVgzz+A!Rgof0>|5@g#SM&93F|k_8PCm$32nT z7oYBb+WR{tQbL{JPuHvd1aspbgpj&3W*SbJX**S><20DA(_wnfgy}oJFfwz3%)*&- z=F-_PPfm|B!?MmO*=Ek<6_b%wCMyd}UPhUM%ra$}euE5Uj=7UbW-MdOy;RJDEHNut zVb=123A!~V?DiPt&VoqET{30&p1E?{%(Z*RRNQB#>i)~zxJO*C=9W1%ax2W(tuYVo zBR`&ryJ8;Q4KsBQ_}a`3GIRHgS-5d#>3YnQn`TySo>{xMr$|&anV7==s3rCi>W*(Z zsU}QH&6snwWYTKGWYju>WL1zWq51*WWgHgctG=3047Rb`nQRbuL@!ZcK! zX{sL6QTI$&EtsC_abr_8VrFW>%+;J(s3&HreBUEa%4Sw7#;jF}c~)s=qozFExLz;` zJ!Vom%y>G^oa+nbLT8z@zGO0bz+`om$>}rcH*)m^_m;WhQ4TOu;mnlIb&LGhu4xg=v~3529=G z{5<>Sk{Osfb7%U@$UHJ*6X5=)Mlo{}XBNg|mL|tMnU-G#TK*`M_FMi6c>b2Z0ddUp zK)q`D3$I)L4Xj}f6Bt1s+7JaBF2I8%1YmRA@-N{5MlgUbG~pI1R?B}0MaV%KJV-zc zYzShx19<+n<)6axsO6u*1jcX&eP}=pI&cL!D8dD#V1jjr(1$iuu+1_QAqQzlfr1w- zzlIw2KZ6l8pa(I`uVVd6IKucD^NJYfAPpWQAPNeCZ~!ldSQZvAg$EeH0J_kG8eBse z3Xla46!_o?-^U!LFoZT#pa^-$!Ue3p!LqP~1qGFlM7gLf+n3(|S zEea}HZ1I}jRz-^z6)n|z%T=nhMWKooZ(EBNE!Aqd*J`-;wicCI+6Ml==h^%0bI!~J zSa-c^z3W}?pS9YYv!CDo?Pq^K``P>KS)geZXaD5T?)ZG~4L404`< zuFb8VnWqny*%)dEgQ@=Y@4G<@ySj!`=}5n(Y0>=d_TJkgq4X0szWrP@za^25#3IRp z9nq(v`Sk+>eUV_|?dqM8n6o=M6j^`di*H4XdJ^%_KseHsPR0|l_J>#fBI;QYH{SpF z;Lf+Bu9PWrt{6y$+wMA37IikP2`1xv-d`8XYYz6MA}M0aUpkP8AyrB-RxEX?ZCW=3 z#NR(u5{peV!WKu;OMG(k6EnB3< zcxo`14y}3HmPT7-LknUA6QRhvB&aahnv;=;AsMr!(-n+H8iIX&O&ddzK}zQzHgSC< zI*^PsMwA+7NIc2lZHz>NLw(3tBHR~Az5`j**%=A;wS6%3d@QeXU?>qrC229&qR#f7 zw#JjI2M@=bO&jBB4)q!|q}~Z4RwdYwj0Dq>S18Q8s52N(MTCOP;8}zck2auklXE}) zgAc`u7YPNL;|b(sm@rXi{ct+6?~)T`F?S%9ipLTW)+FlcLap~j?%sUrH&J&(Fd3#e zEzh60B{rdBAk}>K6YKb)<5$0VJDS%)RsQGE<8Q}YOCyO`dJU^xv8XAL8cIfN4XOF^ zzN0bsq8`*GpaVC3d~vj(gW8p%a4%XRgtwObxH?wI&_Foc8HpZm`Q{%GKw=Sa)#-07 zjuml0b8?`cNP{b0kHkD2#I1`9qClh3KL zMjL|ZHmP+>isPJqeC-Tq9T0ENZTtA3tOKJ+Cd#G}NDQkM&J=~BRRvfGzk#}Mm0vE2PXc-87o>k5JVNH@Q!wO>+>I5 z7Q-MF>Kh72IAb2JGF79Ya6X2%mIQZ@Siusb&#t)kom(K|JV#Q987=JYh$K^S41f&42G98V=fztB!_7jPey~G$nQyfsU>Ds3;J^=B5Oc< zlMv;W;;Iz`!e3*L{w#J$cYQDw4+VILT^diUtwq;K#3EyVcrY5P$`W=((gJ#pM$LT zr2ayPiFO3)ZeaKn3B0uy$+xBsZ$XKfwSAiymi|B`Inf&48Nnc&io5~=8la^p^OMDE zqeb1Vk^X_?Fq&Z`*necnd;4R>wYIQtUt0DfFbY5|N*7~roEqHm`R@$IFqMSTUDq66 z8q4b#h$qsklX=%hC)_Y^{(o;herv2SL_-Efc66-4tA6v}lm`&ujT-z<{wZ`V@?Zwk ziV@29^cU}pxd#S2q1pP#&p(rTDOM0lQ7=WrFw-zEl?+1qDFgsaY6OVk75#8UJP{t) z!2K|tg$Bz4MUA?&H%U|*oGZy@xUr{?a86)kRUYQ3$seR)%$ zereOcZTfRv%p))~r@AUOPe4EKj%-Y~Mo=`N7e-D5W5v+P3`)K9X!L~`tg?>g+m<&q zbhmdhiwJ0JTHeyo^b?{jZ0x?RA+WTe6PUSY|5_KzN5Imi=I(Ek)QguD?VXMFolSvT zen%li2_1}>IgIlH4E_8+0@JJhCEc;&t`Hh$qI&=UOg8l&T>qX}VOJy(ZjGc;!C2&n$D3AChEr*> zJsaNm%Dp$oJSdf33~1mxdsEv_V=g3rn{2C8VNG2PfsUpzsxW6uWBV;!HF+(KE1SB0 zNPz__y3k5G8=E?>O2)n$t6bjHd0WTQKzDO{XX|Y%TH4-w&24S6J+awJ+41dN`0-FU zuX!NZ&wU*u99m2y*_9sdi>!Iyj~+zdY8Zl+{RD|$@x9a0(r$XRz#b_7+v72JZ%UY* zlb?K}HRcl8zhe8UC$I_-FSTd|%>#*aYIyO=F7#@Qgux`rhS+9(;pP%p4XHpV6zQAw zy?Mp4iMK?C8-wW}mJVtPpZKK**JEgEj0gJ$Vytd)cWWxv*cTJ)uhfs)cMZfmvWOA< zT+P+LMg|0?dw4MNZ$C@?ELPl~#;PM4PxkY~KW|;%2Ve+DqI9AscuPmj)8E^EO9QPk z`fhpSisPZM8&NP|_DRbG!=ns1z52|bV0Os24e!nlMrmGQusP?xXWFC}p~(_-3^}qc zy7LCi9-?8PAcFm=HBp0B2r3&=2{FZn=)<%uD=GCe5?^8!qv-^O(gQR}9wA|6h7ffJ(a%XV%_idIFviaanbd$h zLy*Zf2peEx#{9)NQqiEEC+TI`aYYLh3`YrL*N*vDB*MQW(R*ysc_au>)?v28=n}T- zuLxK@4$v@nULcUIkTcDmK`re#8c9aNUINZ^0x{awW<`)~q>cnt)(Cdz&$T4C zHLjM#dbtc-oJER;MRrgt32fDYQmLo%N_CLPHX=d9qirWiY^sYw=n~#H&zmTBRDrm!k`aTM+vWAKpua7sziSBb* z2^o^llVp;LNj(cH@C=&z3dz(2QA=KkIF{(55MLr8R#@gd@Z!ARTpycmP?@uNEqpUU zb|un!IugEl;gy52D{|r*u{y;Zp1kOz=OGMz75^h#bQh_t51-zBu)j8oy zB7K7b)OH>a+NuDxkFVhJc#4d6f$JdL^lJXi~CPx(Sl2hygK5jneEn50$KoIKy>(NgM`c;xvTBR*1 z3WxpvH4;@>MQAfaec>hWQ4{3rB)`-uw-VE8;~QB?!x^BD7{8nY!+G&u+61w^C3@(I+cbthq#lE?S9(-@cSdWIv*< zBg@c?p_E)3ZNy+3uqm`XlUH&G-gk)?D?!ZHD3}zS{V0djl=9)nEWWN`_XC zl?cUh$CyzZe`}}4|wwSXiJZ4;YErG*Pa@T+*?q?b zkuexmliZwNL2F1ZBMJGF1!+sl5QqYq05S5>9qetV^>$uBjp zW#7I&lH{OufB;2B}=q40-sN_6j?j6^u?Z{Zf{!*pmyxmaFEipb#v^grPo|eq_%Fp zBodFUNl&71o4MOK&_oKpOguK55d!Su{GP&1n@6l<;8tM=)w9HA>&r_c(R3AsnnoWr zsDZ)hSqY=u8)4e~jS{e#u||cQ7Fjb5s#-{T2LDdMaCFG7!ELLT*v%G+*3U&xg9!E^ zPgAv-YO<(j@RJnBEFumig+4*yuKr%iO7fqdIA_Vd-7WV=d!j2^mkK{ZV{czW-`cAo zg)jb^y6Zm)Uwlz0B}Qs)Fh|H~p0!968ESxWpT3#$m^l}$XywSSQKPUe?l@R1bCYjV zOxuD1g&}0EBr=Nu+hb8U&t9Qim_wVH3lzm1l9`ncCQ<*~#QsL5YAbUg6be~-$dh&rX1*xHk^V~hLu+H<&~wJC{hl=`)?M0f*b!r~>R(CKN zi=>sSIp+5Eh-#;weg`u-5e3O~35Wzvr~G#73Pc_ZBjtY=)23J-Cys z53^GW_s~611J23C$>89cc!-^o`Q30ntq-Q&|Ngz#!IWqi=o?73{72{;F?Xo1E8d6U zS%27G!S%yW-F@N)dIsBYebIm35X%qstyqJV;E(PO-iR$9 znk(PAb3+d{Y=qnXjjO(K9l5QMLiYf6c9t#w>f~4vw%HOiQ*wCajt>N&b$xOuwMGS= z=%0@c#W-q_6u*LS7zJ7NTC%pVN7)zIdD~BaK|_TIrh@Mt_`EF)D-49)Phsd80*Ayq z;u|A!%UP+xGO0LPG*s3 z%IrO)nWdUJtyfXan8dm6IpE0+Z@Xjpy%;!fuH}0FTVFD?Gg?b65u?@B!zH)&sk?&< zVy;@&|Mwj|-$aU>711fKv#5pWq}DtNDh%~4!8{2c<(l-#yMxzaw2-w+z6(0JfSxlj zlng~Eb1SGeRI?*HmPf{ikR5a@xs$-%s;JvKgdP0a#^1(@R=`o+8R%-Nzh!Y-<0$rE zV1LUvFE5-wi2;k7x@k+Ty|L-grvdPQ2KzkyI8OA@?|t_@{7%gdDd*pm-W2nIv#Y6_ zJm=2~LOE$H|Kt}B#oUl~1X|j7(eVirfNykO{1?v3Ek(ZcD- zqd*BzSQuD?W`1(!GqIv@$}-MAeASHGXyuim1deI622=34%?1l{N5>}{TRJFr9;|)S zajcPpsRQM66TGINvl89Ocz-|s{;72TJ+Z=IkX0rB$bu(lJEFy+{%xRgdsrI|4Bhtl zW7QbT7Izp^?dGM9gGj;*=s-QKee9E8K?hmffhq97yr&+HmDXk;+CCjVh2pbElkM^T zUw`R3>Np(zLHC32#tP-!8o=Z_a=Yhg^duI_2!HPWO+6|qgA7GPlj06ytFQ>UZb{4U z_f5JrTL(l7Bts7%R z*d-J}%*Ic2&(O8=rW=Fg_U zF8u}^CB?3CYyiheze!BfvthIwWW_y9xB@zt!pD8~-}{LLme=>au;=I4G0IWpY%0PA zi{QiwJVj4YX6c#ylN=gq~j0;&&w z9hmjP4%j>LO_tpch6-Q73}ytv>yhi%08QJIdDn{I_;J zXlUeQs1Y6{Jrrvojp?d)C>=@d|JZ@A!GpB8Lzp*z=zHS;rablj)S~A~U|1Srsbb#t zyydK-w27c2Tgq+vE6EQcQ7t;|Ie#^%jtrqwNPF|T6Q<(>rf9W*mfz>v{ zWwIx}`pfr;dgr45*~pjwIa;5X zV37PLrBP;J$lzsD?#Zl55zE^HR4I8l;GDkgJImT|7>6FYEatv*%l}}7Xm)EJr#NGW zs4i%Ab_>UZxVN3cmB z^8KNV>%Tda)2d1^3%|DA%d$Py*c`hiD2 zDa(>N?$uP5#Zo5Iy6+o*d`3)+)^d4h|Hw-`DOm$$jKAa^@x=;hp1-ZFeMM)WWA607 z)kRALlAYrH7%OJQKKjAf#Eif;Oc-A+-Sj$^0hj^U)D!hU1*W2&q6FluuL7Hc$%iOr zWd>yfk4w8rFQ+NBGFnS?;;31Kj33%>NKF3V+t_)^3|4l~;$%GB98bS_=+^C=Bh?O3 zL|L)EOYI6)lxm7M!ivHyn8~i>eH<1i4t%Yg5GwBjVq&SnUW3EYiov6wpjm04S2 zMQFDs;B#Gny@6~SGekDPKLLxy23$M|I)#O_P+7v^gX&(3{b1U2BZnr6fkGnTO;;4$ ziAHAwp{A4Rh9QaALWs#$1T{&x6dKkQ5{s+b{9 zL=RqvaY+QU{dVjf>Z9VV?q7e~icw6M)*|T2M~2qYXkiU2-qLjd&CQ_XY_e(*vM-Uv zJ4nUL>;NubUSJ5!W?(|$LYV2)5?c~c`q}{%WeHgD+n?hr0w`xeQU>73UH^TFZyo0 z(ISZUM(5%yWlALQT_Ebu}ZOI6Cv%1CF0oh!U=ExE)>=q>$&W@Y2TCT>d#*v z`wQ9>y>_vGN>og7oG@Y!3=9rp8mqTQZVJcK?Gz;10d$AAIEwARHA#DHah|)C z0xeYuJZsA>d~!z7qCLs1OoAj7DOlcEk3l_^Cf5q=06{4#4PWu3=rfLZJh~_}-~J)! zW=*^82cP+c9-41{#_0^rw|w~YMZB4xI(->$vWFv~H$wB(f$WpuupD?Un-H3BJ&8P* z-i^r;Q5U%IZt+^4q4y@!MYk{??-rNYO1v8mrtNrEex#jvv3QPl(<=sDni-MI5xm-` z-c1D{Mw>RK#}T||4El!=WFNSXA;dCv6?sDQ#i%sJ6RIhr&1Krn>w+oGmi(tRjlNbW z(lxEBCciasGd||%L?E4mr$8NnEp0OJCo-_KCcm?3sSG5mnUL<9{Q9MhGLW2_6sXnY z$5KnsnUmnWVtUE8G7fabQXTL?AZ)e_(`yh$)(pbt$}ndQ4#11eLxdK0Oc<^dlyG*_ zu!+Dj8K~Ff1$$FHg9!TZ{0YNT7*~iOeDKO=_8|DF6d+3^Kq(;bhzxYrFj^K51kXr; ztHuj7yqtYQDa;3u{6b3HHHE!>i~EKL*U+9Q1ds2U^u#ny*&_wm;YIiX8LroOWq2n! z(jhr0CC-{6DXAa8N6-Bb{aA`zH4`nVh(%l^48Tt%z+F>eWwjuVNQ9@RTq2;4MgEMG zduu9fsaqhwkdWe<{P3Wm^+Ulc{eI4;J3Ocq{+0|yO@_m=bmvVDhigQgg~LYl>tvu_ zz2&g7(WGy{3?Z6!u9eaMrk@Y1u-5B*R=a`KdL7 zvieK!zNNd4NnHpORXp;x|jMsY1(%-mc3b~&n}_*7PZXFHAwFNM&6$)GbAF;&G+Q}X^K9(s9Qu3HaKDg z-kLmfnm!wLubcsmFH9i2>IZW_B5_Ms&w7V5LH^`ZIzxjlF-g_yH;4eV&uXX6uMS{BefBjmm? zq`u2;+`3GkUD@59fc2WK>=VB{@$nvg20Yg=FlncDv!*rP+VYc?x;EQwgdvsSC)Orc z=`*JAGTc;zmMH@;>Jn=a@3Uv_*cU`R_$;i~o|qW$JW{hW6wzl?;6r6g!3pCQ6tiFW z{x{>GKyI?ch`m^Qsi$9`F$rE7RTk92@O>OU#Y6l9qlG_Rhxl;M<^X`dqy999pzE{e& zaKo%Om6OeB(Z|cinz&)s*GoH39)Cl`g%d6-Y@r%%%oI{{`>z+b|7I&i6(3uP(l)C9 z#XncvwT;r``zY+P@29t4v7K8Zow4B$9*t<<2>-w_B1LjP-4G>5FT3P^u7XBOHfUKS zTfyJ&+M(^>D#!(Z!e#rO_|8s!Mj2M1^_iu&!F6oPE=0!S%`QW{`>y%N&vxtA>9q^s z)!CzK^KHwo-B=U2dc$PZc+kvvsB`y*MURjn80mU(c1x@qWSA2*B|vncOkZ#q4dW4g zrkA>yF$f??bGWs=y5@I@LoJig+TH#FIxfOH5_rGY@oL+L1vbt$0+vQ0$5a#seDdNDDd5@`6nO%sC!+0j|n2RygnBW*5HFwl4?FZSx2F6 zpC01}k5BLA2Ul+TI_Jbix{Y72r!sZE<=5*M)59BhsGos{(u+^YQ{RVTR(S~IIgx}D z@1)ATZhpLm9zFg-hBgO7IOI&4yK<)DrTmaK$f3v&a+th^LMW^JPzn)|I#H6BP&30F zBMJ4zwXn;mL`Mp_#kphh@E%AGBDWn4c)0fszvEWs@H>|xQ1 z&+npz$xw=3Ci^GAY{L^;o^ueJ&Y*Y-l^Y{Z3Z8%B4$Z90Qi<$UQfP|jA{25%A)%P5 z5OgpVnru}lhZ<3+F&dgVDN7ADi%AcE(f?A9|7F2QjV6*tIN^}Sx3{$41wRiL%O>yt zQk~qzLWSoNwS$D8Ligv|Athc3%`74%Y{?Igmpq8j4Mj8gU)2gF|Ar;`QJ+IJ{m@Ll zxdQhh4Q!waS?S^uu#Al^|AauY0|Ym`;m-@ueM)$~chv6+B)irG!=xH|7p)g&P-6_u zte|{}aoGG~l(>V%ncSLRxwJrvE+Gcjhx~d&GuZB(iHB}_@G+3hIK0l%C;Rhy(9kIl zE?L5Oe9GCgM}LUihzuuq3(mQ!ZQ>yD$K=Ju4fE8pIbpvyszG2^wk*f^X6BNL9BICea+5{=|57F}K~in; zrj_V1r2L89&g(U6V?n>5vY8hc!=&8YgGWpn6B@dEX5eX;PJuLC-aA5%-Tb&kr|E?P z*XjNO!}_5Jv-F@Pgut`(Wx79Ke#8~!)waJ7QxHx*@|Uj&^3>`6LQ+)*A(qRpV?3ZU z0w~J+&^ScXfn>Eqx3(RGI8QnJUTJ+YjN+eg_+4VDhqr0^QHQ_SFz7^C5a^J@@1b-X zH^3&1P{>|~KVMSO>n?{MF7yyjimnj{X(^0CEY=|R>sx@AJrnP*uY)FV)P*7lqt#VZ z)2@HTU!eA|fq8rxqEMouXSxDNf_)#z=;z%2BAbl~{3E&_=~@mnBFt6hP!qHRITLY= z1tb9T^^JbCTj}^7?2GeUJ}7c4+x|y=WbaqZo^y&m4=NwhW~QKiFo|U*GJ}ym#%@SLuEyZfuI8Ij+JgPj76%)3q3@*iDG%<<8Ip z4u2WB6<6u!X8Lpa1!}F|1A_h57q0MW{S!bRFzExjYx;!N6wTQW>fo$nPPi)1&&eMW zf^!9NE^wZobD`p#K8~I=F3A0AkS-_E@=Q)`dcNE$G<0oIyg1d7!!z5^CO=&OXAg1C zI4|c{DgQl+6GusMapJT>np`{IC&Cj2WfL-s)9~7!A;I?DY^tuHq8_KZ zm>S>t;&LS<@M%hb8iTF2wCOH^Kp}jH6kexT$0-D6#T_G{e4HpdzK}ub0?Q`Ff-^ul zvMu-O!SMs)$kXfcGFV{J*FvWQI?-*t5S{o26m;8(?uJ|{jVO-XH6cD11;uBGVtFo# z9g3nRXRhGX+hBFg1Pb=oC@tAuCLHjR6`+-baw<-t>{I-I~E0_C8GcV7{ zD;%r1+*+8kNMSRj@aO|BTh+NORp+AiP^oxxcRBI(C+PMQ-D{PZ8oT^1aTW^&;B$k} zuLyG&0DqDTz9)$9j?DHCL(E#5a}`-`?Zjn2V7rIdKAgn{eHJK++`XxBz_4aP^CZy} zOvvOhhXN1=6k+Zr*^(mrQ+&)1%8f)>oKX$d9^|5C(|SQt`hH4S;~@Pek-9EKy7B^~ z{83xe#zE{rg+cmB&b)4^;V8BY^tVvMd{!4Vtkd)pQM9>xyZrVYj3dOj#zF`RSRa0u z$Ozv0tnK_PTtzc5PED2`#Zn};P9>Imu2Y}XBe~B~a!0e~Pq#Ham!)4(de8wL0^z}g zTU3nrqdsp-LhPbb;{e8``3iBJDEXX?5Z#9l>$)O?FklHlooSm=Hn-K&LZ6G^+Z3Y@ zJWL9|re`)cqS~vda_1XgM~XWDknhz*la+1FF!COzO53maa#x!Ch7)WbB(^PiS+!=+ zeFMEg7^fZ|PGj{qHbh~lzU3>xv-oBM@AYr^3flX^=KH8m@92V{@#tA-b69DUyP(W( zKgG21VbZB8QzezdhbV`yDo$U{5mIsT_%$~^{P85+kKUcL$sMf!P4?8VHqJbq7ru9?Mt5j!Jh!*vx~OZi9vv{JhGSE)FF3DM~J@Rnah0smOBcjmfkdKiI%?2#D@tqD;Ltzu~r{VxOic z-;=Z0={O_$&|rj*F@ba&krro@=J6fORKi3%OVQ?@MtBhgw!4Wf*ktKKQ5s`Lee68q zeH8@U`--oSoJsuNJwPEZ`btztYaD*$B!xcjE6WHK=%;;dd@!l#4#K+!x_U&JrTABNrZ?UVq5vQGO-z8@j&XbK+KA+VpA09EeBq z;Wop|%PV3mym=c8TR6h)`vvK5_^i({i0C(LMzXR2;MM(>&)b;c346n**Ed4;h&~3d z0JR!+KSgMP>N<1Q2Pc*a!VV3Ep2o^wI%r)!J#`1du0IODK#cqX3-o8t`p83Nc%yc~ zKcW0;(36%1L%cMYuj(>)69EZ*A7QQr6I7|$16t-pv{&)w9@D7liSZ*ugpRCrFsx10 z=%}w9P=vXMB@ix74h#+Q*8^yL5u%+rUQ;f|)Iv@9$c0(C!x^mY#5(yrtd9}vF~ypD zf`G2d6zm|z*_n(+?xE*uVmzT3b6ZMOoZ_cOko9Jw9Jd#Pl6&!MigL!dgM&O%s+8@& zC}qzm=5dvkPD3a=K$JI}C;wbec@@S;o4c7J|CT-l+K&?L*E4BhVQ`~D8FpC* z=Ov<*j!|$XFQh7$>omogyP?W^cd$x>w+^fuh&5~(B+)lvh(WtqifP<(l#W@@3|*9R zb&4{#a>#Hi4%)>NbTAdHDPp}~FIsr9tV;%xcYrm0QLHT&W;NW@O&h^Fcp+A&?V^zQKf9`xWcBO`jYmrirnHXs)}BdCc?`y71hi>TFGmg5yd!e zH!yuJO~h$kCvk7GaJs3cb}Gu;12nI`=oVmT86?K}Sw2RN{I}|@aw5ziU)Jpqhd_WM6^reG1;6&do&^UAG0;w1` zXu$|bLitWg<#1MkxU9*n@qqWJ;>|s}8oco6fOZ+tj%F%vV~rB)%ZfF((Vcmv7pOl( z)N?YabGV)qb?&ZazY7e+T}1qeOk$hPx6?dxS`p{&Yz?h)GY?-Pr6OT4uOjA;Win@| z>@%C-7M<1*j!I*i%$<(-`b&M|fpl6aoxaT3NAuBAD~e4BVl7jwxr;@xVzV-|78`*e zZ6ngBGD%%NaU?+Vl{e#u*w{PJV%&m{ZpzMqZsl3ATDh1zS0{CsV^hU;yQV$a=k z_`WE(+2mp_&a9a|p9YbAifHDA)HIGXK+D^SFM6IL@UxZ&EU%N21@|hVn-a(??Tbo(P@cRZBf+6Q^vO&%$?%eH6?4gLdgT|jD+Fxd} z;>3_ybvRYSCrsqJm=2(^BRFr8F-PWJ0Km^C5~CCA{FN=zyPwkYK9I0&*jRT8670ge z05!%AQTF7Q;ZYdW!$iF-%Vf2*mxWyVenmceybgpr-m>}cApWZ}i^^gV3;MZ=KDXVD zV&MZk(0CIu7C$g!+`^bag|XlQgeVMy@J=E;-|}h(&y9*OcM~xPX^RJ1e&j-=_Yvtb zMLK?|#^sP~t+jt5_C*&g)m4f<_t=3_HERq?KSs2tCf;+st!!O>FNRo^d=wvj=&u{w z$auT{m5XpOTAiIQDrYB7P}!ZG&naKzGs?s0$#P2mJeN-rj#zS38vfOv+FX#2`to2i zw3G94n*JU5KnEK)7y~`R{Q9>Iw zc;)#%(9gIi`jd)&&c)DMJQG)36#r?(Kl7sag?oDDMR7YWp-F`r*cBJU4L1;qW!6Pe z7b$97VV0{&pf-(qoPAM@Qxs#(`5Da`yz-)mYZUSLrNF96;_d;I!kmkuu2a;wpYMF7 zU}+X}FN%4gVjjO)u+j!IYh8O$+%1ZG`USKWjqR$7V(n3^y5XXzk1Og~7o)h*m)>_#JRa(pkK^Dwu3c;N!PC zgVpTx@4q2;^>DI{iXO=-|YLwRRHD!?#5%!H)~&{_1jK!{kGG-e%r!qJ9+(< zlZ`w!>n*2L-bbW#g4@PPZi(%R>hj!*$vfQ4h1Lz@a@~I+E_n-z$+ciyuAPbt_s!XF zH!#cUg--8kZHrD{IqWtIYd4N<=KRV*tf+VL*3fR|-;E-~U4a?==H~>*D1pz=*910x z+hTgZVtP*&6aC`=8_IERsZ?sL*rqzG4Hb zK20d6%6CkmIhUH`WjS<&Ys`p-jQ@f(d_FVduIWlEWZaFal-l5}%`-h;YB2*^(1GP? z=SdLBanI+g9g*PAD8Y&c9QMXyEfWX#t2)IwEh`flM@|2oDASpFxVWRH3so}NWd)Pl zrux&A4*4c+)oD4c;$V}fRZ(U)5u&UYWl49?pgfKc=}*o>+Qes;Rw~kLJ>~AR_-$cO z{*ovI`Pm(45*&m4Q?d4;1eLl~cj5G?@$0{6UFct)6~UDBVN$@~QPB~lMfPB-zDsz9 zi^-BY_%W0s`mlwc^>Y~-PWCG9D`|sd9B%WFsG|Qh(MK;te?Zam##&B#6uj-Y=u5=>x$I(5 zM_Zj#-bWPk`4l&amEy;V{=*ki{FtKWjmGg5H?80oiT1`!t&Q;m4UqTIPAJ;*mWNs1 zsL0>sWH#C#n7KS&Q_Q{`7kx=O&i9wsw9i7@ezWQI>$VRwT{T4wUAHxMws&+b z2{g8^z}crmIQuj~qe+L83lgDntL}2w^z{yj@TPO zbv;D8QIjt8DbrkLrEipTZ)8hWd88e*dx-YN3(+o6v|jwEVz4iMhw;hA$<>30wGa6} ziyOB>U)E=4-JYz`zf!-OJfgI+COsNwQgioesL zN4(m)LVRtYx$r*Up~t=2mO>4eu+n>zQ}6fE-A#46=EHlBLtp3BjuqnW29{5A=tExZ z)j}NMXZ>m%I&SbeRfr8gdT-ucDNjw+gEf#SLekul60UPCB2k}-VE@(y%jNt%w zjH1qmY@3pi&Nw*>L8ZO`lI==T*lZ575IX~qj##ATkvU>r2I>7u>TR}MGeY7Xh<7M) zezQ301<5phB}6-ws06xNk1SE-RY2@gh+>84qU%Tq5CmYi0+cI&I-3MgjUEANk3tnG z6n$w4!1vZc{)mznHp42Dsz5q@3#5CMv`ob|_M3t6>$?Ejr$B|x<{2J{hxEM=?^j}E z)%Gm}Agd1nalnEwz92LkZ;eSkP?wDU#PuL3TvR%9>k@)a7Y5 zB>%dj5DQ?1@iw=B-6Af7_^3r}IU|nPE9cpZetmC%dkj+=wU+705~ z0K_jVvAbEGup!!I5S>t>{AP^(p-3M|dLVgKNswK6sDflGAv>vL-e$|WCy1A9)5=&*y*MoqZQV_HU{+SLsO9+BD*Fkz(NxjY7IfWHP$!~%9j1rew`jUy+3e1?o zc$(F1uOOJKZ-dk^m1ciTgL8_SQP})bEmDDgeFT6!1t_%vkP(p7>AQd_P?$0shR%%x zWDsNU zbU){sHFW_j5V5Hc68CLn4Q!rd&t20~=#GKgj=Q9-lug$EG_ zA)9NF8K35mECN}bk`-bMw#JM@I^QDYdt2DDqqzN$F0e?=FJMTcb&xL1lG2wfB;5jO zKuO)r@`D_r9f7DxiKv*_xZ;zxkhki)0BBJFZ?okKCdfU9AZ}IS0u0mQmnb27@+f4> zl+4?V9~#9)C~8(d0dbEKm!h-9@uN-z=?D&`Xa;ef0%WCv7z|46D8kg8C1#f#V!O&9 z4k~d$Gnb{Dv??KsC|Rkc4I0s>`vHktAfiXB15QX`p&kIHUtuOTXCH23SQB9D6pT{C zBFy9iW|+5Bz#R%$(2N@^c$g#Q9L1RV4cXjF*m}yoW!>q6 z6^qejmw~J;LT%Uv#N z2pW$bD04gjGr$ys!6M#SL2B%?iOq>@^tFj3-mk=7#J0|nqYF6o0}4P2+UMBOVNT+Z zf|LW2J&}(F8FpB~sK{({`Di~Qjwpl&2y?0*-O8#wtHh*=-KHBIVaQPhDarT}gbJ*z z((wft1qxGa|E_}|(-?AGK}c28FF}Z7Ty8HbM1g^zId1d>OHU|iq2&`G#{^Bga`V{B zoYz+s#A`sXiIODDdpD0AWz0#1DYk!@L#X#{9y`sb*AxmrWKB+9aUl(1rs*fksFqJD zNP)VeisW~Xj`c9$v;q`0v|295BGA8V9&2IH83lsM=7dU^uWcS%$e6J#3{R?r`O@aG zI>tCIm3BmJf%;^O0F(D|e)5zU`DsexhotM*;_EL$%sj-10)@zzH%E{VKe$DCEmFeL z%nzjq71}&@l1a)Gt|a5*B!c~T^O%EMRHcI9=gcj?CQhI{_p6-b6on~Nn4UpG6u3_@ zVwyrA%ku6Fk{7x6v)pgW)t7nHoc6G)HA*@$$2ot(9bsK(DO^4prCffE9^fW9SIOLv zsUc>B6R1-{YVWp{*60zAKHrA0t+qzza^edVf_j9SeMb9Px==}JG&E)(F^f?Kb}}lU zP+se27X;YH9kWRRCR%8$!|DMhYEiff3(mR%8{NaeRt2P-+g3=U#~86pAz1UwMbhXQ zE}tHSDwgAx+!7_-_cCOqg3#z@T7;u{TnDR^m^Hy~!;rPmw2=sU7!g#65+bmCyGod? zjEN{rAutyEadaBX<4R7c*zCa3g^cLWfsnS~XbU6ODFkK2vYqeI!Bz#UJc{!6Z`pekG)-mW9&98C}M)cPIeOZ+2UG zw2aGkr-GD-tqOJL7UiXq3ul*snd7AOINYtSJlHn7RWMu<;wA;OR5IAfss*S3pgjsS z$pFdEt}VbK03T7n@@DY^Gjubj`02bbv6TU|SAjgu@@B-AMhKmL2=^JnS}zZI##K;G zZ7{-P;(i4vrNnL5%s91V(fI2k0)DTO`@m_1^9qm{ zB?dxcZ8Z!WO;@58JCv-F?+@@zs&<8fhtKwDo%g=CGOp~TY z9bdK%oJ+vAR2`TImHd!ju z6d3pJ*!-IczpHAeWcDkt`pH3a9(BT#DRQ=_YLARiqavW+3U)O?JK>fT_)9Nm*{hb7~t`^2obT0gCJ!O-}8Oxm7d=1Qen;W7Ei~-MN4v zO$t(Ec(%ks7vt4l9$8upL|viP&!_6{Ow}1nwptas)NGN`?WdxQRgGDqEK^a+vfXP= zEi6i}a%v?tD%qxbRGbnsj-j|L@A%ZXCB{k>qax>m-Kq7+wz6aD4okdMDqeAh<4t9! zW@?QkLQqBUSe#}GJb&tZ3pk>{C7E`G6FwV}_5P`T>|+{PkEs$kuqj zfvznjJK5?BBFbH?%nlQjc||UP_AzLu0+IP||N56uXLwTHWuWS;zX1TbM`+hNwTxyG zsoidco3-g=2+g#62ovUZ5`?OK8~Vzl=$N!9Un#3gHqHEJ1uGL~5{C z!SVx%5PbP5!c8}EE*NMEV_x(R)Z>>k>Uh-xDsPO*`xQ=Ist=fJ2E*n~?U7UH0R=0x zy16{sl9`Nrt?Gm%Jfx8Hiz>9c0=n4@dbR3R8mExa!wO{l2m|F{4xb_fdtyZLx4sBH3#sRV%LD;zxLy6w308 zAizF0j{)ndjuG8iY(pua{4ofCR$t4Y{;CrMl8i4aV6ow2lY4E5a6N+#RGqOzIH4kx z7!eGgnn!#629EJ;RnXEfUsW;aJJ%Tfj5%fRMut+MQpumRgKoi3uM_Ad8|XC!Dlj*a zJlIHD#4yKH2aQx(+cacxDSz+Mg||P>bKwcj}>%EzgFIT-R8)u$EiregFjdcdcer)6_ay?{y00wM`@*&E3n;qNznh$j{h@Q}7Zi9EAb$Iz7y=f~f@* z1$D4M!3$}slFMz1|)U6U4P*CI7OF-znol&!<<`D{J zNRvWYe~5*W?qlSRsu5XPEeffA{{*ln6AW86wMoKS6)fM_h(I9?GU`Ct&Wg#Zkd`T= z`e7DIH_6btsncXWdK9c!v}4LR?>VFGr5TK@a5=72P`4Gd-URUzHvLRscd)lTiQkb% z(%ME7h*3GHK=}aSKJ7um++kwSf+HpdKSmVq#o7^=J53B~H*R9u6Gl7KK4N0{2^OKk z@k%8aBMXS=9F8pPx=bvY!Gz7r#ttcLL3^SpfopI>YYAGA4INfc7oZz)m<70^Y}_V= z%O^@YA_QPrHgJmq7Q$ww-*z-ougnH-%?4uzBIYUC;B8hgyE)j|4e+#V@OA}85lEj1 z@%po&BMJ(QmGgzbHQC_%6&Sq6;R8TtWkYu;D2j}IE5tcB8@N*e(F_bn3t{WBvAY!3 zE0r}WWBPo7o;G!wWn9{wg%{@`JlgaH0zYNy6bpWj6;B>Gv4ns&t@=U{p=D}|CBh>{ zgiu3|t{?Df4zGsao1TPIfQKDAenYL!tF`EwcWlCv!;Vt?Y@lzie!Fp@jSHO^C(2>) ztq-Q~@>%>4CHAXwfzmhfL7i}cd1IgtL$ z#U1cCfH=JZLx(!oVoYC<;V|Rc&|=L^KaX?T+1%mY&Sw<6wJinPyop0+FPov&de}Ee zzagBWg@KBn@RK`+RZ_y&0KjN4;NRD%l z7&s!Bzn!=?bqS6i8IoGB^^p2OCrh0l+35 zVAyL4X5SeCV$N%v*eQje-2izi5aO99SbSQEk&d~ODjX1iU3QGqIip~dj)?=}+9OOf zW*|gK_UlLTnvXf$JGm%7fM3Sh;l1%DY7(@{-k8xAecaSK8B z0Ey^$W}YFc&E9JCS5Z+GCiF-Gfj*kuldR=cX z(X}}RI2|FJu1IBiDeN$gh>Jbu7{}67>G@!GDJf2+nK!D?z5>c{CX6iwD76CQ=HtCr z!)K=umWsI^hnZBktzOXd=PL>A8=xu;HZ=YPN`_NzhD_9G2aYi*X@QVRMQ?@cO^FJX zNW@zWOGpVzgiy9)0a$}mObSq8%ck58q{0})VJ3x|Xhlgf0&T>pCIu>%Ik1p8V88Y# zK&c%dw1F?uu~I>bZ2D3Xe#loTxhy5|jWLPqAPy?ARKfV}od5vf$3KmnGu08YI7YR>l6h0NK~CBMDT0@Xh?yIaCA|8_%2Ci=_3FPD*%oM zNq`_ihGyya1F}g$$}=D$Q?v9PKy6W|0)=9Voe*wS!ih>~s>`rlfNfJSuYwtA?1p^1 zl25W_S+)X^?Y#hwC}2e{Al20&!0uPDN-NCPf{y~XL*XXoz!BRCpmr)$snXtTzq9mH z!0b{OI!Y?*!)(N}^wR+CR-j1=BudLlcLvBk3VBHe(r{aF*^UAFh=LY2o7Y)E>~g@^ z-fKwtP?k+TdVqJA_9+DI23iI*P>jCJko^imo5mK1srKkeMjlYeNp_?~?a|W=J*1$# zVQmhivKfy$E}_}xu!8ZKF%u@*&u9^&jwlpuK^vp>=oA({tAun&fQ1&tYZ!A>VT4Z; z-A-b-@r~9o>X<^68cf!VEo9Jf1)_|J0omG+M_U;7vVzgxw}6Q+Hb#3Ga6$p7ViZ8= z6J*G%3PR@!7$S?MpXDc&oJg7sO9-#M zQ37j9;Y%!dE+<5Aa)i0n4iQ0f!@N=v$}JI$Izt>6$5~c=l9l2_f-25LOB_{oh~(x- zt<|SFlG}}hA}W%(PVg|Su6hdT^N(}qkb$^@S(gc32F|Y@GlBgI=;Z>ms9enGRn;|w z=4V)E3SMl5qk}@-QUtw42egy;LzYP~C5VZc|W?0TsNL zGPtRF*aF_Jz(NZ-3_xeG;tN)9CA4U|BMK}EPz{)Xi)CM=`V_%M#ow>sqJjimYA&|( z;?>73%Ir`PN?CIiLFg~`_WG+|wM5yeqKG;YQH5}_C(6|vzr zRQ;?a&TbW_+!DvqKE(#$&gv0Mq&+H9MRp{Sme>*8QN7a=?GY7iq9vNOt%|+D`>Xd@ zV(nG2Ds#jVsfoS9k?MVxc>7d5w=uk;!Oqgfrs3A=0(iw~BVfP66&pBF)QlF}hMTIJ zB>I3t^KXlhe@ImOEM06KZm(WIPz@jGDJcKE7(rFFGq>10+)_OxBOF!{yoM&Sx@YNP z+iCZADtM(m0c)g1 z9BEJWGKz$BFP znwSr%E{$>dRp#5GpR2Q-_R5Jpsjwc)K{L3N0~VJuTFGk`96ol#uR>$%9nC{)vf#Lw zv1zNY;#eI}Efy5mPAf#dyt#y^S}h4r(18>on zR60tJ-Gw&1$*Ys_ zR!&J4I7*M@A~D*pOpN>OPQ744^X=}Jx!a!A29JAZzlokYrwq)jY)zkrP(a9#E&2z}y5hj-L5Ej+RliGfv{ThTPCwLA2(!mrCC{3ru#DgGQT-k^;@IZwL+OmYrn_eV~Mg(MZsw| zo0evbmHw5M7(+&k5LeJ{eaO`u_qbm*2G(H732&w2(Ag)kKY$wug6SabKtRczdH{#f zhdDYf>VgxTKC6|s0OYP^5N}fAQsXmu941O92e8#cS2pzkvqfQwss5ta7nLWl@T2p3 z5Qwb`flr1L)_c!DvQ6It$TkJRjR2PGsQ_rwcLA{70^n1V@}e^UM)X4fjAR0g;TJ#g zpq~KXeg)vxD(R&;1+4y-43C=B_BE%z)T8J8b`oeDs%Nee(+!~~eT4zOJoSWAL_ zZp?N=7O@2Y+ik#V$NOaK7%xHhC>)xFY)RshDlm<1;hmL76oyVcGKeocBSal+zQ>ic$X3;W6yee`g1oFC1?H__IKYn!zes$-5F4Y1h#Ti4b2Scqi#y$ccGOC63& z)buYe*qiDZEX4nf#eP0L!!f~O@{1BL!qhJa=18KbTWBG^apeTi8TnsfZy$fBM%PYx zWwokwsOr653*+N@SspC2SvG}P+$MpI9y@=iS_(&SY*<6KOt9bQTO7;mJVZi&5`j1 zH2-tQVx3r}2m3s+7!D5NM0~KXEEa2w2V(=c7!6lTYzQX92NGD9!)AdF6szF>$ItHW74Za}9HjcoS8qm9mT30Yu4#s3yfXVA2RN^N{5b=LvCMLY7VSDb zuz_nTm%yl`vWylkN`Fw-&e4B7j%(UxB(b?flRKe!Nkc~eS>>ggu?1>y8;V)0nZm;O z?;b<=zx-QinJLWA5;?oMMTSzBXJq(tRsei~IU7V;b}56-o@4e<3D;LV#iW8#@;r8RaQXJo9x<@t9N1}^eR~+NH926HX}NZW0lqT_ zxLV8F6bAAm8A!^wPa9`H7_v!dbNAxatnQphDQF^4X{%_)1L(1%Q1=GXDrPuvj6)yehCz_$gutXM?PGQ zQk<&gJ?eTi|ItrrWe3V1t$1|eqh3tJC7Soq$&cdKM)V2#p>qe%y>RZ>xnG@o{M`O? zKREZ&xxbwIZ|<+-r}zJ?q$1bPW>d4s|3B=#4SZD9nLmE-NhX=Zo6Ha=4KA_aCA?U0!3_u$TGW|-pi6LcGMMRQx*$fSN>}@l-(P;KyJ!VN5E=vn zwA#hDHWak5i!JG3H+InmMf3kY=bU@z-pM4u*6nXUzfS|_p7WgZoaa2}InQ~2nUo=< zK=fCgG#0s)`+hx1&&d;mFY)dG+>>!If&55K@fRZF#eNPpF2BW_?PZbxh2k$ns@O-d z-Wve)I>v4kWRf5|PqDo=0N9`A#3B5?c!d~CDKt$b@E0k__{>q0`O=;8F0ja$iBZga zg{JW0{bqvge<1*&0t`f!tuu3!x&v^m?IY4VN$e0&zhb>80H`)eGVlr&;$pgZ@KmW! zB7k1Gt4OgwBR~<7kjU#sY!<9tcK34HlvMVlKqywsRrcBhVoM6d{z|te1BfR6mZI40 zA{?M3o(e#)fvl0Sqx^+H;SU7><=>DV89PdeVtXb4I86vAW5WpzRI)J2Nbr3W;Xt*t z2hPwS#r`q?e2SCQhX|szw!H`dkCGHfr6v-84FE_dksKKtOUhuy@e%;A%s(4eXow^#`YXkD`yU=>QeaN@fI&`3*zsU6qJT3)?I&K zr09b~!xh^df8exrr-E^6;&wk!CL>#9Om4QqF;eMvu^*Tfz#?N}qAn<-6vv%@_)G@| z850X$%3qsU;u97&E-95?q7+K~dQj3=A8wGT93693fQj9081`+ypg2*FFaS#jLfhfi4&9m4uw zO5&zI!Op)Bz|aK6x}^`WFo_7sV4{+^oe%K4DRiz}Nxqp6#Hd7slm0?vCMk(~`Q$18 zOp#L~HyJ#eH}VmDR&~mnVoXu2`}lwsB&9>dZb7c(ZG1pp&>#aR{e{SUMZqm>ONrV* zgN(@tVN{^D(Oc%?7CwB=0)dPj=~feoU%v-ZClJWkk)|rPd-uRms6b)tIMb92Z0^y8 zdm;j6$=DI56T`avF%G2zNszH)=!)ZtJrSZzC()Uaz@oeL_-g?jGIm;DC9K4ydSIOd z1{ph6C1uRKO%I&o2q$C5nQ2j~!p;Ve6fd$)#*TFxQ8Mq(1E&PxWb8P9LlO`d=Yioz zC>cA(EGiA_#ypVR&}TAsq$DoF2*k;YPP?0 zo12_8M*s78JV_{50dt*eza-MkBtKK^f15Olr2`BQIMjq}Te)GpYd;B#z~{Ong=PaO zaSRqnMt3A-jv~&#A{YxUU)0JWF~ATdI9IVwC;-};g1|h*e)1JakETGXQOqMIK=@t? zg!#1FBz`wXnN9kPKQqJBrz}uX9e72+T}j9kaUqbqpLRvSV<}QzgaM`8H5c1gMB&*K zh<7O6&$$A1M+(%hD=7}S0{3y?k}-2e_F^UJge&}>1P&P!4_=`qit~6Y{GI{|89UmY zqDdDIOOmpsVdvcT+rIQmksP1q>h$NXy-U1)n^}7o|H%#5)%ULY*1Z|EcioO(G=Vj1 z*?j?^&HUzl*w}`HwCbC+a7B) zUi{Rl@&toCF2lLX5KJkq+Iy#dZ3e#j*Jfnb-izOxW;QROwN2=!0;M{pt_uY*L^o26tr<#X^ zQ*O2r^PG2{q&%I|6YFM6(2Z%c{o{XgO_-%%UrKp35(B^hL<4oYOs zsa4J$%r(#@B4Yk+0=xz0%%4}UOp*Liwpi8T6&7?}hg9(j&z{8Elo!R??YvHAH(#?b z?@a1xy_~tLt_P*+WvMH6^s=e?zuETwZym;%l%C8@2+mMH+SvFes1V5XCW>Y%r-qRPTg~G~@6EcU13q;5Ve2hyTMHt-AnhiF1jZ7Scry z5!wZBR6lR%mxhB%&Bft09Y)pp;Z+x+`m?9?XQNA=IjukQ{^j?Uv^^26ar&HmB3kA2 zIsQbb&aDKB4E?3y`g6$?TAqme4ZUf&zNdT0->it7_B=@Y57SmemmC^*+Vk=efpw;; zjb}Ga?~Lk~Y~ClOcSlseX!AZUy^(?QHt!bh4e8ZfJp6C&v>Hg`{Nc0Sw3EgRuLv@2 z`1rUF&&$yFbP?6_@-NbAo=bbRq8fRq7LZZ3$7toa@gc}_wF7q#;d);F*EAs2JSXv{ zt>~&ct1wA1*l(PkVGyqFHpz7FZ-+1F{gT8y^HC&3)! z-ElHk9r0nYn%bsXh>ypQrk9>hFKrv&Ny-r@O+SrYpZ8A)(jAd5d(_U}qHc6X?SwMg zQf=!k>SAZqHshzpFQg0>-LV9DKLXy4PvyGb0SQE_I-@mLu1^BFM$MIk2!;a+ziO9) ze(AJ+scpO))h8P4IIVZsWq`Vh*W zl#j>a@snb?-#;N^fn8@bsA?}MMmLuFk*eQ{j~xEYv(Hy*yvCUbA1zMk75d_@aNW8< z?ds)d4H}Ot<4(M&J`J@KmBeUUNmz#7De`dK5eVs3qP>9vg^yl2Rb2Xnq5IQxG?i4E zmX|N>7+RmxIvQ{X(uLFd1=CAb>7N=uH(PF5k(1d;PVuzvH)-fRAzRY6uoU!#ZuF20 z&vo->Xo1YEr_R4f(fn$|G44*T`bDE+uzSUR^EGiDJ7R z#@cuG$kQhfTN8{>p_GDia0R)9TbM&@qIGs&xK@QP0Ocw=<0wCIXmZou8vd%I_C8% zYh}~ytWoxy@=K!0#cQJ(t?SMcdPf?Oh=Co(VnVTmL{k>$)#`7`f^{&K7W6vgl~$)+ zFK1E=t2&ZZM;gh@ucqTqFHMyS&n1||If(aGb$DH9u=_ z&6l{lHRxanrQ6fM1?AjKGf+eC;EhNueVmisI)~<d)UZ1Z&SkeR@BamwpH|CrLaCc@F6jY(btS7Q;&3-)pD zHI%&Bby`A{Jzdo$1M3b}|0h(}wQ`-~$a69&d6k~}y?Xp|LGMRYsVySRHg6Lyw*%1#Ya`VG2vyRamvMjSkIFQFolR;}UfqzmL^* z(i-9=ET_KL?jC4F-)qKNBGq=Tcq&eG&|MyAN9gCQFK{Jiu6tLJUL|0 zf_r1ynTzmYTRfSqWDK5lC*KY)St@QZG;ZQudaUjpzP5{HE_Cbqnc@07e3*WAxZZ|p zYt(hT*|i}p{0sEmm)`7z>!gBSvHmozr-~Ix=j6@kp!HN)n2xs3Ky&hr)wH!)t}~X) z?A&AeQLYTJs-w2`2{G4nwt7YfIGLQFYv^smkMX%}%W1vEBHTR*xg-_;>qOksdT%_* z2;;iOVMyNT*{5qG)O-5|hJ0~6Q1``gPyHKEiS_}s81^&Al1*oO7I{ipVVPElrh2uS zI%RWZC$XSolZKr#xM=@p(!=hg*&k0jK0gKBv_GD12)}FLiJSo6D7gNyswP8!Cr!U- z)U=5buW6ENfAJe_foGEf5qE$oN#mrsq$mY}4lZ77a&HS2f=B2v{XB|9iB+AC)m)H~ zQ|By&-eBcGPKd>dWqi^#N3B5*ZBC|Tb18J%*;>+2d)(>hk}JkXvAVOOa&{V67Oq+O z0Qj!$8eJPLv1!>6?uH}wJi)y3ZmES<#tSlU%?HnckA694sLe0F&zz$g;d=Y$4I!?jh z?=KN;n({3rh^tGrN{RAKxC5}40bT?5-@z47mcwT)zH8xgud)Hq3hpYwrK7dLxEo=3 zoR2ow_E_bNuCZg+E-aQ|3|FU7LBEbco+#+ZC!YE+ph%Zz%iqHe*L7lj@*cPxQf)Kl zm!V`J%jw4a(ZV&slyZfyxeJ?WLPn$@b4sgY`bklgb4DA-$Gs)@4TLX8yn}yND+|!p zxq&KTpB#5WO4*To2ij?#`ck9Ssel*5br(qig{JSvF=7YfoGRt`Ul1U2Y!-%Ta|OI; zD&U1`nSwE+R|RbAu9KZH{cQEP6PB)7?S^Px8uZ^luQ)>u`mYnt4;(p#`g-O5Zm)!O5-XOdEl>May-^jB-mE^9SgKoJw2fNjZN zltff-qByVoYHd?8u{{*<(y!L;kpU=F&PuH6BsCPW=@C`RELYjNnpI{WO2g2l(7RQc zw-IWVPEwU|D}TEBatif@RA;oMI*yXMW}Tdc`1Y7wSVXw5McB-(Y5zZ@lWn9eXMVNT z9Q;^1d6EL&`PJH!QjNZ3ootah*>bHqS%lK)SttJ&Le0`~>Lm7b|C@Aj_WnvV=2TH< z1~1QksOk!hsDledYySJ#!D@6H;@|{r^clff#=&|-Fd|#=71@t$F`cAveQq)v!TAef zdntPCpjQ(4+dD&brAk0M7FiD;98yx^*zJvSC{(vp2~IX5#R#d6MX0~3HX?pl;R`uN zj2uRz4_}^WsBWDSs5CfQlw-xqlj1fKrSNafxDjF^5mz%J>F|j1^kR+GU(l|dk2;^? z@Iiu@+a-_cl^cIfJ zIku2QY#S=@IyfGu5pLJ)^eLM*T+F0^el`WV!6m{`+v8jzNH7VO2@3x1FC5z06Zj=ZXMM=JWEe(wzKx_+Wni&Gz?ro=C?b0IL0!u&L^hy`Fo= zsP-C-PbNsW|9}6LSn+_tD^pJify0VyU8^>_Cm5gjUyd58t3^ZD0EX?t5#(?-Otxxi zGS}e?H*=S`7zr+@_&i-yahK`t8&tfMv4Qzvr#K!b-z=(CkR4fNT9%H24D z^g@n3IS`9Xh8M44MvR>Hp%{kD2L4yL!!5tZd4&5g>la7qRxA65qO(lGr36M(0_Fk~ zhhmYkL<;0|#yV=~M;$4M#ix`h9Ho3bDfxd^4WxA?AQngu>rXN>Fr9(cLLl(?80v}N9Mt$lG>(8oYHs)rN0W-ZS2}K zFnlnCl$3zqh>*jmD5Ln&4O$JMgQSm2;P&uA8t*7UkHJSf$&4Qw3CoCmLzlw4TJYX$sHS|MKi}RU!;6+6d@H_5OtbnhD!BMl%{IES4Cw z#m6V24du~Rri?~mwrH`&Qg~Rp&jE}ID>TkoYvg`3KuRnUAc|(^CuY59GXDv_rED?_ z`b@w**&WCfvD8>&iH&rGfa<47=7z}j9W*wZR}qx>=CNH2;DC9Wf6Ymx{$%y)G^5Hf z48#0Xj3$Tkfgm5s6@%O15g)!$z3ns~(41QG+!LpH<9BMwvrnAX&zxHF46L?OOP<0J z+@VS!_n3~}G^8KXpCYR(_*_@;*{N zs`X8wx|K@cM&qk~9^JVdjfrsl#wKc)QU`MVN)Ke9o5+pdh@}C&i6h2~<%YEcbDGh^ zWBMUL9xLN|V>w6|HGY$tq0g%fxGDqQcu}*9QV}!!xMpvO!*%nNKu+l3{SXsIEK_lr z2}%O(!3kCruKQF%fYHbv6zi$TbW@_y$V;Ri+?y81BTWF0MFK<$eJK}skqCB?d<8<7 zBY5MP!cijYS>RTK2cXVSGO(zMaiQ@KdIifPNsptER}h0H8gIH!k)=Q}cs_@7Htni@YUc!mJ|UtG=dy7IPo`k> zC6RfQL0T~~m&Y3Y@JY;d2tvQhhqIzEYP{V`gQz%4V<8dY#Cd5f2Ds9Tf{+Qu8hwNy zXH-UnAR(Suqt_8akQAI8EsF*N`6s*xQ6A0{a%OO-$Uh+sj}SM`;1Lu|Iv(!K^gJ{j zs@7E+xrA#n^ovuYp&+Gw6y*}kPQY7WzXHF-dC*9k#EqIW!%q&c+4AP6*fe@ei8dA^ z9nsdD+Buq1IL$?WYG)Y%ry^7+JTqwC(`t&-Ud3s;DEh{RG`)Dooa$2%Di)4_Vux3v z%;$()6aLin_D4{MPKzqgdpbmuBq3@3SJOTfA$jrGJ+Y)Fvt-vj?0t}+8p6M2DP_gQ zW9VBE`a;G_zQ$v8EFR%^~x9AO$NvKUy2D$~e4j)?W{ zcv;W1Y%M)@Z5pYmmwnx-2x)m+LTN<{P7DYpO3W&DTHn(4d?ldMdhz@1r*@L_iCCkX zc(T@@2tvEeCv$QtU~l29vCiXstaH>kA9%&kUvUb95*NZ~Ot+NLedLnaj#DF6>*f~J#VK8Wk=qAw%eFyURKFojMr^8QGH)^&zB?G@x`my?61Y{YO32P$EKFFyLbN#+us8wO)*<5kdhU~|2kD~& zW3f&*N-V$8dfH#gHMz=7g>p@~mlR5MnE9V%Eg+E~A%UbRO3y1$n4Rz_BWDpBZ9I?fubwA&+w-$f5T_5m12+c4BLHyH(a7r@^CZV4_vz;e=lyeSh{YEw;MU2U~=B1wRDh%Rn(wOX2*RhBK??K6Q+urB!tpjUt>tE{<4Z z1vOPaGiy`(4K!k>RxA;@>Jf@rv(?ZaNgW68E1NBIu*Q*};Eee_Gh3Z1pT^0wMw$+R zA+em&z5&#e1`+Mc`7n4fO6n03y|tz1iPT%d|1~5jgnx!yVhhd_p{tM%9ueoukh#7X z{RK(aF1nuOE{+G_&VktKXx}dKQGGSpC&&9b*Sb}OM&c4PP z$!%0EHo5!|k`f3GeMrJOM)JlMsi*!Rxx_Z9r+yCysHakb-*K|~4MX3EGb;Le$S{O( zQkv?~&dHQm6|fM_46iOrMj*vW!GDaClzU2ORAo{hs43^nnC)6 zz&ayBOKhU0ImwZ|vYEkov|&apom9C|5ehBPVp=!9_|VjtBDUKeJ3`QKesV2*!6io& zY2qZC9ztuT2K=TzjByHikP)Gzhx4OrI00crrerFjdVL(n+Lpo{rss<4`B&IMs$*~2(|5^`A9VBG2Z&~eMT8X{hxGF@7;_^ zf{?ClDKW-Z9qqAb`BlcE4WVYVVP>ong3(%-@X#c9bRue5!Z{(~oSbl0C!E&6(AKGo zLznG+ATfD-{u%n=QRP;ggI~o@$tTWX5=V=1f}Z|}Tl0J-bW16*!GxEsV8xLCJyij# zg6H(e-1*k4JS)NnvWZ9_7w3(_8k}9*-S~bot=Q{{{1ZY#2fj;`JP|tE)EcHG8Z~ra zHThu+J-iAIHGE(V!NF<9PwmUWMo08V6fk!s0wr-rU9Dj}+D<`uEncBl;*W(Z z;3AQ?hVkON^XvmD=PMu_z0-GW2F>UlCnG4drN_`{_$b0Gc_i!nb3CGUY=)c2QvP0o z&$009_!7&lVH)Un-f_a5Y@4 zHH;T}$)bb4XnA=_G=!G|0zd`P5MBnrnedtc_pH7)iA>3(@gmh@R3j* z=0_e5)cym8#OSP#YQ~W}zrJY65vxg}CU_p2ua&sQLl=1Hk4HH&*J^>l8Gh9QoKa$y zNTcCeBuMpHr1wi)irP$C5@`vzgx6-0m~@iFrIX53I;jAqlgdjvDZkQ5nG(*oL;rR~ zUbCq`y$R2Bac^o+EJp3EP6!cId!Vf3R*fJ8l%81uDI*KQM=#$Nbqgw;yc=RHD6Zo-NrCQ?L#k^9@cwOe` z02PU6-)5?64bw~AE5e7qL#zghVt_D?`W|T#xY)cAcGsip@eOS(b-RMDRv@UJefWku zy`G2eqwvxQ4UkKq)U#n|qVqaTHi%cIE6NPm)O6GJq;oLTv5?~44fBsMKZE%_%#FY` ze5Gk`+p-{>#{5~st7plvS{fFqxH#JX0AeOW zVEYJn6tG@Y_lTov)i2_RFsCLaooHoeH)y5C?~$vYd-lO4xc9uAu>zNQ0`%=0^vhAJ zXsq$t0kzWgpt~Y`%YDI2GsocrpQ6U$G^J->dTBM*IWR!J0-vt!o%r4Xxz9H`(0&T6 ztYcF(sH}455wTL!aVL#MIU^RqTS|z7TXKS9tbPvNnPzN134+nB&)|#kcpi}v<8i74 zUEA>+BMPO)v(~}0CAz29&3vfby14-{#S#3rDhC-M#8CO3=i8%rhX;~_N<1rdhr3&%vd(4lHrH3FIeWeb1hz<}ngz4+x zz&K{s3p`1hDyp$yT`F(zL4%uALB@hwV_Gdg@aRnHvHG53JQkvmF#poA)uecPcqsp- z2&KW0fg>6Cb`Oj+da9*j`C3c zO%X~%`;;PktfZ%qhj^5e>*|ohgky-mp1@o;f5N>%GKRSbxURI0C3mmgB#G=^> z76s@X3hEj=Kp0!}IpIT3A_|r<>FqrW2m=s35R-EZ5i11$&>=qU59VS1F@HLZi)U2u zbmCt4%&174Q3-$UgDH#Kc*mGAS|}c78F)IgxEVlSxv?Cmw2$Gx}d~vG$Lq)elaL`bN)fGHvg=Ko0X91Gh7A8i}D`(2s zi1Dg?W#|n0S&B!q-#Tr974vOts_Kb+0g;3bQDs*G)!{=#ObPm&v&-ma@}6&G7@@NW zt~NLO?c0COAjrU0uwiHC@(6fl31hb79 zl^Ezv>bxHV!#LXm5)_~YZ@{DqSF$J7xHqPcdn?Y6@GrC5%mi}n2?X`}A5gkD1$pRk zPPI(pdFm%4|I*hJ`D+f)+L!979|RzLXe;4+{vjVg>t?=?C>gY>%kO|-joWB3mDW7W z;T&JZ6ui)Q)T};zV|e(>S%3PFm$L#@U8K>tS%LJ6{3R+}V(T=-Yh#JZgS7>bV$6D* zMno3AcqhP$i-CSu@KUVi47fr^Ha(`FspcgYX$cm$ZYGA!oVIS}*=gO(mrN765Uvmq z<29i}TwK9Eo_&u}`xE-TnfcHmf|Xz&t1U6tPOLbN5Ry;p<{09rVxE9HLyNzm143tV z#jswsU8T}HFe!9^a}XFCKEMm>{+mJvL@Aeq5AgO4ZK9}|@w<&9R+UGSBBK)X+fC*L zX6S&)JYNx&Qwqwm6{p)|!%3UVlp2cg(MROqI&@$jNhFXF-juEcMt(A_MhzB9)*$^{ zdNqbe6EA035KR|W%a*M(R`ZM))8XSCw~CfW zG`AZI$tJHMz0_=oBDCo$yGq#} z$=c+J@Kq1$-{(w5=W~bkTMj>>W}fpAp^fFxAzHb^_RnULw!pW|=+IC8MR(s&QzPOa z60Hh`CYRD~j;P;(R5f4J$nGIRM7$*g4Nv`6qPdUHc1JKz{R04T@wHB%g#g9xk-Q*B zB{Ca9G~+xAm{Oa+SJA#7$i!D*NKXw>U`QhMxW#>@5N3KJOcp`t5NVcz?7i%wIo66B zX3Sd=oiQ)&#|nWtqsOW$pV2=`RkU?8k5PX*m}T)L3n!2z3viR{X-Nc$T*@EYpkkq> z;uL1$op^2>E62RLhCWk+-bpWq5FVsQP97qc^xR{4l1q9vS)SyQp41eI=;T8EIdbGk z!&WacDO#xpBt7me{J;l)q@Fhr8ZNV$W2H->CY=NV&GzzI+8QEQrRUOq1E1P1dM*vM z7pemKDBNn&FM@fW;)&2=VXOw%y)W^O$IzcaMSlwBNtnlFyVEw8!b3|zg6Ca&r}FEF z)wD=r6*1h{A$P@STdY4UY5Btv+-JAbGw_IFO$$fDlUReaq(B)a2xy5W$=`q5bB zPb`a|5|t(qcZ82SA(prBte~Aak=br(a&G7HFX5wt&%)@v0PfaM0|cdV7jJ5Co0KHZ zeS@R8n|EZmmyXBpns^6^^(ixEdOX{5i?R~EInfR^iI@ot+&;WyJpLR~Y}MZr=sY1# z&}3^0kJ>>h5Ex@j!%>0`W7>2)l4(p^ht~#;X>0ICtTAmuR6pz4H?6Kge;?NU4f?Oz z51aZzL|L$k6B7Io$0An@YhBYyInkk<=weQEDJSX|L~8}nl^_a6)%KNk!s&sM1Yu9) z-@s>rxF_-!!PD@wBH$WV_`&sho?^gbV7 zjet-SAIt^D8q-Gb+~H9IJN z5o39hJdT_4;8QVAWRJ+F*+4{|GGQw4bkQ4dPP-TSdY-j)z%%9+BL@!o2=5YOnyCE5 zB?&@!&q5v@@)6$E#yGe+nY zPWc_l0MSBNxUP+#D@XWCj+8@9#{nyW0azMFbe?rA;m~``506G)$35bCSj~|WdvkpU z$e|`t=_#wBrf+aM)CGi^`0RzZzo8~RkqTtA>OW@jY<$%?UIzQIXn@*y9LlvBKLgJ| zqk?fCDtXn>&`#j~9XuAapn_M?YiVeCyb$%}fxm$pH!W$kw-RrSOy)sc;eybh>uV=$ zWGNGpEQ-yIA)Psr)eqUws4GpRey@dd(0-f&3neJY>RODJ__`~^vwo2h#3L*yKkAD@ zO(A4O3H&859;BDsJQU*=IgG=z5tRwZLAXu4Kq012HunU2sENiX+lV4LpdOZ=9PTW+_1@@0ANcKW_ zDTQ-DW7KT@U{KUws%9PJ1g2ztQx%g^|{hrZ@3W+O`p)$2mRGl!?J1iCPV2g!SV& zI4rNfo&$^(;ifwfMF|wf^yAgBs@IJ={Ak1_zLZKuJh0n4PRUJABhUi=X3O?<&Q|K<+waZ zFwGF41jD!z{Iy+0^#-b^KjQk_K(jkjHAZmN7)q)k7c0dY7$}9;kH!KpSB3VkQj|ok z9m?IDkzg@*^C}zgayK6$c?P2ho^eFXs0dJJs_CR^YCQJiv`H+2}JZ1+&2gJ~(s5MN(5S(GA7K(%-JaCg& zcu{U4CnQ(?DD}btZv(d-$dH-= zY;l0K7HB4t8%v0sPHTu#VJ=!5;f%Kb1EnPMgcEKeNt(rmo9OFIl6;i91!j`Bn>a|4 zBl9E$5>JwxCUS0Th|ghKL#v5OH%{Viiw#H&vVvecLWhJFSc-o{p8tvuF^7tN>W~8c z#it)l{njAZmZOEdS3o&Iu{Zu z{WRJ~+9wY61Ek+EfY3US5p+LU-L|xDux&dX`zk-N77t?mS@fdu)z}dxP`L^^u-~Mg0RSskDM#f^Q5?4IQ9E zTS{P}@l|m)(6cXp9X!fU28TFBWd5L$JgaR=A;B3fb|WVJ@dEEwaflN-*|!P5wQQS* zLHs$BeuY80ILjW-aU5;8Ho}NJ(Vdz;Y4cX_92{dzbx-OD3^SKd2bxW^zm+%b<_?a% zn$qzM-oQrQ3Jm6o_7}&}OZ|JWWPzioI5RCflA59!QfI3MAVeh$_O5uYSaDrWkeZ1@!aKxTPXANL=LkJ&Fl} zrnM65wvL#2lwqItS$I?1l^)2Cml|^`!@t!g{eBbr0>W2ul3*^51!$8#-Gr-5+^d{h zIO1Tn;h_V3tvs;N+~viB%ohqR#e9(-`DEir$<3sWxj@Y>~OgwBu; z?*PQAmT)(0rM;FT(B97S$4Ewj8ymQ799wbdccKk}M$1O`Z|@X+Ax%B0^CH`x%3KWH ze+WMWLZ?m|;b#DJZGQ@1C^%1pq#r14c#N0Ak4356&{JakriGcf!LI~i8?VrI>tXwI zpl98B5Qmz=+>dvG*Aj)x>lZ}E8sYG4HatoreY+<{7If_9$cVIi-6PUHkx^)-n!7%a z*8}x_?L^EaQib3`1H?q*kRfkwum`^=8yj6+jh+6|J-`31ODjVTnGI5 zKhAQ%f4@Sv!w%vOp!u`Yd+nIbUmRQSfIpA_qXYiprTKQ)LCgVo_8kd#W_cbOg`14H zDN+Lg*1>!o(z^)zC$MYN@iYp?!r#bJl)M|Tqy%#aN5q?tpZ=Xak>(Tced2&y-uci0 zpFH;m2mHkTvv%0Qmjh_uilm!=+wre<^sB-zv}|$UC&7*s96gl0}tC_M+y$0{Y5uvEnOK(C|dKoZ=P_#R|%)9NU62dk=CCp2Sk0%m80GN zCsp%57f$!WX};z*vi%!4p4)f9!yN^IK;J^T{7N9pNW_^12;%l#c`Wb7B2a zh1Cb6fNmYsnYR6Q;Wu9=>?j`x(A@g=e>f;#FO26Dx@>jaLEHf}*FWqWR$VWA?I~TS zbdsfcjoo{Eb+=;b_|VxPUJZWk*=rpACdT37vSZRbz4N#$*7?^R=mS_1%Pkjhp_-%L0OqGl;U#B`fR-ho_>Cr79tub~`?9f3eUB1x|D2Fk#< zGfmR`wDM6p2S`7-8eP&Et?Fo~`GZ)>`W;60@-U#e+(64wd${<=h7O2x8NTp=Ci1~X zUYHy>j1$iiH{9r4j);lhmW<~ZVTuaRR{b|(4VNEl^T;c0;#5aqlu5YA;7>HrLPrS} z!a)8gkA5NU6W6kEEQwO01ynfs?`$HCmlA1&4jczS7vrs^I6B>tSR6}rw8NaHV|nTu zJoW(d;CX)N0Ie@zWwllRH9yYrYkr*L*U*a)#EPPW0@2Y5D4ydC#0MsVCJ}Jahp|1{{>vMc+jB#oX#4EpIej_!&CoHUi&@Om;?M-umIdrg>K+{Q)LFLN4dE{ps zJ|Lf;BhCfv`{RH__;qkk*!(;L{T}VFt3wC)nOnNq%pcCl*3Z*|Y6CD6#~5T7MWv+? zvL7d#rzH+Az>A+;fGv+Lz{U5PLkAKE7WfM;V1!opU{NCki&`9_$xkTYCz5bN;V4L> zgr<}0_F^Nv6v^?@K(L`0+kJ=<^UX0Zge%f>;&?E(Bdp|@rEmU#>&IxjuCmkTd^v|!iqJ}n9cj@`rf|2k zv|xovE*#O6T)NM7U}!4cFTQozazB4O;eV;q!pHCU&=2`#+<6)2E4+ERtBej$kT@>x$iMFFOnYtujKlZgVI6`H#7YGR3ek z$ziF=wK%Nk-H}^2htM*CJho!HJ;l?C;Y#^dLZIb%vU!gAScx_-oWmpWL!b^%Tq;;l zEJq&BfCVL~y=SHNMw20gZBNozFe0`0=+xfxQhTEdN=4gz_#uh!p{cRWHwu%mm!`(9 zOzn-Gw^W><4^8DANbQZDGZpsq)ZXh-d#_3D?M?0NOYQAX?L9fQ_k>j5xE+rhblvj< z|K&aSuj;{nMGyY9J@~Ke!M}%#_X{@lfM3^x|NW``AERm}gD|=@ujJ9p0lOvZv+3$A zZIw*Zy5_pSeq>U$H{gy|d%1`JO(tlv2~8kqf(iKv66dRd=_ANzh7}W3Y(kX;i7NrX zEF-AQ467ih!i1(1B(7frvy>olIvmhYg2ZWbKqCke$LIl#CPtuvuD1g$Zl#RQ3C?x3=iprvNmJc7hlCBhaGw9pKzCP>_R#2z5oC{!&M51-RVP&%YpGIM*WA%Uy@pwSBf91e6@G&(ztXO` zCH(!CUSIud4L^c$6<(Tq78VBAt|wtNgc|`lCK`AnZY%tZ*6700V-+PpQlbk-9IF^A zTxG{9Mw2TRejQkHP;K=7XdL0=LK_zt-+J3jDR2-n;efH3CTLg<5N9Zi9$#(4sTImV z_|qFa54{SqU8RlvV9|A*zk~TIObyIEF!xLI8tfR%ZkQ)vUWUOLf_GqH-xS1f6egdp zyeFXE!e~~Wz&z`K&i4XQepAL%#vo)Yj1Q&^#tlPro#Yql=pKqVVIYPbp+hIZy%H>- zGi5<9zHak?7oGp$FG1p50Os-Xi3IHbrX!#p^TRE$F(nB#33X`HKckz#UxBZAOyx5K z)5P)$k_gp(hLhd&vL-xv!OO0)wtjfVTbVDUeSpuw+$C8}K}} zJmV*F3!W$S6u!KwhmT&G%P(n;d#h&UH^EnJ*Vx+VAiNVW2mH~(hQDh&36UQ%q6;Y1 zo|mgWeKE}}zi_7-$O?C6;6}#jcm`gPVn4$3lOpFUgCLl65VFHK@^v~0iKQW0le^51 z$+XJ)j};Zp?G(s)JGBcU|1Z00L1;xZ6VF?KSsds&@FK^{=MP?phqqpWPuKQ6_(BA9 z@Bu%g0b_)CD^!u5atV;Gvi8T4AE)M%v%EDs2<`V zK=}_yK?AcxpJfIM!-t4{96pLYN{*-D7MVe87R(?TI5ELvNZmm?CQLd;7l0EXd?5`L zP}DyvTU^g34E+iKw}Q(Ro<74}t5CeNgC zl+$Rz*HZL-U;?;8+}6QhL5dfpsFfrzr2;0oMdqbVOEeFYMu}&6$pxh~+OYbpdLrLI zdf@{hG&i_1eJ239qys7E$W>EMWCr|02Sig`Kat0v{*az~alE@M-kTMxnY=WeU3W8I zArtR;*xVCnrb$Aoz_N_h8q<36E^DL&N=gI=iEf3%zT)T>4;Nga{;IeUs1yOI74%4WZY-D+pn zPr}0;cTtARo&l3%QHXcz8E+1byKNxJPC0~`s+u`McX9hT#gIfed zC4uAQC4tj3FSGEByr5#{$H|Ks?&QUp&P?TY(9pq;Jx|mHCuC>Ganf?iMn{~P4mwVL z%y1_SCqL7Wr`wfj;AoajHco!*I8ItleyUO4y~)Q6chYdCH3yu`fOK?Fs-)twbO-ym zHW@kbh@x30&iqa1InyB}-G<{#(~cu}GjBuCpv1flkt60{5~P&~=d+}aMX%_zQo_Js zQmosc0{6$YVo?`)mBPDftBkp&+IwKktYs7hH z>vr#EdX|MVB#u+_He&>m93Q<8*YiuM!wez!#^0BI@>Tm5ZN4160W}+oEb>Y_UuCg# zp3Fdqh)tSSLJXk()BD}xj3Z^YG5tcf)BSNiUr1O=QM{SB zTAqd%0r#jhL7`#uU| z+1g~78Cnh8HE`Ex-_;huy-1q?vxsR+04&ieU}k8`;9jOpC8I5edpVGnYmaKH;9doy ztF)EcTDaG0x4@i8)9wLq52)UweNzj<9YjD7DQ|##1Kb<5d0HLZb=s?HhFhJI;YF}p zdjMV!X!YdfrvF+59ue(#gSK0X!Yitks44=#xYZ`NI>@c= zbE|mty$=G0xYeOPv1l3-C_(?|^w4 z<|e>z!hRR#J(!Vz$H0t-`4I3F*tf#yFdqS~f;}6?1ycjF2qqt<5T-xOV3=*dYlPVa zvm54lm=|F7!t94R4D%Yy379uvPQiQt^D)e2n9pHU&>5Isq{SeOm{tr)fUmR>+BU%3 zP-@#CnZ3ZVBr}XlW(1eaC{r-6f{8-6`ifhv1MVTP0;|QX9(Aj&Zgm-e7ZAJ(_CeT< zS#I?nxPvh70^R|51Kc}dM`53X-!|AE!rlq{X_#FwJ77-0?`h!ehI={8T9^l5A}}$S zMwl1U%e6-E-w4IohWt!Kes%!ffs)>-`C)?=^7S5Yt$d{}@l!+=V!DPBKM2%6Wr<&g zB(9~z-vwXYOB@VVKuoPQbhY^JcnF9f+{}qS4w;NNp$TB}r^b+6eX5j0%|P z+SBlV8q(Ya^E4#+Gn*h&D#+_@^|)L82~sI2({>^DF70N-bgNGhQ4~eNWNzp5o62pq z-*j%b7u?3}j|*mTyRhGAZhzjdjN60z-NNlLGTxMa#GqH5DdX4lo50~^{RI8B{ch&) zhJNMTj!6HHWV}<7&IkQw@bJTu&KvzIIlQf(;AdyQ+c~_upWth6ziKpOUNy^qGq-jB zRBli7Pv&;eU&-x}{#&@c%6}WT^ZnDgJ=-th5A@IA@Dl$VHQTEmEGXA@Yq{)l{$zHt zh`pt$yCJiL84b5zdmi$9p8I>b{Q`8H;OD{6Ih5#CbUe~0q2mMdP+eeLeN#7U%Ygf* zRPuX}9w~Vp?B1HSo|Jq%^06HG$%ow^<_*wU1b8GAd}2|tn&(x$A@w~U)E?$zn08>) zz|4f10y73?FZ>U~yoQ+Vu+@Atq;P)(vma&~aCX4VhJO_BJus&LyI_9|JHG&Kn2~v7 zwHHuWFKA`FfOJ%;57NDAd-`bg9k2Rf`dIZNfFGmGE~k%B-^lc;6Z0pKBGmY9RzGAY z&iu)0_EhzAV5lw-g~@V_P;*>fwT}xyAkw!?U4$BtkD#i&A?j`rdAD!5Ix`Ki`;O)I z<-SwZ2eQ2CGT(Hy5P1Dvx2OYMGtm83BD|7^t@V|wZm&8;STkW&rOi_RH^hdF=mn#B zBC`u7s3$;ZLw-4>J=j&w<3{q!)Tfc|O|A*(xxrKZ&8mBz>Yk-$Khf~!bPFI(?W~s|zR&i6Qu7y1t5}2JfUA+gG zKfIm(*J-zFdr@wC(cJBa*^4|;1^aWw>Y-u{(e^`J`?aAE75Zas1TQft$u3ClU7;)o z`;Jnx{b~^9f?_`b6~ zZ)gun=uJRxYOMr8=kn3+VCeWRJm1v<66F-2Q&55TU`~O7<=HkhNZIu*1BU4Pn$gbs zF?55+O)!mckA%Gw_88dXVJ5;%fw>h%hnWde1v49_24)e=lI$|=J+Sc}y3kV)Z~yEO z+Bv}I(CnWB{DHL3fxTVr%gpRb=GQu(ZE$xx3Z&fmO2onH3lTB3d^CB zUUgC7Ezm>s>_Y8N!1;z&4VAkc8U_uXuYHcxKG(`&?$FenIc!;m59VMRD;s70znLx1 z@UpcCSd~%C$|kdW$SQ+1T3eJ;4D>wK>0_Vz*p*VYEprfS%=D{^at5%n0lk7n?28gD zm^0K)U{(iPqx|tRn5BoUtibeFj+1u`D-X{{Z%PVHbgQFPqQ{pAS2* zinPMqRJ18K`#|$K*vDZLoS@xP?jCet^_08sIk1W}J$Hi4U5QPeB`lw(`XW+)7BOCx zHo?Trld!$4&|NHYj7%44Yjbb5QK)DA-6p4xBF6U-gJkwYX%oB^@Rk&mcH}NZRq$iS zaRA$ZIuOh#fjxrN!CjXzNSYzA$&~bfYvPe@;udKyQk%Wx5&-KmgHANWRv`+vsG>%Tk9SoZJso{2V%UO zDe#4R6brg**#=@`H7ub|McU=u3iWbsk=mBc%F9?5D`69|;gPE@L(N$ZGuaEUnBC%K zxA<9pHpY5jFXGN)QMX@xAOr4tPj&z#Q-=#0j}4z z!Jet=V9)I`ayi=p0;@76voi&7YV2v0&W?-%_Ize8=W49U)nJc>3DyFROqT>;D|7JEZYk)MP znGUxwMQnCf0jtRx#g=8E1J0Vy%Fu(IWOK6FJU^?=<1CD4Q`tg4TOpu{Y#1vW%~tMV zXI66T0Gn5qK;453VWQuw*}}@E(x6~R=2BLM{xlaZc$5>l9huD{sDzb0Xt~zeW5~Go zTA>NN2RY}Z?9O6#PuA^h;Q&~JSlL*JYMo7VYuLOBfrI8}D7dA<_S?8FNWs?xE4|Gi zN3pJ!&k!ry$I2=(_BbxApTUXY&`?-N;h!DQQ9zYe*ek+?@zF~7?@M3~K)TtExYFl! z;5-R43r2b!0-u!iZ?h8_qGTZpq(7Fuk+JC-`0r$8BUo86TX~MLQyF(9YsD;wR;*&l z;Ws^GqItrdQ!wiCChQfS5f%|Pjx}1x)h%DfakhrDn{Svm;GeTIk zZ0T(Xm+mSmKhBxZe46H6-Yf9KR zyMN)y{Ru&!Szq3L4eZ0%23NK=rcW-bbL~-ebdobOi`Ct}TvnB-rESPU?MByIlUc7# z0nP)i!n9tHaE$dUv?k#2!*Uc>IQq$BZTA5f@sro|S+!XEsY_KaA zi=x@=g@RJ`M1F<(2Jqj^DrGU3pKWtJr=HJdzb;bGp_l$3V}QD>Pc}P@aZNjf6sXni zK}L3`WovbPH1>aM#w5R)w zz=|(=*YwG3rfVs4xr*5PMQo?*|EN!69p;ZWCG2U}1h&gn0lOUbbQ?Tb`cwEY8D1uB z!Y`HnWRt%MQ#^vr_~c(I!$(QGT-rs*R)My+&j8rj+QB|UvA#5x&1M)!V#(6vgA-ITr6RLBI_67=I3G=~dY!S=WPW3?#=UT~b&AVM|?{kaxaUTqOkO^1X zoti7Jn7!b-Ma#$3@bep{yLO{!LumbAJy@a*%qvv~<`ui1htxwQn6<;Vh_z!akULA* zho-ZDeQY|5*u;E^P|Rw4mh+tHJ50p(F)XT~5G8_-^)a2r?8Cm&cZiwjyQa@r;p4P& zS%23c5g@5c%ZY{ovdIr*Z90dFh`DTHffuGYRRRU51d=65(#LKxeZa4oH%Uucl8ItA z#!PDvtCwV~unlGyYNYAJe93ecvu!5vBBq;8A3NB`$95)=`X`)Y5`2v`ow;m^E05i3 zg2hZXodr;~B9yY1t;T;SP?0tg0F;C6b!pnfJdI6EAI%Q-&1UDa{MxN~_p-hDGuZoR z7mHE%wrEv(x!R(<3~hN{Ia;KlY`@Eowe3>2ZUEa{g7zt!HDt5z`m}rU#Y$+c`T{rj%EpQJQOSVJAqbOD{=)OKXB-Jbmny%YL& z7kZlAp7VU7Sj@inGstNO45kvy&ra}MmD}7iY;GZe|4w-pA&Vt6YaQPgQV_N8QSF7k zjNRlz```Bi#`@&vYA5;*fSs+q3%O9hxxT}+4^jM=VY__gS|8s4wsZj7x>D;8=q6vS zHU{<-_!9O^Y1c@5nXgP+>+@?He13$NXc6BqZJTd^w$sP7-M$N~F7qaa&j4+&Zv+rD z?XYh?b7f>}Z~BH}H>v~$N5;>x(gv_~(?uOCWm(X#hr4?gAqp}kx~3xSJCLt$dfY$EQSf7j%?PH(pYi?)x8D34ze^Bd_znB%m-9LW_s(2pjkFjn$deC;4 zR~wlx1T!(eT+?A@=ikf*W=v$LVgpdc4xs}1wYB-fv<&fuZ!B_(9P^b-(n0MeJmec zCPrymK02FiTDCT@;2E|yznC4&9|}7U_9$&+!4NjEAX}SQkgMr9axoibNdamt{8kl| ztE&obrJkYK>=`b}<-2;(z>g5t&B7Yu@Epmoo|lK&-W=Ww1YKzNe@3f=t1zmQjVl&V z3w-R}B3AB44*jTMe$+5OYM382z>gY$$p_2_{YJ20P9AExu$M{uu(aQh_F!p`k@hxe z@09iwY0s4QZfWmD8t)bO(V}353Z@|IFhL_vXz=4Ke4ll35F%qyHej%3Fo$ib7#UiCE=WzaPCex_a>b06<8U{N%*P>XL|zSW7Amx zxyon-5U=H&m~aLY&XEb{s)RE?;hddt4oo=&_YVQ^d)!sv)QYp1dn+lm= zwV$waq+KZO!O|Wh?J3fpDeW3*FO&9KX>X8rMB3Y=y;It|rM*|$ho$|7v`H%1ZVUX_FEYOiE4m1Abl&S7py2U5@#OYK<^E zVRrfX+QhOx!_-~=B5WjQvj_Y`)dvcF(iE|JtSj8C?e}91VE~&jicLTz#*`K-2Ct!) zeGMC=*JpBpUwjRwQhUR%v5|Qt+PkpZeYa`n{C8o0b`~2`h#tSN6sDZ-*V3NtwVPbF zAv=%N!8`yHfr-MzV76sXWsR_RWDjAR?_v#k?7Qo8gkp%4?pyfW>9!aOZj_@sIhmVaKr zG;S|8RK$oqfIVy4x4s^ObFYP(`eZKqD8rX<4of)y=lbR*m@G{=uj*UG_TvQfYgojY z(0GHkqi_Iwd;p42+f`V=M&iH}Uup4aFF@P}vx-EQSE(I@0`U3JWbFhBP4vITy#IX{ zn1@ZwQQEn}QJ75TY9GQrL9+$~kHMD11DU?Gh&0j6(OOo~Fr2--lc_lv(Pm6VFYIOW z(3Qig_4CQ#cubv^XWYWwA7BogRV0S>1zLWQ#>Qu4<7_6@fw0pObB)yo7GZ#1RG>{P znyl$XxvE~|SKGBB*qAMQHI@!Y%VArUZ5eEY!fMjeM_s;C*}fa|%z=Gy2LCb?un5-pjC``DWMq+bYsO^?(=!ehz`C6A z9$BAfw3DS~eoU4tQ|$*UD>H|zoXkS9`eY6!D?f7#S%sNX$m*XtldOT6HDnFWTt?PS znQO@!nYn?iF_{sv#%FFLYhvb3vZiG2ChOMBy=3W`hsm0m`36~4|9{7H2c%jU$8mgu z=9%aBOwUaB-ZOJA1YvL>SU3pCJqw5>=kDA1arIO$uI2mPr}k(eEqJ*k$$*`XPUK(H9}|RVeueJo`5&`w~=r o3^l)IuI}&9@HvuApMsV@k!<@mQOA#=>pw{L{Q_dYg@JGV2lgu^CIA2c diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advhintinfo.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/advhintinfo.dcu deleted file mode 100644 index c30f4c245a92f09ddf2ad5c99080988a58965644..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2958 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 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/gdipicture.dcu b/TAdvTaskDialog/internal/1.5.1.2/1/Lib/D12/gdipicture.dcu deleted file mode 100644 index e30410ccb889af6a7866afc9ab25fcc61bbd4b0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9497 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 RkipMq$= 0) then - begin - Images.Draw(Canvas, CapR.Left, CapR.Top, ImageIndex, Enabled); - i := CapR.Left + Images.Width + 3; - end; - - Canvas.Brush.Style := bsClear; - //--- Draw Caption - if (Caption <> '') then - begin - Canvas.Font.Assign(Self.Font); - R := Rect(i, CapR.Top, CapR.Right, CapR.Bottom); - DrawText(Canvas.Handle,PChar(Caption),Length(Caption), R, DT_SINGLELINE or DT_LEFT or DT_VCENTER); - end; - - bmp.Canvas.CopyRect(Rect(0, 0, bmp.Width, bmp.Height), Canvas, Rect(CapR.Left-1, CapR.Top, CapR.Right+1, CapR.Bottom)); - R := GetBorderRect; - //--- Draw Borders - case BorderStyle of - bsSingle: - begin - (* - if Ctl3D then - begin - - Canvas.Brush.Style := bsClear; - Canvas.Pen.Color := clWhite; - R.Left := R.Left + 1; - R.Top := R.Top + 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - - Canvas.Pen.Color := clGray; - R.Bottom := R.Bottom -1; - R.Right := R.Right - 1; - R.Left := R.Left - 1; - R.Top := R.Top - 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - end - else - *) - begin - Canvas.Brush.Style := bsClear; - Canvas.Pen.Color := BorderColor; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - end; - end; - bsDouble: - begin - if Ctl3D then - begin - Canvas.Brush.Style := bsClear; - Canvas.Pen.Color := clWhite; - R.Left := R.Left + 1; - R.Top := R.Top + 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - Canvas.Pen.Color := clGray; - R.Bottom := R.Bottom -1; - R.Right := R.Right - 1; - R.Left := R.Left - 1; - R.Top := R.Top - 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - - R.Bottom := R.Bottom +1; - R.Right := R.Right + 1; - - R := Rect(R.Left+2, R.Top+2, R.Right-2, R.Bottom-2); - - Canvas.Pen.Color := clWhite; - R.Left := R.Left + 1; - R.Top := R.Top + 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - Canvas.Pen.Color := clGray; - R.Bottom := R.Bottom -1; - R.Right := R.Right - 1; - R.Left := R.Left - 1; - R.Top := R.Top - 1; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - end - else - begin - Canvas.Brush.Style := bsClear; - Canvas.Pen.Color := BorderColor; - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - R := Rect(R.Left+2, R.Top+2, R.Right-2, R.Bottom-2); - if FRoundEdges then - Canvas.RoundRect(R.Left, R.Top, R.Right, R.Bottom, rt, rt) - else - Canvas.Rectangle(R); - end; - end; - end; - - if ((Caption <> '') or (Assigned(Images) and (ImageIndex >= 0))) then - begin - Canvas.CopyRect(Rect(CapR.Left-1, CapR.Top, CapR.Right+1, CapR.Bottom), bmp.Canvas, Rect(0, 0, bmp.Width, bmp.Height)); - end; - bmp.Free; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetBorderColor(const Value: TColor); -begin - if (FBorderColor <> Value) then - begin - FBorderColor := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetImageIndex(const Value: Integer); -begin - if (FImageIndex <> Value) then - begin - FImageIndex := Value; - Invalidate; - Realign; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetImages(const Value: TCustomImageList); -begin - if (FImages <> Value) then - begin - FImages := Value; - if not Assigned(FImages) then - begin - ImageIndex := -1; - end; - Invalidate; - Realign; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetTransparent(const Value: Boolean); -begin - if (FTransparent <> Value) then - begin - FTransparent := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.WMEraseBkGnd(var msg: TWMEraseBkGnd); -begin - inherited; - //SetBkMode( msg.DC, TRANSPARENT ); - //msg.result := 1; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn))); -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetVersionNr: integer; -begin - Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER)); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetVersion(const Value: string); -begin - -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetCaptionHeight: Integer; -var - R: TRect; -begin - R := GetCaptionRect; - Result := Max(GetBorderWidth, R.Bottom - R.Top); -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetBorderWidth: Integer; -begin - Result := 0; - case BorderStyle of - bsNone: Result := 1; - bsSingle: - begin - Result := 1; - if Ctl3D then - Result := Result + 1; - end; - bsDouble: - begin - Result := 2; - if Ctl3D then - Result := Result + 2; - end; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetBorderRect: TRect; -begin - Result := ClientRect; - if CaptionPosition in [cpTopLeft, cpTopCenter, cpTopRight] then - begin - Result.Top := Result.Top + (GetCaptionHeight div 2); - end - else if CaptionPosition in [cpBottomLeft, cpBottomCenter, cpBottomRight] then - begin - if ((Caption <> '') or (Assigned(Images) and (ImageIndex >= 0))) then - begin - Result.Bottom := Result.Bottom - (GetCaptionHeight div 2); - if (BorderStyle = bsDouble) then - Result.Bottom := Result.Bottom + 1; - end; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGroupBox.GetCaptionRect: TRect; -var - ImgH, ImgW, CapH, CapW, sp, st, w, h: Integer; - R: TRect; -begin - Result := Rect(0, 0, 0, 0); - ImgH := 0; - ImgW := 0; - CapH := 0; - CapW := 0; - st := 8; - sp := 0; - if (Caption <> '') then - begin - Canvas.Font.Assign(Self.Font); - R := Rect(0, 0, 1000, 100); - DrawText(Canvas.Handle,PChar(Caption),Length(Caption), R, DT_CALCRECT or DT_LEFT or DT_SINGLELINE); - CapH := R.Bottom - R.Top; - CapW := R.Right - R.Left; - end; - - if Assigned(Images) and (ImageIndex >= 0) then - begin - ImgH := Images.Height; - ImgW := Images.Width; - end; - - if (CapW > 0) and (ImgW > 0) then - begin - sp := 3; - end; - - w := ImgW + sp + CapW; - h := Max(ImgH, CapH) + 2; - case CaptionPosition of - cpTopLeft: - begin - Result.Left := st; - Result.Right := Result.Left + w; - Result.Bottom := Result.Top + h; - end; - cpTopRight: - begin - Result.Right := Width - st; - Result.Left := Result.Right - w; - Result.Bottom := Result.Top + h; - end; - cpTopCenter: - begin - Result.Left := (Width - w) div 2; - Result.Right := Result.Left + w; - Result.Bottom := Result.Top + h; - end; - cpBottomLeft: - begin - Result.Left := st; - Result.Right := Result.Left + w; - Result.Top := Height - h; - Result.Bottom := Result.Top + h; - end; - cpBottomRight: - begin - Result.Right := Width - st; - Result.Left := Result.Right - w; - Result.Top := Height - h; - Result.Bottom := Result.Top + h; - end; - cpBottomCenter: - begin - Result.Left := (Width - w) div 2; - Result.Right := Result.Left + w; - Result.Top := Height - h; - Result.Bottom := Result.Top + h; - end; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.CMCtl3DChanged(var Message: TMessage); -begin - inherited; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetBorderStyle(const Value: TBorderStyle); -begin - if (FBorderStyle <> Value) then - begin - FBorderStyle := Value; - Invalidate; - Realign; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetCaptionPosition( - const Value: TCaptionPosition); -begin - if (FCaptionPosition <> Value) then - begin - FCaptionPosition := Value; - Invalidate; - Realign; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGroupBox.SetRoundEdges(const Value: Boolean); -begin - if (FRoundEdges <> Value) then - begin - FRoundEdges := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -{$IFDEF FREEWARE} -{$I TRIAL.INC} -{$ENDIF} - - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.pas deleted file mode 100644 index f8f0570..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.pas +++ /dev/null @@ -1,2814 +0,0 @@ -{*************************************************************************} -{ TAdvOfficeButtons components } -{ for Delphi & C++Builder } -{ } -{ written by } -{ TMS Software } -{ copyright © 2007 - 2008 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{*************************************************************************} - -unit AdvOfficeButtons; - -{$I TMSDEFS.INC} -{$R AdvOfficeButtons.res} -{$DEFINE REMOVESTRIP} -{$DEFINE REMOVEDRAW} - -interface - -uses - SysUtils, Windows, Messages, Classes, Graphics, Controls, - Forms, Dialogs, StdCtrls, Menus, Buttons, ComObj, ActiveX, - PictureContainer, AdvGroupBox; - -const - MAJ_VER = 1; // Major version nr. - MIN_VER = 1; // Minor version nr. - REL_VER = 1; // Release nr. - BLD_VER = 4; // Build nr. - - // version history - // 1.0.0.1 : Fixed compatibility issue with TRadioGroup of TAdvOfficeRadioGroup - // 1.0.1.0 : Improved : exposed Visible property in TAdvOfficeRadioButton - // 1.0.2.0 : New : Added OnEnter, OnExit events in TAdvOfficeRadioButton, TAdvOfficeCheckBox - // 1.0.3.0 : Improved : painting hot state of controls - // 1.1.0.0 : New property Value added in AdvOfficeCheckGroup - // : New component TDBAdvOfficeCheckGroup added - // 1.1.0.1 : Improved : painting of focus rectangle - // 1.1.0.2 : Fixed : issue with ImageIndex for caption - // 1.1.0.3 : Fixed : issue with arrow keys & TAdvOfficeRadioGroup - // 1.1.0.4 : Fixed : issue with dbl click & mouseup handling - // 1.1.0.5 : Fixed : small painting issue with ClearType fonts - // 1.1.0.6 : Fixed : issue with runtime creating controls - // 1.1.0.7 : Fixed : issue with setting separate radiobuttons in group as disabled - // 1.1.0.8 : Fixed : issue with OnClick event for TAdvOfficeRadioGroup - // 1.1.0.9 : Fixed : issue with vertical alignment of radiobutton label text - // 1.1.1.0 : Improved : BidiMode RightToLeft support - // 1.1.1.1 : Fixed : painting issue with BiDiMode bdRightToLeft for radiobutton - // 1.1.1.2 : Fixed : issue with transparency on Windows Vista - // 1.1.1.3 : Improved : tab key handling for TAdvOfficeCheckGroup - // 1.1.1.4 : Fixed : background painting issue with Delphi 2009 - -type - TAnchorClick = procedure (Sender:TObject; Anchor:string) of object; - - TCustomAdvOfficeCheckBox = class(TCustomControl) - private - FDown:Boolean; - FState:TCheckBoxState; - FFocused:Boolean; - FReturnIsTab:Boolean; - FImages:TImageList; - FAnchor: string; - FAnchorClick: TAnchorClick; - FAnchorEnter: TAnchorClick; - FAnchorExit: TAnchorClick; - FURLColor: TColor; - FImageCache: THTMLPictureCache; - FBtnVAlign: TTextLayout; - FAlignment: TLeftRight; - FEllipsis: Boolean; - FCaption: string; - FContainer: TPictureContainer; - FShadowOffset: Integer; - FShadowColor: TColor; - FIsWinXP: Boolean; - FHot: Boolean; - FClicksDisabled: Boolean; - FOldCursor: TCursor; - FReadOnly: Boolean; - {$IFNDEF TMSDOTNET} - FBkgBmp: TBitmap; - FBkgCache: boolean; - FTransparentCaching: boolean; - {$ENDIF} - FDrawBkg: boolean; - FGotClick: boolean; - procedure WMEraseBkGnd(var Message:TMessage); message WM_ERASEBKGND; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; - procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR; - procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; - procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; - procedure SetState(Value:TCheckBoxState); - procedure SetCaption(Value: string); - procedure SetImages(const Value: TImageList); - procedure SetURLColor(const Value:TColor); - function IsAnchor(x,y:integer):string; - procedure SetButtonVertAlign(const Value: TTextLayout); - procedure SetAlignment(const Value: TLeftRight); - procedure SetEllipsis(const Value: Boolean); - procedure SetContainer(const Value: TPictureContainer); - procedure SetShadowColor(const Value: TColor); - procedure SetShadowOffset(const Value: Integer); - function GetVersion: string; - procedure SetVersion(const Value: string); - {$IFNDEF TMSDOTNET} - procedure DrawParentImage (Control: TControl; Dest: TCanvas); - {$ENDIF} - protected - function GetVersionNr: Integer; virtual; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - procedure DrawCheck; - procedure Paint; override; - procedure SetChecked(Value:Boolean); virtual; - function GetChecked:Boolean; virtual; - procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure MouseMove(Shift: TShiftState;X, Y: Integer); override; - procedure KeyDown(var Key:Word;Shift:TShiftSTate); override; - procedure KeyUp(var Key:Word;Shift:TShiftSTate); override; - procedure SetDown(Value:Boolean); - procedure Loaded; override; - procedure DoEnter; override; - procedure DoExit; override; - property Checked: Boolean read GetChecked write SetChecked default False; - property ClicksDisabled: Boolean read FClicksDisabled write FClicksDisabled; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Toggle; virtual; - {$IFNDEF TMSDOTNET} - procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override; - property TransparentChaching: boolean read FTransparentCaching write FTransparentCaching; - {$ENDIF} - property DrawBkg: Boolean read FDrawBkg write FDrawBkg; - published - property Action; - property Align; - property Anchors; - property Constraints; - property Color; - property Alignment: TLeftRight read FAlignment write SetAlignment; - property BiDiMode; - property ButtonVertAlign: TTextLayout read FBtnVAlign write setButtonVertAlign default tlTop; - property Caption: string read FCaption write SetCaption; - property Down: Boolean read FDown write SetDown default False; - property DragCursor; - property DragKind; - property DragMode; - property Ellipsis: Boolean read FEllipsis write SetEllipsis default False; - property Enabled; - property Font; - property Images: TImageList read FImages write SetImages; - property ParentFont; - property ParentColor; - property PictureContainer: TPictureContainer read FContainer write SetContainer; - property PopupMenu; - property ReadOnly: Boolean read FReadOnly write FReadOnly default False; - property ReturnIsTab: Boolean read FReturnIsTab write FReturnIsTab; - property ShadowColor: TColor read FShadowColor write SetShadowColor default clGray; - property ShadowOffset: Integer read FShadowOffset write SetShadowOffset default 1; - property ShowHint; - property State: TCheckBoxState read FState write SetState default cbUnchecked; - property TabOrder; - property TabStop; - property URLColor: TColor read FURLColor write SetURLColor default clBlue; - property Visible; - property OnClick; - property OnDragDrop; - property OnDragOver; - property OnEndDrag; - property OnEnter; - property OnExit; - property OnKeyDown; - property OnKeyPress; - property OnKeyUp; - property OnMouseDown; - property OnMouseMove; - property OnMouseUp; - property OnAnchorClick: TAnchorClick read fAnchorClick write fAnchorClick; - property OnAnchorEnter: TAnchorClick read fAnchorEnter write fAnchorEnter; - property OnAnchorExit: TAnchorClick read fAnchorExit write fAnchorExit; - property Version: string read GetVersion write SetVersion; - end; - - TAdvOfficeCheckBox = class(TCustomAdvOfficeCheckBox) - published - property Checked; - end; - - TAdvOfficeRadioButton = class(TCustomControl) - private - FDown: Boolean; - FChecked: Boolean; - FFocused: Boolean; - FGroupIndex: Byte; - FReturnIsTab: Boolean; - FImages: TImageList; - FAnchor: string; - FAnchorClick: TAnchorClick; - FAnchorEnter: TAnchorClick; - FAnchorExit: TAnchorClick; - FURLColor: TColor; - FImageCache: THTMLPictureCache; - FBtnVAlign: TTextLayout; - FAlignment: TLeftRight; - FEllipsis: Boolean; - FCaption: string; - FContainer: TPictureContainer; - FShadowOffset: Integer; - FShadowColor: TColor; - FIsWinXP: Boolean; - FHot: Boolean; - FClicksDisabled: Boolean; - FOldCursor: TCursor; - {$IFNDEF TMSDOTNET} - FBkgBmp: TBitmap; - FBkgCache: boolean; - FTransparentCaching: boolean; - {$ENDIF} - FDrawBkg: Boolean; - FGotClick: boolean; - procedure TurnSiblingsOff; - procedure SetDown(Value:Boolean); - procedure SetChecked(Value:Boolean); - procedure SetImages(const Value: TImageList); - procedure SetURLColor(const Value:TColor); - function IsAnchor(x,y:integer):string; - procedure WMLButtonDown(var Message:TWMLButtonDown); message WM_LBUTTONDOWN; - procedure WMEraseBkGnd(var Message:TMessage); message WM_ERASEBKGND; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; - procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR; - procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; - procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; - procedure SetButtonVertAlign(const Value: TTextLayout); - procedure SetAlignment(const Value: TLeftRight); - procedure SetEllipsis(const Value: Boolean); - procedure SetCaption(const Value: string); - procedure SetContainer(const Value: TPictureContainer); - procedure SetShadowColor(const Value: TColor); - procedure SetShadowOffset(const Value: Integer); - function GetVersion: string; - procedure SetVersion(const Value: string); - function GetVersionNr: Integer; - {$IFNDEF TMSDOTNET} - procedure DrawParentImage (Control: TControl; Dest: TCanvas); - {$ENDIF} - protected - procedure DrawRadio; - procedure Paint; override; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure MouseMove(Shift: TShiftState;X, Y: Integer); override; - procedure KeyDown(var Key:Word;Shift:TShiftSTate); override; - procedure KeyUp(var Key:Word;Shift:TShiftSTate); override; - procedure DoEnter; override; - procedure DoExit; override; - procedure Loaded; override; - procedure Click; override; - procedure DoClick; virtual; - property ClicksDisabled: Boolean read FClicksDisabled write FClicksDisabled; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - {$IFNDEF TMSDOTNET} - procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override; - property TransparentChaching: boolean read FTransparentCaching write FTransparentCaching; - {$ENDIF} - property DrawBkg: Boolean read FDrawBkg write FDrawBkg; - published - property Align; - {$IFDEF DELPHI4_LVL} - property Action; - property Anchors; - property BiDiMode; - property Constraints; - {$ENDIF} - property Color; - property Alignment: TLeftRight read fAlignment write SetAlignment; - property URLColor:TColor read FURLColor write SetURLColor default clBlue; - property ButtonVertAlign: TTextLayout read fBtnVAlign write SetButtonVertAlign default tlTop; - property Caption: string read FCaption write SetCaption; - property Checked:Boolean read FChecked write SetChecked default False; - property Down:Boolean read FDown write SetDown default False; - property DragCursor; - {$IFDEF DELPHI4_LVL} - property DragKind; - {$ENDIF} - property DragMode; - property Ellipsis: Boolean read FEllipsis write SetEllipsis default False; - property Enabled; - property Font; - property GroupIndex:Byte read FGroupIndex write FGroupIndex - default 0; - property Images:TImageList read fImages write SetImages; - property ParentFont; - property ParentColor; - property PictureContainer: TPictureContainer read FContainer write SetContainer; - property PopupMenu; - property ReturnIsTab:Boolean read FReturnIsTab write FReturnIsTab; - property ShadowColor: TColor read FShadowColor write SetShadowColor default clGray; - property ShadowOffset: Integer read FShadowOffset write SetShadowOffset default 1; - property ShowHint; - property TabOrder; - property TabStop; - property OnClick; - property OnDragDrop; - property OnDragOver; - property OnEndDrag; - property OnEnter; - property OnExit; - property OnKeyDown; - property OnKeyPress; - property OnKeyUp; - property OnMouseDown; - property OnMouseMove; - property OnMouseUp; - property OnAnchorClick:TAnchorClick read fAnchorClick write fAnchorClick; - property OnAnchorEnter:TAnchorClick read fAnchorEnter write fAnchorEnter; - property OnAnchorExit:TAnchorClick read fAnchorExit write fAnchorExit; - property Version: string read GetVersion write SetVersion; - property Visible; - end; - - TEnabledEvent = procedure (Sender:TObject; ItemIndex: Integer; var Enabled: Boolean) of object; - - - TCustomAdvOfficeRadioGroup = class(TAdvGroupbox) - private - FButtons: TList; - FItems: TStrings; - FItemIndex: Integer; - FColumns: Integer; - FReading: Boolean; - FUpdating: Boolean; - FAlignment: TAlignment; - FBtnVAlign: TTextLayout; - FImages: TImageList; - FContainer: TPictureContainer; - FEllipsis: Boolean; - FShadowOffset: Integer; - FShadowColor: TColor; - FOnIsEnabled: TEnabledEvent; - FIsReadOnly: boolean; - procedure ArrangeButtons; - procedure ButtonClick(Sender: TObject); - procedure ItemsChange(Sender: TObject); - procedure SetButtonCount(Value: Integer); - procedure SetColumns(Value: Integer); - procedure SetItemIndex(Value: Integer); - procedure SetItems(Value: TStrings); - procedure UpdateButtons; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; - procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED; - procedure WMSize(var Message: TWMSize); message WM_SIZE; - procedure SetAlignment(const Value: TAlignment); - procedure SetButtonVertAlign(const Value: TTextLayout); - procedure SetContainer(const Value: TPictureContainer); - procedure SetImages(const Value: TImageList); - procedure SetEllipsis(const Value: Boolean); - procedure SetShadowColor(const Value: TColor); - procedure SetShadowOffset(const Value: Integer); - function GetVersion: string; - procedure SetVersion(const Value: string); - protected - function GetVersionNr: Integer; virtual; - procedure Loaded; override; - procedure ReadState(Reader: TReader); override; - function CanModify: Boolean; virtual; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - property Columns: Integer read FColumns write SetColumns default 1; - property ItemIndex: Integer read FItemIndex write SetItemIndex default -1; - property Items: TStrings read FItems write SetItems; - property IsReadOnly: boolean read FIsReadOnly write FIsReadOnly; - public - procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override; - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - {$IFDEF DELPHI4_LVL} - procedure FlipChildren(AllLevels: Boolean); override; - {$ENDIF} - procedure PushKey(var Key: Char); - procedure PushKeyDown(var Key: Word; Shift: TShiftState); - published - property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify; - property ButtonVertAlign: TTextLayout read fBtnVAlign write SetButtonVertAlign default tlTop; - property Ellipsis: Boolean read FEllipsis write SetEllipsis; - property Images: TImageList read FImages write SetImages; - property PictureContainer: TPictureContainer read FContainer write SetContainer; - property ShadowColor: TColor read FShadowColor write SetShadowColor default clSilver; - property ShadowOffset: Integer read FShadowOffset write SetShadowOffset default 1; - property OnIsEnabled: TEnabledEvent read FOnIsEnabled write FOnIsEnabled; - property Version: string read GetVersion write SetVersion; - end; - - TAdvOfficeRadioGroup = class(TCustomAdvOfficeRadioGroup) - private - protected - public - published - property Align; - {$IFDEF DELPHI4_LVL} - property Anchors; - property Constraints; - property DragKind; - property ParentBiDiMode; - {$ENDIF} - property Caption; - property Color; - property Columns; - property Ctl3D; - property DragCursor; - property DragMode; - property Enabled; - property Font; - property ItemIndex; - property Items; - property ParentColor; - property ParentCtl3D; - property ParentFont; - property ParentShowHint; - property PopupMenu; - property ShowHint; - property TabOrder; - property TabStop; - property Visible; - property OnClick; - {$IFDEF DELPHI5_LVL} - property OnContextPopup; - {$ENDIF} - property OnDragDrop; - property OnDragOver; - property OnEndDrag; - property OnEnter; - property OnExit; - {$IFDEF DELPHI4_LVL} - property OnEndDock; - property OnStartDock; - {$ENDIF} - property OnStartDrag; - end; - - TCustomAdvOfficeCheckGroup = class(TAdvGroupBox) - private - FButtons: TList; - FItems: TStrings; - FColumns: Integer; - FReading: Boolean; - FUpdating: Boolean; - FAlignment: TAlignment; - FBtnVAlign: TTextLayout; - FImages: TImageList; - FContainer: TPictureContainer; - FEllipsis: Boolean; - FShadowOffset: Integer; - FShadowColor: TColor; - FOnIsEnabled: TEnabledEvent; - FValue: DWord; - FFocusButtonIdx: integer; - procedure ArrangeButtons; - procedure ButtonClick(Sender: TObject); - procedure CheckFocus(Sender: TObject); - procedure ItemsChange(Sender: TObject); - procedure SetButtonCount(Value: Integer); - procedure SetColumns(Value: Integer); - procedure SetItems(Value: TStrings); - procedure UpdateButtons; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; - procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED; - procedure WMSize(var Message: TWMSize); message WM_SIZE; - procedure SetAlignment(const Value: TAlignment); - procedure SetButtonVertAlign(const Value: TTextLayout); - procedure SetContainer(const Value: TPictureContainer); - procedure SetImages(const Value: TImageList); - procedure SetEllipsis(const Value: Boolean); - procedure SetShadowColor(const Value: TColor); - procedure SetShadowOffset(const Value: Integer); - function GetReadOnly(Index: Integer): Boolean; - procedure SetReadOnly(Index: Integer; const Value: Boolean); - function GetVersion: string; - procedure SetVersion(const Value: string); - function GetVersionNr: Integer; - procedure SetValue(const Value: DWord); - function GetValue: DWord; - protected - procedure Loaded; override; - procedure DoEnter; override; - procedure DoExit; override; - procedure ReadState(Reader: TReader); override; - function CanModify: Boolean; virtual; - function GetChecked(Index: Integer): Boolean; virtual; - procedure SetChecked(Index: Integer; const Value: Boolean); virtual; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - procedure UpdateValue; - property Columns: Integer read FColumns write SetColumns default 1; - property Items: TStrings read FItems write SetItems; - property Value: DWord read GetValue write SetValue; - public - procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override; - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - {$IFDEF DELPHI4_LVL} - procedure FlipChildren(AllLevels: Boolean); override; - {$ENDIF} - procedure PushKey(var Key: Char); - procedure PushKeyDown(var Key: Word; Shift: TShiftState); - property Checked[Index: Integer]: Boolean read GetChecked write SetChecked; - property ReadOnly[Index: Integer]: Boolean read GetReadOnly write SetReadOnly; - published - property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify; - property ButtonVertAlign: TTextLayout read fBtnVAlign write SetButtonVertAlign default tlTop; - property Ellipsis: Boolean read FEllipsis write SetEllipsis; - property Images: TImageList read FImages write SetImages; - property PictureContainer: TPictureContainer read FContainer write SetContainer; - property ShadowColor: TColor read FShadowColor write SetShadowColor default clSilver; - property ShadowOffset: Integer read FShadowOffset write SetShadowOffset default 1; - property OnIsEnabled: TEnabledEvent read FOnIsEnabled write FOnIsEnabled; - property Version: string read GetVersion write SetVersion; - end; - - TAdvOfficeCheckGroup = class(TCustomAdvOfficeCheckGroup) - private - protected - public - property Value; - published - property Align; - {$IFDEF DELPHI4_LVL} - property Anchors; - property Constraints; - property DragKind; - property ParentBiDiMode; - {$ENDIF} - property Caption; - property Color; - property Columns; - property Ctl3D; - property DragCursor; - property DragMode; - property Enabled; - property Font; - property Items; - property ParentColor; - property ParentCtl3D; - property ParentFont; - property ParentShowHint; - property PopupMenu; - property ShowHint; - property TabOrder; - property TabStop; - property Visible; - property OnClick; - {$IFDEF DELPHI5_LVL} - property OnContextPopup; - {$ENDIF} - property OnDragDrop; - property OnDragOver; - property OnEndDrag; - property OnEnter; - property OnExit; - {$IFDEF DELPHI4_LVL} - property OnEndDock; - property OnStartDock; - {$ENDIF} - property OnStartDrag; - end; - - - - -implementation -uses - ShellApi, CommCtrl, Math -{$IFDEF DELPHI4_LVL} - ,Imglist -{$ENDIF} - ; - -{$I HTMLENGO.PAS} - - -const - BW = 12; - -{$IFNDEF TMSDOTNET} -function IsVista: boolean; -var - hKernel32: HMODULE; -begin - hKernel32 := GetModuleHandle('kernel32'); - if (hKernel32 > 0) then - begin - Result := GetProcAddress(hKernel32, 'GetLocaleInfoEx') <> nil; - end - else - Result := false; -end; -{$ENDIF} - -procedure PaintFocusRect(ACanvas: TCanvas; R: TRect; Clr: TColor); -var - LB: TLogBrush; - HPen, HOldPen: THandle; -begin - ACanvas.Pen.Color := Clr; - - lb.lbColor := ColorToRGB(Clr); - lb.lbStyle := bs_Solid; - - HPen := ExtCreatePen(PS_COSMETIC or PS_ALTERNATE,1, lb, 0, nil); - HOldPen := SelectObject(ACanvas.Handle, HPen); - - MoveToEx(ACanvas.Handle, R.Left, R.Top, nil); - LineTo(ACanvas.Handle, R.Right, R.Top); - - MoveToEx(ACanvas.Handle, R.Right, R.Top, nil); - LineTo(ACanvas.Handle, R.Right, R.Bottom); - - MoveToEx(ACanvas.Handle, R.Right, R.Bottom, nil); - LineTo(ACanvas.Handle, R.Left, R.Bottom); - - MoveToEx(ACanvas.Handle, R.Left, R.Top, nil); - LineTo(ACanvas.Handle, R.Left, R.Bottom); - - DeleteObject(SelectObject(ACanvas.Handle,HOldPen)); -end; - - -{$IFNDEF DELPHI4_LVL} -function Min(a,b: Integer): Integer; -begin - if a < b then - Result := a - else - Result := b; -end; -{$ENDIF} - -{$IFDEF DELPHI4_LVL} -{$IFNDEF TMSDOTNET} -function GetFileVersion(FileName:string): Integer; -var - FileHandle:dword; - l: Integer; - pvs: PVSFixedFileInfo; - lptr: uint; - querybuf: array[0..255] of char; - buf: PChar; -begin - Result := -1; - - StrPCopy(querybuf,FileName); - l := GetFileVersionInfoSize(querybuf,FileHandle); - if (l>0) then - begin - GetMem(buf,l); - GetFileVersionInfo(querybuf,FileHandle,l,buf); - if VerQueryValue(buf,'\',Pointer(pvs),lptr) then - begin - if (pvs^.dwSignature = $FEEF04BD) then - begin - Result := pvs^.dwFileVersionMS; - end; - end; - FreeMem(buf); - end; -end; -{$ENDIF} -{$ENDIF} - - -function DoThemeDrawing: Boolean; -var - VerInfo: TOSVersioninfo; - FIsWinXP,FIsComCtl6: boolean; - i: integer; -begin - {$IFDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := Marshal.SizeOf(TypeOf(TOSVersionInfo)); - {$ENDIF} - {$IFNDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); - {$ENDIF} - - GetVersionEx(verinfo); - - FIsWinXP := (verinfo.dwMajorVersion > 5) OR - ((verinfo.dwMajorVersion = 5) AND (verinfo.dwMinorVersion >= 1)); - - i := GetFileVersion('COMCTL32.DLL'); - i := (i shr 16) and $FF; - - FIsComCtl6 := (i > 5); - - Result := FIsComCtl6 and FIsWinXP; -end; - -{ TCustomHTMLCheckBox } - -constructor TCustomAdvOfficeCheckBox.Create(AOwner: TComponent); -var - VerInfo: TOSVersioninfo; - -begin - inherited Create(AOwner); - Width := 120; - Height := 20; - FUrlColor := clBlue; - FBtnVAlign := tlTop; - FImageCache := THTMLPictureCache.Create; - FCaption := self.ClassName; - FShadowOffset := 1; - FShadowColor := clGray; - - {$IFNDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); - {$ENDIF} - {$IFDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := Marshal.SizeOf(TypeOf(TOSVersionInfo)); - {$ENDIF} - - GetVersionEx(verinfo); - - FIsWinXP := (verinfo.dwMajorVersion > 5) OR - ((verinfo.dwMajorVersion = 5) AND (verinfo.dwMinorVersion >= 1)); - - ControlStyle := ControlStyle - [csClickEvents]; - FReadOnly := False; - - {$IFNDEF TMSDOTNET} - FBkgBmp := TBitmap.Create; - FBkgCache := false; - FTransparentCaching := false; - {$ENDIF} - FDrawBkg := true; -end; - -function TCustomAdvOfficeCheckBox.IsAnchor(x,y:integer):string; -var - r,hr: TRect; - XSize,YSize,HyperLinks,MouseLink: Integer; - s:string; - Anchor, Stripped, FocusAnchor:string; -begin - r := Clientrect; - s := Caption; - Anchor:=''; - - r.left := r.left + BW + 5; - r.top := r.top + 4; - - Result := ''; - - if HTMLDrawEx(Canvas,s,r,FImages,x,y,-1,-1,FShadowOffset,True,False,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,Anchor,Stripped,FocusAnchor,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0) then - Result := Anchor; -end; - -{$IFNDEF TMSDOTNET} - -procedure TCustomAdvOfficeCheckBox.DrawParentImage(Control: TControl; Dest: TCanvas); -var - SaveIndex: Integer; - DC: HDC; - Position: TPoint; -begin - with Control do - begin - if Parent = nil then - Exit; - - DC := Dest.Handle; - SaveIndex := SaveDC(DC); - GetViewportOrgEx(DC, Position); - SetViewportOrgEx(DC, Position.X - Left, Position.Y - Top, nil); - IntersectClipRect(DC, 0, 0, Parent.ClientWidth, Parent.ClientHeight); - - Parent.Perform(WM_ERASEBKGND, Integer(DC), Integer(0)); - Parent.Perform(WM_PAINT, Integer(DC), Integer(0)); - RestoreDC(DC, SaveIndex); - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetBounds(ALeft, ATop, AWidth, AHeight: Integer); -begin - inherited; - FBkgCache := false; - Repaint; -end; -{$ENDIF} - -procedure TCustomAdvOfficeCheckBox.DrawCheck; -var - bmp: TBitmap; - BL,BT:Integer; -begin - BT := 4; - //ExtraBW := 4; - bmp := TBitmap.Create; - if state = cbChecked then - begin - if Down then - bmp.LoadFromResourceName(hinstance,'TMSOFCCD') - else - if FHot then - bmp.LoadFromResourceName(hinstance,'TMSOFCCH') - else - bmp.LoadFromResourceName(hinstance,'TMSOFCC'); - - end - else - begin - if Down then - bmp.LoadFromResourceName(hinstance,'TMSOFCUD') - else - if FHot then - bmp.LoadFromResourceName(hinstance,'TMSOFCUH') - else - bmp.LoadFromResourceName(hinstance,'TMSOFCU'); - end; - - bmp.Transparent := true; - bmp.TransparentMode := tmAuto; - - case FBtnVAlign of - tlTop: BT := 4; - tlCenter: BT := (ClientRect.Bottom - ClientRect.Top) div 2 - (bmp.Height div 2); - tlBottom: BT := ClientRect.Bottom - bmp.Height; - end; - - if (FAlignment = taRightJustify) or UseRightToLeftAlignment then - BL := ClientRect.Right - bmp.Width - 1 - else - BL := 0; - - Canvas.Draw(BL,BT,bmp); - bmp.free; -end; - -procedure TCustomAdvOfficeCheckBox.Paint; -var - R, hr: TRect; - a,s,fa,text: string; - xsize,ysize: Integer; - ExtraBW,HyperLinks,MouseLink: Integer; - -begin - Canvas.Font := Font; - - if FTransparentCaching then - begin - if FBkgCache then - begin - Canvas.Draw(0,0,FBkgBmp) - end - else - begin - FBkgBmp.Width := self.Width; - FBkgBmp.Height := self.Height; - DrawParentImage(Self, FBkgBmp.Canvas); - Canvas.Draw(0,0,FBkgBmp); - FBkgCache := true; - end; - end - else - begin - {$IFNDEF DELPHI_UNICODE} - if FDrawBkg or IsVista then - {$ENDIF} - DrawParentImage(Self, Canvas); - end; - - with Canvas do - begin - Text := Caption; - - DrawCheck; - - ExtraBW := 4; - - R := GetClientRect; - - if (FAlignment = taRightJustify) or UseRightToLeftAlignment then - begin - r.Left := 0; - r.Right := r.Right - BW - ExtraBW; - end - else - r.Left := r.Left + BW + ExtraBW; - - r.top := r.top + 4; - - - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,True,False,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - - if UseRightToLeftAlignment then - r.Left := r.Right - Xsize - 3; - - if not Enabled then - begin - OffsetRect(r,1,1); - Canvas.Font.Color := clWhite; - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,clWhite, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - - Canvas.Font.Color := clGray; - Offsetrect(r,-1,-1); - - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,clGray, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - end - else - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - - if FFocused then - begin - r.right := r.left + xsize + 3; - r.bottom := r.top + ysize ; - //WinProcs.DrawFocusRect(Canvas.Handle,R); - PaintFocusRect(Canvas,R,clBlack); - end; - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetDown(Value:Boolean); -begin - if FDown <> Value then - begin - FDown := Value; - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetState(Value:TCheckBoxState); -var - r: TRect; -begin - if FState <> Value then - begin - FState := Value; - - if HandleAllocated and HasParent then - begin - r := GetClientRect; - case Alignment of - taLeftJustify: r.Right := 20; - taRightJustify: r.Left := r.Right - 20; - end; - {$IFNDEF TMSDOTNET} - InvalidateRect(self.Handle,@r,True); - {$ENDIF} - {$IFDEF TMSDOTNET} - InvalidateRect(self.Handle,r,True); - {$ENDIF} - end; - end; -end; - -function TCustomAdvOfficeCheckBox.GetChecked: Boolean; -begin - Result := (State = cbChecked); -end; - -procedure TCustomAdvOfficeCheckBox.SetChecked(Value:Boolean); -begin - if Value then - State := cbChecked - else - State := cbUnchecked; - - Invalidate; -end; - -procedure TCustomAdvOfficeCheckBox.DoEnter; -{$IFNDEF DELPHI9_LVL} -var - R: TRect; -{$ENDIF} -begin - inherited DoEnter; - FFocused := True; - {$IFDEF DELPHI9_LVL} - Repaint; - {$ELSE} - R := ClientRect; - R.Right := 16; - InvalidateRect(self.Handle, @R, true); - {$ENDIF} -end; - - -procedure TCustomAdvOfficeCheckBox.DoExit; -var - db: boolean; -begin - inherited DoExit; - FFocused := False; - db := FDrawBkg; - FDrawBkg := true; - Repaint; - FDrawBkg := db; -end; - -procedure TCustomAdvOfficeCheckBox.MouseDown(Button: TMouseButton; Shift: TShiftState;X, Y: Integer); -var - Anchor:string; - R: TRect; -begin - Anchor := ''; - FGotClick := true; - - if FFocused then - begin - Anchor := IsAnchor(X,Y); - - if Anchor <> '' then - begin - if (Pos('://',Anchor) > 0) or (Pos('mailto:',anchor) > 0) then - {$IFNDEF TMSDOTNET} - Shellexecute(0,'open',pchar(anchor),nil,nil,SW_NORMAL) - {$ENDIF} - {$IFDEF TMSDOTNET} - Shellexecute(0,'open',anchor,'','',SW_NORMAL) - {$ENDIF} - else - begin - if Assigned(FAnchorClick) then - FAnchorClick(self,anchor); - end; - end; - end - else - begin - if (self.CanFocus and not (csDesigning in ComponentState)) then - begin - SetFocus; - FFocused := True; - end; - end; - - if (Anchor = '') then - begin - inherited MouseDown(Button, Shift, X, Y); - MouseCapture := True; - Down := True; - end; - - R := ClientRect; - R.Right := 16; - InvalidateRect(Self.Handle,@R, true); -end; - -procedure TCustomAdvOfficeCheckBox.MouseUp(Button: TMouseButton; Shift: TShiftState; - X, Y: Integer); -var - R: TRect; -begin - MouseCapture := False; - - Down := False; - - if (X >= 0) and (X<=Width) and (Y>=0) and (Y<=Height) and FFocused and FGotClick then - begin - ClicksDisabled := True; - Toggle; - ClicksDisabled := False; - Click; - end; - - inherited MouseUp(Button, Shift, X, Y); - - R := ClientRect; - R.Right := 16; - InvalidateRect(Self.Handle,@R, true); - - FGotClick := false; -end; - -procedure TCustomAdvOfficeCheckBox.MouseMove(Shift: TShiftState;X, Y: Integer); -var - Anchor:string; -begin - - if MouseCapture then - Down := (X >= 0) and (X <= Width) and (Y >= 0) and (Y <= Height); - - if fFocused then - Anchor := IsAnchor(x,y) - else - Anchor := ''; - - if Anchor <> '' then - begin - if (self.Cursor = crDefault) or (FAnchor <> Anchor) then - begin - FAnchor := Anchor; - self.Cursor := crHandPoint; - if Assigned(FAnchorEnter) then - FAnchorEnter(self,Anchor); - end; - end - else - begin - if self.Cursor = crHandPoint then - begin - self.Cursor := FOldCursor; - if Assigned(FAnchorExit) then - FAnchorExit(self,Anchor); - end; - end; - - inherited MouseMove(Shift,X,Y); -end; - -procedure TCustomAdvOfficeCheckBox.KeyDown(var Key:Word;Shift:TShiftSTate); -begin - if (Key=vk_return) and (fReturnIsTab) then - begin - Key := vk_tab; - PostMessage(self.Handle,wm_keydown,VK_TAB,0); - end; - - if Key = vk_Space then - Down := True; - - inherited KeyDown(Key,Shift); -end; - -procedure TCustomAdvOfficeCheckBox.KeyUp(var Key:Word;Shift:TShiftSTate); -begin - if Key = vk_Space then - begin - Down := False; - Toggle; - Click; - end; -end; - - -procedure TCustomAdvOfficeCheckBox.SetImages(const Value: TImageList); -begin - FImages := Value; - Invalidate; -end; - -procedure TCustomAdvOfficeCheckBox.SetURLColor(const Value: TColor); -begin - if FURLColor <> Value then - begin - FURLColor := Value; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeCheckBox.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - - if (AOperation = opRemove) and (AComponent = FImages) then - FImages:=nil; - - if (AOperation = opRemove) and (AComponent = FContainer) then - FContainer := nil; -end; - -procedure TCustomAdvOfficeCheckBox.CMEnabledChanged(var Message: TMessage); -begin - inherited; - Invalidate; -end; - -procedure TCustomAdvOfficeCheckBox.SetButtonVertAlign(const Value: TTextLayout); -begin - if Value <> FBtnVAlign then - begin - FBtnVAlign := Value; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetAlignment(const Value: TLeftRight); -begin - if FAlignment <> Value then - begin - FAlignment := Value; - Invalidate; - end; -end; - -destructor TCustomAdvOfficeCheckBox.Destroy; -begin - {$IFNDEF TMSDOTNET} - FBkgBmp.Free; - {$ENDIF} - FImageCache.Free; - inherited; -end; - -procedure TCustomAdvOfficeCheckBox.SetEllipsis(const Value: Boolean); -begin - if FEllipsis <> Value then - begin - FEllipsis := Value; - Invalidate - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetCaption(Value: string); -begin - {$IFNDEF TMSDOTNET} - SetWindowText(Handle,pchar(Value)); - {$ENDIF} - {$IFDEF TMSDOTNET} - SetWindowText(Handle,Value); - {$ENDIF} - FCaption := Value; - Invalidate; -end; - - -procedure TCustomAdvOfficeCheckBox.Toggle; -begin - if not FReadOnly then - Checked := not Checked; -end; - -procedure TCustomAdvOfficeCheckBox.WMEraseBkGnd(var Message: TMessage); -begin - {$IFDEF DELPHI_UNICODE} - inherited; - {$ENDIF} - {$IFNDEF DELPHI_UNICODE} - Message.Result := 1 - {$ENDIF} -end; - -procedure TCustomAdvOfficeCheckBox.CMDialogChar(var Message: TCMDialogChar); -begin - with Message do - begin - if IsAccel(CharCode, FCaption) and CanFocus then - begin - Toggle; - if Assigned(OnClick) then - OnClick(Self); - if TabStop then - if (self.CanFocus and not (csDesigning in ComponentState)) then - SetFocus; - Result := 1; - end - else - inherited; - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetContainer(const Value: TPictureContainer); -begin - FContainer := Value; - Invalidate; -end; - -procedure TCustomAdvOfficeCheckBox.SetShadowColor(const Value: TColor); -begin - if FShadowColor <> Value then - begin - FShadowColor := Value; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeCheckBox.SetShadowOffset(const Value: Integer); -begin - if FShadowOffset <> Value then - begin - FShadowOffset := Value; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeCheckBox.CMMouseEnter(var Message: TMessage); -begin - FHot := True; - DrawCheck; - inherited; -end; - -procedure TCustomAdvOfficeCheckBox.CMMouseLeave(var Message: TMessage); -begin - FHot := False; - DrawCheck; - inherited; -end; - -procedure TCustomAdvOfficeCheckBox.Loaded; -begin - inherited; - FOldCursor := Cursor; -end; - -function TCustomAdvOfficeCheckBox.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn))); -end; - -function TCustomAdvOfficeCheckBox.GetVersionNr: Integer; -begin - Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER)); -end; - -procedure TCustomAdvOfficeCheckBox.SetVersion(const Value: string); -begin - -end; - -{ THTMLRadioButton } - -constructor TAdvOfficeRadioButton.Create(AOwner: TComponent); -var - VerInfo: TOSVersionInfo; - -begin - inherited Create(AOwner); - Width := 135; - Height := 20; - FURLColor := clBlue; - FBtnVAlign := tlTop; - FImageCache := THTMLPictureCache.Create; - FCaption := self.ClassName; - FShadowOffset := 1; - FShadowColor := clGray; - {$IFNDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); - {$ENDIF} - {$IFDEF TMSDOTNET} - VerInfo.dwOSVersionInfoSize := Marshal.SizeOf(TypeOf(TOSVersionInfo)); - {$ENDIF} - GetVersionEx(verinfo); - - FIsWinXP := (verinfo.dwMajorVersion > 5) OR - ((verinfo.dwMajorVersion = 5) AND (verinfo.dwMinorVersion >= 1)); - - {$IFNDEF TMSDOTNET} - FBkgBmp := TBitmap.Create; - FBkgCache := false; - FTransparentCaching := false; - {$ENDIF} - FDrawBkg := true; -end; - -function TAdvOfficeRadioButton.IsAnchor(x,y:integer):string; -var - r,hr: TRect; - XSize,YSize,HyperLinks,MouseLink: Integer; - s: string; - Anchor,Stripped,FocusAnchor: string; -begin - r := Clientrect; - s := Caption; - Anchor := ''; - - r.left := r.left + BW + 5; - r.top := r.top + 4; - - Result := ''; - - if HTMLDrawEx(Canvas,s,r,FImages,x,y,-1,-1,FShadowOffset,True,False,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,Anchor,Stripped,FocusAnchor,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0) then - Result := Anchor; -end; - -procedure TAdvOfficeRadioButton.DrawParentImage(Control: TControl; Dest: TCanvas); -var - SaveIndex: Integer; - DC: HDC; - Position: TPoint; -begin - with Control do - begin - if Parent = nil then - Exit; - DC := Dest.Handle; - SaveIndex := SaveDC(DC); - GetViewportOrgEx(DC, Position); - SetViewportOrgEx(DC, Position.X - Left, Position.Y - Top, nil); - IntersectClipRect(DC, 0, 0, Parent.ClientWidth, Parent.ClientHeight); - Parent.Perform(WM_ERASEBKGND, Integer(DC), Integer(0)); - Parent.Perform(WM_PAINT, Integer(DC), Integer(0)); - RestoreDC(DC, SaveIndex); - end; -end; - - -procedure TAdvOfficeRadioButton.SetBounds(ALeft, ATop, AWidth, AHeight: Integer); -begin - inherited; - begin - FBkgCache := false; - Repaint; - end; -end; - -procedure TAdvOfficeRadioButton.DrawRadio; -var - bmp: TBitmap; - BT, BL: integer; -begin - BT := 4; - bmp := TBitmap.Create; - if (Checked) then - begin - if Down then - bmp.LoadFromResourceName(hinstance,'TMSOFRCD') - else - if FHot then - bmp.LoadFromResourceName(hinstance,'TMSOFRCH') - else - bmp.LoadFromResourceName(hinstance,'TMSOFRC'); - - end - else - begin - if Down then - bmp.LoadFromResourceName(hinstance,'TMSOFRUD') - else - if FHot then - bmp.LoadFromResourceName(hinstance,'TMSOFRUH') - else - bmp.LoadFromResourceName(hinstance,'TMSOFRU'); - end; - - bmp.Transparent:=true; - bmp.TransparentMode :=tmAuto; - - case FBtnVAlign of - tlTop: BT := 4; - tlCenter: BT := (ClientRect.Bottom-ClientRect.Top) div 2 - (bmp.Height div 2); - tlBottom: BT := ClientRect.Bottom - bmp.Height - 2; - end; - - if (FAlignment = taRightJustify) or UseRightToLeftAlignment then - BL := ClientRect.Right - bmp.Width - 1 - else - BL := 0; - Canvas.Draw(BL,BT,bmp); - bmp.Free; -end; - -procedure TAdvOfficeRadioButton.Paint; -var - BR:Integer; - R,hr: TRect; - a,s,fa,text: string; - XSize,YSize,HyperLinks,MouseLink: Integer; - -begin - Canvas.Font := Font; - Text := Caption; - - if FTransparentCaching then - begin - if FBkgCache then - begin - Self.Canvas.Draw(0,0,FBkgBmp) - end - else - begin - FBkgBmp.Width := self.Width; - FBkgBmp.Height := self.Height; - //FBkgBmp.PixelFormat := pf32bit; - DrawParentImage(Self, FBkgBmp.Canvas); - Self.Canvas.Draw(0,0,FBkgBmp); - FBkgCache := true; - end; - end - else - begin - {$IFNDEF DELPHI_UNICODE} - if DrawBkg or IsVista then - {$ENDIF} - DrawParentImage(Self, self.Canvas); - end; - - with Canvas do - begin - BR := 13; - DrawRadio; - - r := GetClientRect; - if (FAlignment = taRightJustify) or UseRightToLeftAlignment then - begin - r.Left := 0; - r.Right := r.Right - BR - 5; - end - else - r.Left := r.Left + BR + 5; - - r.Top := r.Top + 4; - - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,True,False,False,False,False,False,not FEllipsis,1.0,clGray, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - - if UseRightToLeftAlignment then - r.Left := r.Right - Xsize - 3; - - if ButtonVertAlign in [tlCenter, tlBottom] then - begin - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,false,true,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - case ButtonVertAlign of - tlCenter: r.Top := r.Top - 3 + (r.Bottom - r.Top - YSize) div 2; - tlBottom: r.Top := r.Bottom - YSize - 3; - end; - end; - - if not Enabled then - begin - OffsetRect(R,1,1); - Canvas.Font.Color := clWhite; - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,clGray, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - Canvas.Font.Color := clGray; - Offsetrect(R,-1,-1); - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,clWhite, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - end - else - begin - Canvas.Font.Color := Font.Color; - HTMLDrawEx(Canvas,Text,R,FImages,0,0,-1,-1,FShadowOffset,False,False,False,False,False,False,not FEllipsis,1.0,FURLColor, - clNone,clNone,FShadowColor,a,s,fa,XSize,YSize,HyperLinks,MouseLink,hr,FImageCache,FContainer,0); - end; - - if FFocused then - begin - r.Right := r.Left + xsize + 3; - r.Bottom := r.Top + ysize {+ 1}; - PaintFocusRect(Canvas,R,clBlack); - end; - end; -end; - -procedure TAdvOfficeRadioButton.SetURLColor(const Value: TColor); -begin - FURLColor := Value; - Invalidate; -end; - - -procedure TAdvOfficeRadioButton.SetDown(Value:Boolean); -begin - if FDown<>Value then - begin - FDown := Value; - end; -end; - - -procedure TAdvOfficeRadioButton.TurnSiblingsOff; -var - i:Integer; - Sibling: TAdvOfficeRadioButton; - -begin - if (Parent <> nil) then - for i:=0 to Parent.ControlCount-1 do - if Parent.Controls[i] is TAdvOfficeRadioButton then - begin - Sibling := TAdvOfficeRadioButton(Parent.Controls[i]); - if (Sibling <> Self) and - (Sibling.GroupIndex = GroupIndex) then - Sibling.SetChecked(False); - end; -end; - -procedure TAdvOfficeRadioButton.SetChecked(Value: Boolean); -var - r: TRect; -begin - if FChecked <> Value then - begin - TabStop := Value; - FChecked := Value; - if Value then - begin - TurnSiblingsOff; - - if not FClicksDisabled then - DoClick; - end; - - if HandleAllocated and HasParent then - begin - R := ClientRect; - if BiDiMode = bdLeftToRight then - begin - R.Right := 16; - end - else - begin - R.Left := R.Right - 16; - end; - - InvalidateRect(self.Handle, @r, true); - end; - - // Invalidate; - end; -end; - - -procedure TAdvOfficeRadioButton.DoClick; -begin - if Assigned(OnClick) then - OnClick(Self); -end; - -procedure TAdvOfficeRadioButton.DoEnter; -{$IFNDEF DELPHI9_LVL} -var - R: TRect; -{$ENDIF} -begin - inherited DoEnter; - FFocused := True; - Checked := true; - {$IFDEF DELPHI9_LVL} - Repaint; - {$ELSE} - R := ClientRect; - R.Right := 16; - InvalidateRect(self.Handle, @R, true); - {$ENDIF} -end; - -procedure TAdvOfficeRadioButton.DoExit; -var - db: boolean; -begin - inherited DoExit; - FFocused := False; - db := FDrawBkg; - FDrawBkg := true; - Repaint; - FDrawBkg := db; -end; - -procedure TAdvOfficeRadioButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); -var - Anchor:string; - R: TRect; -begin - Anchor := ''; - FGotClick := true; - - if FFocused then - begin - Anchor := IsAnchor(X,Y); - if Anchor <> '' then - begin - if (Pos('://',Anchor)>0) or (Pos('mailto:',Anchor)>0) then - {$IFNDEF TMSDOTNET} - ShellExecute(0,'open',PChar(Anchor),nil,nil,SW_NORMAL) - {$ENDIF} - {$IFDEF TMSDOTNET} - ShellExecute(0,'open',Anchor,'','',SW_NORMAL) - {$ENDIF} - else - begin - if Assigned(FAnchorClick) then - FAnchorClick(self,anchor); - end; - end; - end - else - begin - if (self.CanFocus and not (csDesigning in ComponentState)) then - begin - SetFocus; - FFocused := True; - end; - end; - - if Anchor = '' then - begin - inherited MouseDown(Button, Shift, X, Y); - MouseCapture := True; - Down := True; - end; - - R := ClientRect; - R.Right := 16; - InvalidateRect(self.Handle, @r, true); -end; - -procedure TAdvOfficeRadioButton.MouseUp(Button: TMouseButton; Shift: TShiftState; - X, Y: Integer); -var - R: TRect; -begin - MouseCapture := False; - Down := False; - - if (X >= 0) and (X <= Width) and (Y >= 0) and (Y <= Height) and not Checked and FGotClick then - begin - Checked := true; - end; - - inherited MouseUp(Button, Shift, X, Y); - - DoClick; - - R := ClientRect; - R.Right := 16; - InvalidateRect(self.Handle, @r, true); - - FGotClick := false; -end; - -procedure TAdvOfficeRadioButton.MouseMove(Shift: TShiftState;X, Y: Integer); -var - Anchor:string; -begin - if MouseCapture then - Down := (X>=0) and (X<=Width) and (Y>=0) and (Y<=Height); - - if FFocused then - Anchor := IsAnchor(x,y) - else - Anchor := ''; - - if Anchor <> '' then - begin - if (self.Cursor = crDefault) or (fAnchor <> Anchor) then - begin - FAnchor := Anchor; - self.Cursor := crHandPoint; - if Assigned(FAnchorEnter) then - FAnchorEnter(self,anchor); - end; - end - else - begin - if self.Cursor = crHandPoint then - begin - self.Cursor := FOldCursor; - if Assigned(FAnchorExit) then - FAnchorExit(self,anchor); - end; - end; - - inherited MouseMove(Shift,X,Y); -end; - -procedure TAdvOfficeRadioButton.KeyDown(var Key:Word;Shift:TShiftSTate); -begin - if (Key = vk_return) and (FReturnIsTab) then - begin - Key := vk_tab; - PostMessage(self.Handle,wm_keydown,VK_TAB,0); - end; - - if Key = VK_SPACE then - Down := True; - - inherited KeyDown(Key,Shift); -end; - -procedure TAdvOfficeRadioButton.KeyUp(var Key:Word;Shift:TShiftSTate); -begin - if Key = VK_SPACE then - begin - Down := False; - if not Checked then Checked := True; - end; -end; - -procedure TAdvOfficeRadioButton.SetImages(const Value: TImageList); -begin - FImages := Value; - Invalidate; -end; - -procedure TAdvOfficeRadioButton.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - if (AOperation = opRemove) and (AComponent = FImages) then - FImages := nil; - - if (AOperation = opRemove) and (AComponent = FContainer) then - FContainer := nil; -end; - -procedure TAdvOfficeRadioButton.CMEnabledChanged(var Message: TMessage); -begin - inherited; - Invalidate; -end; - -procedure TAdvOfficeRadioButton.SetButtonVertAlign(const Value: TTextLayout); -begin - if Value <> FBtnVAlign then - begin - FBtnVAlign := Value; - Invalidate; - end; -end; - -procedure TAdvOfficeRadioButton.SetAlignment(const Value: TLeftRight); -begin - if FAlignment <> Value then - begin - FAlignment := Value; - Invalidate; - end; -end; - -destructor TAdvOfficeRadioButton.Destroy; -begin - {$IFNDEF TMSDOTNET} - FBkgBmp.Free; - {$ENDIF} - FImageCache.Free; - inherited; -end; - -procedure TAdvOfficeRadioButton.SetEllipsis(const Value: Boolean); -begin - if FEllipsis <> Value then - begin - FEllipsis := Value; - Invalidate; - end; -end; - -procedure TAdvOfficeRadioButton.SetCaption(const Value: string); -begin - inherited Caption := Value; - FCaption := Value; - Invalidate; -end; - -procedure TAdvOfficeRadioButton.Click; -begin -// inherited; -end; - -procedure TAdvOfficeRadioButton.CMDialogChar(var Message: TCMDialogChar); -begin - with Message do - if IsAccel(CharCode, FCaption) and CanFocus then - begin - Checked := True; - if TabStop then - if (self.CanFocus and not (csDesigning in ComponentState)) then - SetFocus; - Result := 1; - end else - inherited; - -end; - -procedure TAdvOfficeRadioButton.SetContainer(const Value: TPictureContainer); -begin - FContainer := Value; - Invalidate; -end; - -procedure TAdvOfficeRadioButton.SetShadowColor(const Value: TColor); -begin - if FShadowColor <> Value then - begin - FShadowColor := Value; - Invalidate; - end; -end; - -procedure TAdvOfficeRadioButton.SetShadowOffset(const Value: Integer); -begin - if FShadowOffset <> Value then - begin - FShadowOffset := Value; - Invalidate; - end; -end; - -procedure TAdvOfficeRadioButton.CMMouseEnter(var Message: TMessage); -begin - FHot := True; - DrawRadio; - inherited; -end; - -procedure TAdvOfficeRadioButton.CMMouseLeave(var Message: TMessage); -begin - FHot := False; - DrawRadio; - inherited; -end; - - -procedure TAdvOfficeRadioButton.WMEraseBkGnd(var Message: TMessage); -begin - {$IFDEF DELPHI_UNICODE} - inherited; - {$ENDIF} - {$IFNDEF DELPHI_UNICODE} - Message.Result := 1 - {$ENDIF} -end; - -procedure TAdvOfficeRadioButton.WMLButtonDown(var Message:TWMLButtonDown); -begin - FClicksDisabled := True; - if (self.CanFocus and not (csDesigning in ComponentState)) then - SetFocus; - FClicksDisabled := False; - inherited; -end; - -procedure TAdvOfficeRadioButton.Loaded; -begin - inherited; - FOldCursor := Cursor; -end; - -function TAdvOfficeRadioButton.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn))); -end; - -function TAdvOfficeRadioButton.GetVersionNr: Integer; -begin - Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER)); -end; - -procedure TAdvOfficeRadioButton.SetVersion(const Value: string); -begin - -end; - - -{ TAdvGroupButton } - -type - TAdvGroupButton = class(TAdvOfficeRadioButton) - private - FInClick: Boolean; - procedure CNCommand(var Message: TWMCommand); message CN_COMMAND; - protected - procedure KeyDown(var Key: Word; Shift: TShiftState); override; - procedure KeyPress(var Key: Char); override; - public - constructor InternalCreate(RadioGroup: TCustomAdvOfficeRadioGroup); - destructor Destroy; override; - end; - -constructor TAdvGroupButton.InternalCreate(RadioGroup: TCustomAdvOfficeRadioGroup); -begin - inherited Create(RadioGroup); - RadioGroup.FButtons.Add(Self); - Visible := False; - Enabled := RadioGroup.Enabled; - ParentShowHint := False; - OnClick := RadioGroup.ButtonClick; - Parent := RadioGroup; -end; - -destructor TAdvGroupButton.Destroy; -begin - TCustomAdvOfficeRadioGroup(Owner).FButtons.Remove(Self); - inherited Destroy; -end; - -procedure TAdvGroupButton.CNCommand(var Message: TWMCommand); -begin - if not FInClick then - begin - FInClick := True; - try - if ((Message.NotifyCode = BN_CLICKED) or - (Message.NotifyCode = BN_DOUBLECLICKED)) and - TCustomAdvOfficeRadioGroup(Parent).CanModify then - inherited; - except - Application.HandleException(Self); - end; - - FInClick := False; - end; -end; - -procedure TAdvGroupButton.KeyPress(var Key: Char); -begin - inherited KeyPress(Key); - TCustomAdvOfficeRadioGroup(Parent).PushKey(Key); - if (Key = #8) or (Key = ' ') then - begin - if not TCustomAdvOfficeRadioGroup(Parent).CanModify then Key := #0; - end; -end; - -procedure TAdvGroupButton.KeyDown(var Key: Word; Shift: TShiftState); -begin - inherited KeyDown(Key, Shift); - TCustomAdvOfficeRadioGroup(Parent).PushKeyDown(Key, Shift); -end; - -{ TCustomAdvOfficeRadioGroup } - -constructor TCustomAdvOfficeRadioGroup.Create(AOwner: TComponent); -begin - inherited Create(AOwner); - ControlStyle := [csSetCaption, csDoubleClicks]; - FButtons := TList.Create; - FItems := TStringList.Create; - TStringList(FItems).OnChange := ItemsChange; - FItemIndex := -1; - FColumns := 1; - FAlignment := taLeftJustify; - FBtnVAlign := tlTop; - ShadowOffset := 1; - ShadowColor := clSilver; - FIsReadOnly := false; -end; - -destructor TCustomAdvOfficeRadioGroup.Destroy; -begin - SetButtonCount(0); - TStringList(FItems).OnChange := nil; - FItems.Free; - FButtons.Free; - inherited Destroy; -end; - -procedure TCustomAdvOfficeRadioGroup.PushKey(var Key: Char); -begin - KeyPress(Key); -end; - -procedure TCustomAdvOfficeRadioGroup.PushKeyDown(var Key: Word; Shift: TShiftState); -begin - KeyDown(Key,Shift); -end; - -procedure TCustomAdvOfficeRadioGroup.FlipChildren(AllLevels: Boolean); -begin - { The radio buttons are flipped using BiDiMode } -end; - - -procedure TCustomAdvOfficeRadioGroup.ArrangeButtons; -var - ButtonsPerCol, ButtonWidth, ButtonHeight, TopMargin, I: Integer; - DC: HDC; - SaveFont: HFont; - Metrics: TTextMetric; - DeferHandle: THandle; - ALeft: Integer; - RadioEnable: Boolean; - -begin - - if (csLoading in ComponentState) then - Exit; - - if not HandleAllocated then - Exit; - - - if (FButtons.Count <> 0) and not FReading then - begin - DC := GetDC(0); - SaveFont := SelectObject(DC, Font.Handle); - GetTextMetrics(DC, Metrics); - SelectObject(DC, SaveFont); - ReleaseDC(0, DC); - ButtonsPerCol := (FButtons.Count + FColumns - 1) div FColumns; - ButtonWidth := (Width - 10) div FColumns; - I := Height - Metrics.tmHeight - 5; - ButtonHeight := I div ButtonsPerCol; - TopMargin := Metrics.tmHeight + 1 + (I mod ButtonsPerCol) div 2; - - if Length(Caption) <= 0 then - TopMargin := TopMargin - Metrics.tmHeight div 2; - - DeferHandle := BeginDeferWindowPos(FButtons.Count); - try - for I := 0 to FButtons.Count - 1 do - with TAdvGroupButton(FButtons[I]) do - begin - {$IFDEF DELPHI4_LVL} - BiDiMode := Self.BiDiMode; - {$ENDIF} - - DrawBkg := false; - Alignment := Self.Alignment; - ButtonVertAlign := Self.ButtonVertAlign; - Images := Self.Images; - PictureContainer := Self.PictureContainer; - Ellipsis := Self.Ellipsis; - ShadowOffset := Self.ShadowOffset; - ShadowColor := Self.ShadowColor; - - RadioEnable := Self.Enabled and Enabled and not FIsReadOnly; - if Assigned(FOnIsEnabled) then - FOnIsEnabled(Self,I,RadioEnable); - - Enabled := RadioEnable; - - ALeft := (I div ButtonsPerCol) * ButtonWidth + 8; - {$IFDEF DELPHI4_LVL} - if UseRightToLeftAlignment then - ALeft := Self.ClientWidth - ALeft - ButtonWidth; - {$ENDIF} - - DeferHandle := DeferWindowPos(DeferHandle, Handle, 0, - ALeft, - (I mod ButtonsPerCol) * ButtonHeight + TopMargin, - ButtonWidth, ButtonHeight, - SWP_NOZORDER or SWP_NOACTIVATE); - - // Left := ALeft; - // Top := (I mod ButtonsPerCol) * ButtonHeight + TopMargin; - Visible := True; - - end; - finally - EndDeferWindowPos(DeferHandle); - end; - end; -end; - -procedure TCustomAdvOfficeRadioGroup.ButtonClick(Sender: TObject); -begin - if not FUpdating then - begin - FItemIndex := FButtons.IndexOf(Sender); - Changed; - Click; - end; -end; - -procedure TCustomAdvOfficeRadioGroup.ItemsChange(Sender: TObject); -begin - if not FReading then - begin - if FItemIndex >= FItems.Count then - FItemIndex := FItems.Count - 1; - UpdateButtons; - end; -end; - -procedure TCustomAdvOfficeRadioGroup.Loaded; -begin - inherited Loaded; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.ReadState(Reader: TReader); -begin - FReading := True; - inherited ReadState(Reader); - FReading := False; - UpdateButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetButtonCount(Value: Integer); -begin - while FButtons.Count < Value do TAdvGroupButton.InternalCreate(Self); - while FButtons.Count > Value do TAdvGroupButton(FButtons.Last).Free; -end; - -procedure TCustomAdvOfficeRadioGroup.SetColumns(Value: Integer); -begin - if Value < 1 then Value := 1; - if Value > 16 then Value := 16; - if FColumns <> Value then - begin - FColumns := Value; - ArrangeButtons; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeRadioGroup.SetItemIndex(Value: Integer); -begin - if FReading then FItemIndex := Value else - begin - if Value < -1 then Value := -1; - if Value >= FButtons.Count then Value := FButtons.Count - 1; - if FItemIndex <> Value then - begin - if FItemIndex >= 0 then - TAdvGroupButton(FButtons[FItemIndex]).Checked := False; - FItemIndex := Value; - if FItemIndex >= 0 then - TAdvGroupButton(FButtons[FItemIndex]).Checked := True; - end; - end; -end; - -procedure TCustomAdvOfficeRadioGroup.SetItems(Value: TStrings); -begin - FItems.Assign(Value); -end; - -procedure TCustomAdvOfficeRadioGroup.UpdateButtons; -var - I: Integer; -begin - SetButtonCount(FItems.Count); - for I := 0 to FButtons.Count - 1 do - TAdvGroupButton(FButtons[I]).Caption := FItems[I]; - if FItemIndex >= 0 then - begin - FUpdating := True; - TAdvGroupButton(FButtons[FItemIndex]).Checked := True; - FUpdating := False; - end; - ArrangeButtons; - Invalidate; -end; - -procedure TCustomAdvOfficeRadioGroup.CMEnabledChanged(var Message: TMessage); -var - I: Integer; -begin - inherited; - for I := 0 to FButtons.Count - 1 do - TAdvGroupButton(FButtons[I]).Enabled := Enabled; -end; - -procedure TCustomAdvOfficeRadioGroup.CMFontChanged(var Message: TMessage); -begin - inherited; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.WMSize(var Message: TWMSize); -begin - inherited; - ArrangeButtons; -end; - -function TCustomAdvOfficeRadioGroup.CanModify: Boolean; -begin - Result := True; -end; - -procedure TCustomAdvOfficeRadioGroup.GetChildren(Proc: TGetChildProc; Root: TComponent); -begin -end; - -procedure TCustomAdvOfficeRadioGroup.SetAlignment(const Value: TAlignment); -begin - FAlignment := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetButtonVertAlign( - const Value: TTextLayout); -begin - fBtnVAlign := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetContainer( - const Value: TPictureContainer); -begin - FContainer := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetImages(const Value: TImageList); -begin - inherited Images := Value; - FImages := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - - if (AOperation = opRemove) and (AComponent = FImages) then - FImages:=nil; - - if (AOperation = opRemove) and (AComponent = FContainer) then - FContainer := nil; -end; - -procedure TCustomAdvOfficeRadioGroup.SetEllipsis(const Value: Boolean); -begin - FEllipsis := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetShadowColor(const Value: TColor); -begin - FShadowColor := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeRadioGroup.SetShadowOffset(const Value: Integer); -begin - FShadowOffset := Value; - ArrangeButtons; -end; - -function TCustomAdvOfficeRadioGroup.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn))); -end; - -function TCustomAdvOfficeRadioGroup.GetVersionNr: Integer; -begin - Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER)); -end; - -procedure TCustomAdvOfficeRadioGroup.SetVersion(const Value: string); -begin - -end; - - -{ TGroupCheck } - -type - TGroupCheck = class(TAdvOfficeCheckBox) - private - FInClick: Boolean; - procedure CNCommand(var Message: TWMCommand); message CN_COMMAND; - protected - procedure KeyDown(var Key: Word; Shift: TShiftState); override; - procedure KeyPress(var Key: Char); override; - public - constructor InternalCreate(CheckGroup: TCustomAdvOfficeCheckGroup); - destructor Destroy; override; - end; - -constructor TGroupCheck.InternalCreate(CheckGroup: TCustomAdvOfficeCheckGroup); -begin - inherited Create(CheckGroup); - CheckGroup.FButtons.Add(Self); - Visible := False; - Enabled := CheckGroup.Enabled; - ParentShowHint := False; - OnClick := CheckGroup.ButtonClick; - OnEnter := CheckGroup.CheckFocus; - Parent := CheckGroup; -end; - -destructor TGroupCheck.Destroy; -begin - TCustomAdvOfficeCheckGroup(Owner).FButtons.Remove(Self); - inherited Destroy; -end; - -procedure TGroupCheck.CNCommand(var Message: TWMCommand); -begin - if not FInClick then - begin - FInClick := True; - try - if ((Message.NotifyCode = BN_CLICKED) or - (Message.NotifyCode = BN_DOUBLECLICKED)) and - TCustomAdvOfficeCheckGroup(Parent).CanModify then - inherited; - except - Application.HandleException(Self); - end; - FInClick := False; - end; -end; - -procedure TGroupCheck.KeyPress(var Key: Char); -begin - inherited KeyPress(Key); - TCustomAdvOfficeCheckGroup(Parent).PushKey(Key); - if (Key = #8) or (Key = ' ') then - begin - if not TCustomAdvOfficeCheckGroup(Parent).CanModify then Key := #0; - end; -end; - -procedure TGroupCheck.KeyDown(var Key: Word; Shift: TShiftState); -begin - inherited KeyDown(Key, Shift); - TCustomAdvOfficeCheckGroup(Parent).PushKeyDown(Key, Shift); -end; - - -{ TCustomAdvOfficeCheckGroup } - -constructor TCustomAdvOfficeCheckGroup.Create(AOwner: TComponent); -begin - inherited Create(AOwner); - ControlStyle := [csSetCaption, csDoubleClicks]; - FButtons := TList.Create; - FItems := TStringList.Create; - TStringList(FItems).OnChange := ItemsChange; - FColumns := 1; - FAlignment := taLeftJustify; - FBtnVAlign := tlTop; - ShadowOffset := 1; - ShadowColor := clSilver; - FValue := 0; -end; - -destructor TCustomAdvOfficeCheckGroup.Destroy; -begin - SetButtonCount(0); - TStringList(FItems).OnChange := nil; - FItems.Free; - FButtons.Free; - inherited Destroy; -end; - -procedure TCustomAdvOfficeCheckGroup.PushKey(var Key: Char); -begin - KeyPress(Key); -end; - -procedure TCustomAdvOfficeCheckGroup.PushKeyDown(var Key: Word; Shift: TShiftState); -begin - KeyDown(Key,Shift); -end; - -{$IFDEF DELPHI4_LVL} -procedure TCustomAdvOfficeCheckGroup.FlipChildren(AllLevels: Boolean); -begin - { The radio buttons are flipped using BiDiMode } -end; -{$ENDIF} - -procedure TCustomAdvOfficeCheckGroup.ArrangeButtons; -var - ButtonsPerCol, ButtonWidth, ButtonHeight, TopMargin, I: Integer; - DC: HDC; - SaveFont: HFont; - Metrics: TTextMetric; - DeferHandle: THandle; - ALeft: Integer; - RadioEnable: Boolean; - -begin - if (FButtons.Count <> 0) and not FReading then - begin - DC := GetDC(0); - SaveFont := SelectObject(DC, Font.Handle); - GetTextMetrics(DC, Metrics); - SelectObject(DC, SaveFont); - ReleaseDC(0, DC); - ButtonsPerCol := (FButtons.Count + FColumns - 1) div FColumns; - ButtonWidth := (Width - 10) div FColumns; - I := Height - Metrics.tmHeight - 5; - ButtonHeight := I div ButtonsPerCol; - TopMargin := Metrics.tmHeight + 1 + (I mod ButtonsPerCol) div 2; - - if Length(Caption) <= 0 then - TopMargin := TopMargin - Metrics.tmHeight div 2; - - DeferHandle := BeginDeferWindowPos(FButtons.Count); - try - for I := 0 to FButtons.Count - 1 do - with TGroupCheck(FButtons[I]) do - begin - {$IFDEF DELPHI4_LVL} - BiDiMode := Self.BiDiMode; - {$ENDIF} - - DrawBkg := false; - Alignment := Self.Alignment; - ButtonVertAlign := Self.ButtonVertAlign; - Images := Self.Images; - PictureContainer := Self.PictureContainer; - Ellipsis := Self.Ellipsis; - ShadowOffset := Self.ShadowOffset; - ShadowColor := Self.ShadowColor; - - RadioEnable := self.Enabled; - if Assigned(FOnIsEnabled) then - FOnIsEnabled(Self,I,RadioEnable); - - Enabled := RadioEnable; - - ALeft := (I div ButtonsPerCol) * ButtonWidth + 8; - {$IFDEF DELPHI4_LVL} - if UseRightToLeftAlignment then - ALeft := Self.ClientWidth - ALeft - ButtonWidth; - {$ENDIF} - DeferHandle := DeferWindowPos(DeferHandle, Handle, 0, - ALeft, - (I mod ButtonsPerCol) * ButtonHeight + TopMargin, - ButtonWidth, ButtonHeight, - SWP_NOZORDER or SWP_NOACTIVATE); - Visible := True; - - end; - finally - EndDeferWindowPos(DeferHandle); - end; - end; -end; - -procedure TCustomAdvOfficeCheckGroup.CheckFocus(Sender: TObject); -var - i: integer; -begin - for i := 0 to FButtons.Count - 1 do - begin - if TGroupCheck(FButtons[i]).Focused then - FFocusButtonIdx := i; - end; -end; - - -procedure TCustomAdvOfficeCheckGroup.ButtonClick(Sender: TObject); -begin - if not FUpdating then - begin - Changed; - Click; - end; - UpdateValue; -end; - -procedure TCustomAdvOfficeCheckGroup.ItemsChange(Sender: TObject); -begin - if not FReading then - begin - UpdateButtons; - end; -end; - -procedure TCustomAdvOfficeCheckGroup.DoExit; -begin - inherited; -end; - -procedure TCustomAdvOfficeCheckGroup.DoEnter; -begin - inherited; - - if FButtons.Count > FFocusButtonIdx then - begin - if TGroupCheck(FButtons[FFocusButtonIdx]).HandleAllocated then - begin - TGroupCheck(FButtons[FFocusButtonIdx]).SetFocus; - Invalidate; - end; - end; -end; - - -procedure TCustomAdvOfficeCheckGroup.Loaded; -begin - inherited Loaded; - ArrangeButtons; - Value := Value; -end; - -procedure TCustomAdvOfficeCheckGroup.ReadState(Reader: TReader); -begin - FReading := True; - inherited ReadState(Reader); - FReading := False; - UpdateButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetButtonCount(Value: Integer); -begin - while FButtons.Count < Value do - TGroupCheck.InternalCreate(Self); - while FButtons.Count > Value do - TGroupCheck(FButtons.Last).Free; -end; - -procedure TCustomAdvOfficeCheckGroup.SetColumns(Value: Integer); -begin - if Value < 1 then Value := 1; - if Value > 16 then Value := 16; - if FColumns <> Value then - begin - FColumns := Value; - ArrangeButtons; - Invalidate; - end; -end; - -procedure TCustomAdvOfficeCheckGroup.SetItems(Value: TStrings); -begin - FItems.Assign(Value); -end; - -procedure TCustomAdvOfficeCheckGroup.UpdateButtons; -var - I: Integer; -begin - SetButtonCount(FItems.Count); - for I := 0 to FButtons.Count - 1 do - TGroupCheck(FButtons[I]).Caption := FItems[I]; - - ArrangeButtons; - Invalidate; -end; - -procedure TCustomAdvOfficeCheckGroup.CMEnabledChanged(var Message: TMessage); -var - I: Integer; -begin - inherited; - for I := 0 to FButtons.Count - 1 do - TGroupCheck(FButtons[I]).Enabled := Enabled; -end; - -procedure TCustomAdvOfficeCheckGroup.CMFontChanged(var Message: TMessage); -begin - inherited; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.WMSize(var Message: TWMSize); -begin - inherited; - ArrangeButtons; -end; - -function TCustomAdvOfficeCheckGroup.CanModify: Boolean; -begin - Result := True; -end; - -procedure TCustomAdvOfficeCheckGroup.GetChildren(Proc: TGetChildProc; Root: TComponent); -begin -end; - -procedure TCustomAdvOfficeCheckGroup.SetAlignment(const Value: TAlignment); -begin - FAlignment := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetButtonVertAlign( - const Value: TTextLayout); -begin - fBtnVAlign := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetContainer( - const Value: TPictureContainer); -begin - FContainer := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetImages(const Value: TImageList); -begin - inherited Images := Value; - FImages := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - - if (AOperation = opRemove) and (AComponent = FImages) then - FImages:=nil; - - if (AOperation = opRemove) and (AComponent = FContainer) then - FContainer := nil; -end; - -procedure TCustomAdvOfficeCheckGroup.SetEllipsis(const Value: Boolean); -begin - FEllipsis := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetShadowColor(const Value: TColor); -begin - FShadowColor := Value; - ArrangeButtons; -end; - -procedure TCustomAdvOfficeCheckGroup.SetShadowOffset(const Value: Integer); -begin - FShadowOffset := Value; - ArrangeButtons; -end; - - -function TCustomAdvOfficeCheckGroup.GetChecked(Index: Integer): Boolean; -begin - if (Index < FButtons.Count) and (Index >= 0) then - Result := TGroupCheck(FButtons[Index]).Checked - else - raise Exception.Create('Invalid checkbox index'); -end; - -procedure TCustomAdvOfficeCheckGroup.SetChecked(Index: Integer; - const Value: Boolean); -begin - if (Index < FButtons.Count) and (Index >= 0) then - TGroupCheck(FButtons[Index]).Checked := Value; -end; - -function TCustomAdvOfficeCheckGroup.GetReadOnly(Index: Integer): Boolean; -begin - if (Index < FButtons.Count) and (Index >= 0) then - Result := not TGroupCheck(FButtons[Index]).Enabled - else - raise Exception.Create('Invalid checkbox index'); -end; - -procedure TCustomAdvOfficeCheckGroup.SetReadOnly(Index: Integer; - const Value: Boolean); -begin - if (Index < FButtons.Count) and (Index >= 0) then - TGroupCheck(FButtons[Index]).Enabled := not Value; -end; - -procedure TCustomAdvOfficeCheckGroup.UpdateValue; -var - i, j: Integer; - BitMask: DWord; -begin - FValue := Value; - j := Min(FButtons.Count, sizeof(DWord) * 8); - BitMask := 1; - FValue := 0; - for i := 0 to j - 1 do - begin - if TGroupCheck(FButtons[i]).Checked then - begin - FValue := FValue or BitMask; - end; - BitMask := BitMask * 2; - end; -end; - -function TCustomAdvOfficeCheckGroup.GetValue: DWord; -begin - Result := FValue; -end; - -procedure TCustomAdvOfficeCheckGroup.SetValue(const Value: DWord); -var - i, j: Integer; - BitMask: Integer; -begin - //if (FValue <> Value) then - begin - FValue := Value; - j := Min(FButtons.Count, sizeof(DWord) * 8); - BitMask := 1; - for i := 0 to j - 1 do - begin - TGroupCheck(FButtons[i]).Checked := ((FValue And BitMask) > 0); - BitMask := BitMask * 2; - end; - end; -end; - -function TCustomAdvOfficeCheckGroup.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn)))+'.'+IntToStr(Lo(Hiword(vn)))+'.'+IntToStr(Hi(Loword(vn)))+'.'+IntToStr(Lo(Loword(vn))); -end; - -function TCustomAdvOfficeCheckGroup.GetVersionNr: Integer; -begin - Result := MakeLong(MakeWord(BLD_VER,REL_VER),MakeWord(MIN_VER,MAJ_VER)); -end; - -procedure TCustomAdvOfficeCheckGroup.SetVersion(const Value: string); -begin - -end; - -{$IFDEF FREEWARE} -{$I TRIAL.INC} -{$ENDIF} - - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.res b/TAdvTaskDialog/internal/1.5.1.2/1/Source/AdvOfficeButtons.res deleted file mode 100644 index 8f0cdb99a288f7700046cd885002388a4e1d306a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6784 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 - - {79C894D4-A16D-4924-81DC-BB8F72238C44} - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/SpanishContst.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/SpanishContst.pas new file mode 100644 index 0000000..09c45f7 --- /dev/null +++ b/TAdvTaskDialog/internal/1.5.1.2/1/Source/SpanishContst.pas @@ -0,0 +1,21 @@ +unit SpanishContst; + +interface + +resourcestring + SSpanishMsgDlgOK = 'OK'; + SSpanishMsgDlgYes = '&Si'; + SSpanishMsgDlgNo = '&No'; + SSpanishMsgDlgCancel = 'Cancelar'; + SSpanishMsgDlgAbort = '&Abortar'; + SSpanishMsgDlgRetry = '&Reintentar'; + + SSpanishMsgDlgWarning = 'Aviso'; + SSpanishMsgDlgError = 'Error'; + SSpanishMsgDlgInformation = 'Información'; + SSpanishMsgDlgConfirm = 'Confirmación'; + + +implementation + +end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialog.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialog.pas index e290e09..e821ac2 100644 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialog.pas +++ b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialog.pas @@ -549,6 +549,9 @@ procedure Register; implementation +uses + SpanishContst; + {$I HTMLENGO.PAS} const @@ -4772,18 +4775,18 @@ end; initialization //cbOK, cbYes, cbNo, cbCancel, cbRetry, cbClose); - ButtonCaptions[cbOK] := @SMsgDlgOK; - ButtonCaptions[cbYes] := @SMsgDlgYes; - ButtonCaptions[cbNo] := @SMsgDlgNo; - ButtonCaptions[cbCancel] := @SMsgDlgCancel; - ButtonCaptions[cbRetry] := @SMsgDlgRetry; - ButtonCaptions[cbClose] := @SMsgDlgAbort; + ButtonCaptions[cbOK] := @SSpanishMsgDlgOK; + ButtonCaptions[cbYes] := @SSpanishMsgDlgYes; + ButtonCaptions[cbNo] := @SSpanishMsgDlgNo; + ButtonCaptions[cbCancel] := @SSpanishMsgDlgCancel; + ButtonCaptions[cbRetry] := @SSpanishMsgDlgRetry; + ButtonCaptions[cbClose] := @SSpanishMsgDlgAbort; Captions[tiBlank] := nil; - Captions[tiWarning] := @SMsgDlgWarning; - Captions[tiQuestion] := @SMsgDlgConfirm; - Captions[tiError] := @SMsgDlgError; - Captions[tiShield] := @SMsgDlgInformation; + Captions[tiWarning] := @SSpanishMsgDlgWarning; + Captions[tiQuestion] := @SSpanishMsgDlgConfirm; + Captions[tiError] := @SSpanishMsgDlgError; + Captions[tiShield] := @SSpanishMsgDlgInformation; {$IFDEF FREEWARE} diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogEx.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogEx.pas deleted file mode 100644 index c1a40fe..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogEx.pas +++ /dev/null @@ -1,300 +0,0 @@ -{***************************************************************************} -{ TTaskDialogEx component } -{ for Delphi & C++Builder } -{ } -{ written by TMS Software } -{ copyright © 2007 - 2008 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit TaskDialogEx; - -{$I TMSDEFS.INC} - -interface - -uses - Classes, Windows, Messages, Forms, Dialogs, SysUtils, StdCtrls, Graphics, Consts, Math, - ExtCtrls, Controls, TaskDialog, AdvGlowButton, AdvOfficeButtons; - -type - TButtonCreatedEvent = procedure(Sender: TObject; Button: TAdvGlowButton) of object; - - TAdvTaskDialogEx = class(TAdvTaskDialog) - private - FOnButtonCreated: TButtonCreatedEvent; - FAppearance: TGlowButtonAppearance; - protected - function CreateRadioButton(AOwner: TComponent): TWinControl; override; - procedure SetRadioButtonState(Btn: TWinControl; Checked: boolean); override; - procedure SetRadioButtonCaption(Btn: TWinControl; Value: string); override; - function CreateButton(AOwner: TComponent): TWinControl; override; - procedure InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); override; - procedure SetButtonCaption(aButton: TWinControl; Value: TCaption); override; - procedure SetButtonCancel(aButton: TWinControl; Value: Boolean); override; - procedure SetButtonDefault(aButton: TWinControl; Value: Boolean); override; - procedure SetButtonModalResult(aButton: TWinControl; Value: Integer); override; - function GetButtonModalResult(aButton: TWinControl): Integer; override; - public - property Appearance: TGlowButtonAppearance read FAppearance write FAppearance; - property OnButtonCreated:TButtonCreatedEvent read FOnButtonCreated write FOnButtonCreated; - end; - - TAdvInputTaskDialogEx = class(TAdvInputTaskDialog) - private - FOnButtonCreated: TButtonCreatedEvent; - FAppearance: TGlowButtonAppearance; - protected - function CreateRadioButton(AOwner: TComponent): TWinControl; override; - procedure SetRadioButtonState(Btn: TWinControl; Checked: boolean); override; - procedure SetRadioButtonCaption(Btn: TWinControl; Value: string); override; - function CreateButton(AOwner: TComponent): TWinControl; override; - procedure InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); override; - procedure SetButtonCaption(aButton: TWinControl; Value: TCaption); override; - procedure SetButtonCancel(aButton: TWinControl; Value: Boolean); override; - procedure SetButtonDefault(aButton: TWinControl; Value: Boolean); override; - procedure SetButtonModalResult(aButton: TWinControl; Value: Integer); override; - function GetButtonModalResult(aButton: TWinControl): Integer; override; - public - property Appearance: TGlowButtonAppearance read FAppearance write FAppearance; - property OnButtonCreated:TButtonCreatedEvent read FOnButtonCreated write FOnButtonCreated; - end; - - -procedure Register; - -implementation - -//------------------------------------------------------------------------------ - -procedure Register; -begin - RegisterComponents('TMS',[TAdvTaskDialogEx]); -end; - -//------------------------------------------------------------------------------ - -{ TAdvTaskDialogEx } - -function TAdvTaskDialogEx.CreateButton(AOwner: TComponent): TWinControl; -begin - Result := TAdvGlowButton.Create(AOwner); - if Assigned(FAppearance) then - (Result as TAdvGlowButton).Appearance := FAppearance; - (Result as TAdvGlowButton).TabStop := true; - if Assigned(FOnButtonCreated) then - FOnButtonCreated(Self,(Result as TAdvGlowButton)); -end; - -//------------------------------------------------------------------------------ - -function TAdvTaskDialogEx.CreateRadioButton(AOwner: TComponent): TWinControl; -begin - Result := TAdvOfficeRadioButton.Create(AOwner); -end; - -//------------------------------------------------------------------------------ - -function TAdvTaskDialogEx.GetButtonModalResult( - aButton: TWinControl): Integer; -begin - Result := mrNone; - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - Result := TAdvGlowButton(aButton).ModalResult; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetButtonCancel(aButton: TWinControl; - Value: Boolean); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Cancel := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetButtonCaption(aButton: TWinControl; - Value: TCaption); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Caption := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetButtonDefault(aButton: TWinControl; - Value: Boolean); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Default := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetButtonModalResult(aButton: TWinControl; - Value: Integer); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).ModalResult := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetRadioButtonCaption(Btn: TWinControl; - Value: string); -begin - TAdvOfficeRadioButton(Btn).Caption := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.SetRadioButtonState(Btn: TWinControl; - Checked: boolean); -begin - TAdvOfficeRadioButton(Btn).Checked := Checked; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvTaskDialogEx.InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); -begin - with TRadioButton(Btn) do - begin - Name := 'Radio' + inttostr(btnIndex); - Parent := AOwner; - Font.Name := AOwner.Canvas.Font.Name; - Font.Size := 8; - BiDiMode := AOwner.BiDiMode; - OnClick := OnClickEvent; - - { - BoundsRect := TextRect; - Left := FHorzParaMargin + FHorzMargin; //ALeft + FHorzMargin; - Top := Y; - Width := Self.Width - Left - 4; - GetTextSize(Canvas, Caption, k, l); - w := Max(w, Left + k + FHorzMargin + 20); - } - end; -end; - -{ TAdvInputTaskDialogEx } - -//------------------------------------------------------------------------------ - -function TAdvInputTaskDialogEx.CreateButton(AOwner: TComponent): TWinControl; -begin - Result := TAdvGlowButton.Create(AOwner); - if Assigned(FAppearance) then - (Result as TAdvGlowButton).Appearance := FAppearance; - (Result as TAdvGlowButton).TabStop := true; - if Assigned(FOnButtonCreated) then - FOnButtonCreated(Self,(Result as TAdvGlowButton)); -end; - -function TAdvInputTaskDialogEx.CreateRadioButton( - AOwner: TComponent): TWinControl; -begin - Result := TAdvOfficeRadioButton.Create(AOwner); -end; - -function TAdvInputTaskDialogEx.GetButtonModalResult( - aButton: TWinControl): Integer; -begin - Result := mrNone; - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - Result := TAdvGlowButton(aButton).ModalResult; -end; - -procedure TAdvInputTaskDialogEx.SetButtonCancel(aButton: TWinControl; - Value: Boolean); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Cancel := Value; -end; - -procedure TAdvInputTaskDialogEx.SetButtonCaption(aButton: TWinControl; - Value: TCaption); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Caption := Value; -end; - -procedure TAdvInputTaskDialogEx.SetButtonDefault(aButton: TWinControl; - Value: Boolean); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).Default := Value; -end; - -procedure TAdvInputTaskDialogEx.SetButtonModalResult(aButton: TWinControl; - Value: Integer); -begin - if not Assigned(aButton) or not (aButton is TAdvGlowButton) then - Exit; - - TAdvGlowButton(aButton).ModalResult := Value; -end; - -procedure TAdvInputTaskDialogEx.SetRadioButtonCaption(Btn: TWinControl; - Value: string); -begin - TAdvOfficeRadioButton(Btn).Caption := Value; -end; - -procedure TAdvInputTaskDialogEx.SetRadioButtonState(Btn: TWinControl; - Checked: boolean); -begin - TAdvOfficeRadioButton(Btn).Checked := Checked; -end; - -procedure TAdvInputTaskDialogEx.InitRadioButton(AOwner: TForm; Btn: TWinControl; btnIndex: Integer; OnClickEvent : TNotifyEvent); -begin - with TRadioButton(Btn) do - begin - Name := 'Radio' + inttostr(btnIndex); - Parent := AOwner; - Font.Name := AOwner.Canvas.Font.Name; - Font.Size := 8; - BiDiMode := AOwner.BiDiMode; - OnClick := OnClickEvent; - { - BoundsRect := TextRect; - Left := FHorzParaMargin + FHorzMargin; //ALeft + FHorzMargin; - Top := Y; - Width := Self.Width - Left - 4; - GetTextSize(Canvas, Caption, k, l); - w := Max(w, Left + k + FHorzMargin + 20); - } - end; -end; - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dpk b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dpk similarity index 69% rename from TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dpk rename to TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dpk index 9fd4a70..3a513ea 100644 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dpk +++ b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dpk @@ -1,4 +1,4 @@ -package TaskDialogPkgD2009D; +package TaskDialogPkg; {$R *.res} {$ALIGN 8} @@ -28,12 +28,13 @@ package TaskDialogPkgD2009D; requires rtl, vcl, - designide, - dbrtl, - vcldb; + designide; contains TaskDialogRegDE in 'TaskDialogRegDE.pas', - TaskDialogEx in 'TaskDialogEx.pas'; + SpanishContst in 'SpanishContst.pas', + TaskDialog in 'TaskDialog.pas', + TaskDialogDE in 'TaskDialogDE.pas', + picturecontainer in 'picturecontainer.pas'; end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dproj b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dproj similarity index 86% rename from TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dproj rename to TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dproj index f43e15e..da453d2 100644 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.dproj +++ b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.dproj @@ -1,7 +1,7 @@  {322e4f51-9fd5-43be-8659-42e8edcc60b1} - TaskDialogPkgD2009D.dpk + TaskDialogPkg.dpk Release AnyCPU DCC32 @@ -13,8 +13,7 @@ true - ..\Lib\D12;$(DCC_UnitSearchPath) - ..\Lib\D12\TaskDialogPkgD2009D.bpl + ..\Lib\D12\TaskDialogPkg.bpl 00400000 false ..\Lib\D12 @@ -66,23 +65,24 @@ - TaskDialogPkgD2009D.dpk + TaskDialogPkg.dpk 12 - + MainSource - - - + + + + Base diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.res b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.res similarity index 100% rename from TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009D.res rename to TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkg.res diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dpk b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dpk deleted file mode 100644 index 73cc579..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dpk +++ /dev/null @@ -1,47 +0,0 @@ -package TaskDialogPkgD2009R; - -{$R *.res} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'TMS TaskDialog'} -{$IMPLICITBUILD OFF} - -requires - rtl, - vcl, - designide, - dbrtl, - vcldb; - -contains - TaskDialog in 'TaskDialog.pas', - PictureContainer in 'PictureContainer.pas', - TaskDialogDE in 'TaskDialogDE.pas', - advgdip in 'advgdip.pas', - advglowbutton in 'advglowbutton.pas', - AdvGroupBox in 'AdvGroupBox.pas', - advhintinfo in 'advhintinfo.pas', - AdvOfficeButtons in 'AdvOfficeButtons.pas', - advstyleif in 'advstyleif.pas', - gdipicture in 'gdipicture.pas'; - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dproj b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dproj deleted file mode 100644 index 063ba03..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.dproj +++ /dev/null @@ -1,98 +0,0 @@ - - - {322e4f51-9fd5-43be-8659-42e8edcc60b1} - TaskDialogPkgD2009R.dpk - Release - AnyCPU - DCC32 - ..\Lib\D11\TaskDialogPkgD2007.bpl - 12.0 - Base - - - true - - - ..\Lib\D12\TaskDialogPkgD2009R.bpl - 00400000 - false - ..\Lib\D12 - false - TMS TaskDialog - false - true - ..\Lib\D12 - true - 0 - true - ..\Lib\D12 - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 2067 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TaskDialogPkgD2009R.dpk - - - - 12 - - - - MainSource - - - - - - - - - - - - - - - - - - Base - - - - diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.res b/TAdvTaskDialog/internal/1.5.1.2/1/Source/TaskDialogPkgD2009R.res deleted file mode 100644 index 5fc5c89d548a21d08982c8e99b9cf4cdef8d29e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3008 zcmb7`&5qne6oqS&NMr>qh1sxSgb=c4ffA7gi?$~;AyOnDsHa`qIBLR7S0^)37)#B9 zaUP-{f)#IoG|#{jc)`jW*jQqLFyE=N$K8`;L0RSBd(S!dr%E=)m_26OhRN;L_~mB* z{W>-~{@ZADi??A!T=tmvm^)^~nQ{3wJihJh;?bl@Mw4)?r*-6F=B_`-;oQB8uVRcQ z^41I(g>`Y8G;z@#byPcN-FfBebFN$d@~E+`BOw&JM}>=f9}Rep$j{ixkT)bJ)4YwWUjn{nB>)LbdRg1rhZ8(p{upC1*G@#prB6sNw9h?RJOz z%D+|caN8z@KP@eBqYv+_8q1F7`3%A&v zs~7cnHAj_gvemqZtDozITU0`rp=7`FPPuyj(yr#ET~Axsv9#h|&0FeR@Wmy(bNO+7 zoG;vrYT7FH?5Rt6N@SBBVh=){Rf~F&XH|4i%Cm~rQ zp&wp9#|04w@7AFgPX|Ih6aRXe!(T57loWg|OJOm~me^YEsk)^@dDc-b$?gnpp+rUL z*B$p%V__zaN}xRA2{Z?v09YQwAce$y_y)H_wUq8|q4DF|=CLr3LcQcl%0wKL_h(f^ zeUWEPradz3QgyfcY7Gtks)NtGP{QoI*~$D47Z3t_uVAQxkd&=F5lT2%d#aez9;q4j zNco1LjBYB>eF;j#4zivWuA#2lW5O<{-Ev?b5Vke+cv{;BWqOz%HWmc<#nv+qSH0cN z!+_v1j;Q2Yy@ex$?P~T2TJKDvc{BI63hCJFiMBjATFtfE-=ur+?eBt)*U$a;&1-wX z{{=7pVgAkhi&-%*y7`K$=Kme9`0dcVFy^{uWz0KZzX!*Ma2@#Hnv3i0`^K2t%(i{k zd}F>a56!pCFU=#a{n-4k(cjFD+1nfWzZ(4o?U=J`ru$bKz42e@?Al$RtT{A~Ie%rQ z+&%ORk3HW5?lpe9@#nw73sY~xf7O9*88?{Wjeqo~-~Ee2b7o$eg*h=t<^k7d<|)W0 z<_B|%)vw;>w)x!LF`p6bT{KA1N1*Kx>#2EeUYIA?|3uVJczSwCu)#(ab&9 z3pf|}o?P1A<_B-*lHX$c66?X{j`4H*bI`VQMu&3b_}Xa?mTh?}b{gyH_<-)0mHaCxi%3@Op;jW-V^r{Nu)dqL8Y5 diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advgdip.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/advgdip.pas deleted file mode 100644 index 31872be..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advgdip.pas +++ /dev/null @@ -1,3335 +0,0 @@ -{***************************************************************************} -{ GDI+ API Imports } -{ for Delphi & C++Builder } -{ } -{ written by TMS Software } -{ copyright © 2006 - 2009 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit AdvGDIP; - -{$HPPEMIT ''} -{$HPPEMIT '#pragma link "gdiplus.lib"'} -{$HPPEMIT ''} - -{$I TMSDEFS.INC} -{$ALIGN ON} -{$MINENUMSIZE 4} - -interface - -uses - Windows, ActiveX, Math, Graphics; - -type - INT16 = type Smallint; - {$EXTERNALSYM INT16} - UINT16 = type Word; - {$EXTERNALSYM UINT16} - PUINT16 = ^UINT16; - {$EXTERNALSYM PUINT16} - UINT32 = type Cardinal; - {$EXTERNALSYM UINT32} - TSingleDynArray = array of Single; - -var - GlowSpeed : integer = 30; - - -const - GDIP_NOWRAP = 4096; - {$EXTERNALSYM GDIP_NOWRAP} - WINGDIPDLL = 'gdiplus.dll'; - -//---------------------------------------------------------------------------- -// Memory Allocation APIs -//---------------------------------------------------------------------------- - -{$EXTERNALSYM GdipAlloc} -function GdipAlloc(size: ULONG): pointer; stdcall; -{$EXTERNALSYM GdipFree} -procedure GdipFree(ptr: pointer); stdcall; - -(**************************************************************************\ -* -* GDI+ base memory allocation class -* -\**************************************************************************) - -type - TAntiAlias = (aaNone, aaClearType, aaAntiAlias); - - TGdiplusBase = class - public - class function NewInstance: TObject; override; - procedure FreeInstance; override; - end; - -//-------------------------------------------------------------------------- -// Fill mode constants -//-------------------------------------------------------------------------- - - FillMode = ( - FillModeAlternate, // 0 - FillModeWinding // 1 - ); - TFillMode = FillMode; - -//-------------------------------------------------------------------------- -// Quality mode constants -//-------------------------------------------------------------------------- - -{$IFDEF DELPHI6_UP} - {$EXTERNALSYM QualityMode} - QualityMode = ( - QualityModeInvalid = -1, - QualityModeDefault = 0, - QualityModeLow = 1, // Best performance - QualityModeHigh = 2 // Best rendering quality - ); - TQualityMode = QualityMode; -{$ELSE} - {$EXTERNALSYM QualityMode} - QualityMode = Integer; - const - QualityModeInvalid = -1; - QualityModeDefault = 0; - QualityModeLow = 1; // Best performance - QualityModeHigh = 2; // Best rendering quality -{$ENDIF} - -type -{$IFDEF DELPHI6_UP} - {$EXTERNALSYM CompositingQuality} - CompositingQuality = ( - CompositingQualityInvalid = ord(QualityModeInvalid), - CompositingQualityDefault = ord(QualityModeDefault), - CompositingQualityHighSpeed = ord(QualityModeLow), - CompositingQualityHighQuality = ord(QualityModeHigh), - CompositingQualityGammaCorrected, - CompositingQualityAssumeLinear - ); - TCompositingQuality = CompositingQuality; -{$ELSE} - {$EXTERNALSYM CompositingQuality} - CompositingQuality = Integer; - const - CompositingQualityInvalid = QualityModeInvalid; - CompositingQualityDefault = QualityModeDefault; - CompositingQualityHighSpeed = QualityModeLow; - CompositingQualityHighQuality = QualityModeHigh; - CompositingQualityGammaCorrected = 3; - CompositingQualityAssumeLinear = 4; - -type - TCompositingQuality = CompositingQuality; -{$ENDIF} - -const - ImageFormatUndefined : TGUID = '{b96b3ca9-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatUndefined} - ImageFormatMemoryBMP : TGUID = '{b96b3caa-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatMemoryBMP} - ImageFormatBMP : TGUID = '{b96b3cab-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatBMP} - ImageFormatEMF : TGUID = '{b96b3cac-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatEMF} - ImageFormatWMF : TGUID = '{b96b3cad-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatWMF} - ImageFormatJPEG : TGUID = '{b96b3cae-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatJPEG} - ImageFormatPNG : TGUID = '{b96b3caf-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatPNG} - ImageFormatGIF : TGUID = '{b96b3cb0-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatGIF} - ImageFormatTIFF : TGUID = '{b96b3cb1-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatTIFF} - ImageFormatEXIF : TGUID = '{b96b3cb2-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatEXIF} - ImageFormatIcon : TGUID = '{b96b3cb5-0728-11d3-9d7b-0000f81ef32e}'; - {$EXTERNALSYM ImageFormatIcon} - - -type -//-------------------------------------------------------------------------- -// Unit constants -//-------------------------------------------------------------------------- - - Unit_ = ( - UnitWorld, // 0 -- World coordinate (non-physical unit) - UnitDisplay, // 1 -- Variable -- for PageTransform only - UnitPixel, // 2 -- Each unit is one device pixel. - UnitPoint, // 3 -- Each unit is a printer's point, or 1/72 inch. - UnitInch, // 4 -- Each unit is 1 inch. - UnitDocument, // 5 -- Each unit is 1/300 inch. - UnitMillimeter // 6 -- Each unit is 1 millimeter. - ); - TUnit = Unit_; - -//-------------------------------------------------------------------------- -// Dash style constants -//-------------------------------------------------------------------------- - - DashStyle = ( - DashStyleSolid, // 0 - DashStyleDash, // 1 - DashStyleDot, // 2 - DashStyleDashDot, // 3 - DashStyleDashDotDot, // 4 - DashStyleCustom // 5 - ); - TDashStyle = DashStyle; - - -//-------------------------------------------------------------------------- -// Various wrap modes for brushes -//-------------------------------------------------------------------------- - - WrapMode = ( - WrapModeTile, // 0 - WrapModeTileFlipX, // 1 - WrapModeTileFlipY, // 2 - WrapModeTileFlipXY, // 3 - WrapModeClamp // 4 - ); - TWrapMode = WrapMode; - -//-------------------------------------------------------------------------- -// LineGradient Mode -//-------------------------------------------------------------------------- - - LinearGradientMode = ( - LinearGradientModeHorizontal, // 0 - LinearGradientModeVertical, // 1 - LinearGradientModeForwardDiagonal, // 2 - LinearGradientModeBackwardDiagonal // 3 - ); - TLinearGradientMode = LinearGradientMode; - -//-------------------------------------------------------------------------- -// Line cap constants (only the lowest 8 bits are used). -//-------------------------------------------------------------------------- -{$IFDEF DELPHI6_UP} - {$EXTERNALSYM LineCap} - LineCap = ( - LineCapFlat = 0, - LineCapSquare = 1, - LineCapRound = 2, - LineCapTriangle = 3, - - LineCapNoAnchor = $10, // corresponds to flat cap - LineCapSquareAnchor = $11, // corresponds to square cap - LineCapRoundAnchor = $12, // corresponds to round cap - LineCapDiamondAnchor = $13, // corresponds to triangle cap - LineCapArrowAnchor = $14, // no correspondence - - LineCapCustom = $ff, // custom cap - - LineCapAnchorMask = $f0 // mask to check for anchor or not. - ); - TLineCap = LineCap; -{$ELSE} - {$EXTERNALSYM LineCap} - LineCap = Integer; - const - LineCapFlat = 0; - LineCapSquare = 1; - LineCapRound = 2; - LineCapTriangle = 3; - - LineCapNoAnchor = $10; // corresponds to flat cap - LineCapSquareAnchor = $11; // corresponds to square cap - LineCapRoundAnchor = $12; // corresponds to round cap - LineCapDiamondAnchor = $13; // corresponds to triangle cap - LineCapArrowAnchor = $14; // no correspondence - - LineCapCustom = $ff; // custom cap - - LineCapAnchorMask = $f0; // mask to check for anchor or not. - -type - TLineCap = LineCap; -{$ENDIF} - -//-------------------------------------------------------------------------- -// Region Comine Modes -//-------------------------------------------------------------------------- - - CombineMode = ( - CombineModeReplace, // 0 - CombineModeIntersect, // 1 - CombineModeUnion, // 2 - CombineModeXor, // 3 - CombineModeExclude, // 4 - CombineModeComplement // 5 (Exclude From) - ); - TCombineMode = CombineMode; - -//-------------------------------------------------------------------------- -// FontStyle: face types and common styles -//-------------------------------------------------------------------------- -type - {$EXTERNALSYM FontStyle} - FontStyle = Integer; - const - FontStyleRegular = Integer(0); - FontStyleBold = Integer(1); - FontStyleItalic = Integer(2); - FontStyleBoldItalic = Integer(3); - FontStyleUnderline = Integer(4); - FontStyleStrikeout = Integer(8); - Type - TFontStyle = FontStyle; - -//--------------------------------------------------------------------------- -// Smoothing Mode -//--------------------------------------------------------------------------- -{$IFDEF DELPHI6_UP} - {$EXTERNALSYM SmoothingMode} - SmoothingMode = ( - SmoothingModeInvalid = ord(QualityModeInvalid), - SmoothingModeDefault = ord(QualityModeDefault), - SmoothingModeHighSpeed = ord(QualityModeLow), - SmoothingModeHighQuality = ord(QualityModeHigh), - SmoothingModeNone, - SmoothingModeAntiAlias - ); - TSmoothingMode = SmoothingMode; -{$ELSE} - SmoothingMode = Integer; - const - SmoothingModeInvalid = QualityModeInvalid; - SmoothingModeDefault = QualityModeDefault; - SmoothingModeHighSpeed = QualityModeLow; - SmoothingModeHighQuality = QualityModeHigh; - SmoothingModeNone = 3; - SmoothingModeAntiAlias = 4; - -type - TSmoothingMode = SmoothingMode; - -{$ENDIF} - -//--------------------------------------------------------------------------- -// Text Rendering Hint -//--------------------------------------------------------------------------- - - TextRenderingHint = ( - TextRenderingHintSystemDefault, // Glyph with system default rendering hint - TextRenderingHintSingleBitPerPixelGridFit, // Glyph bitmap with hinting - TextRenderingHintSingleBitPerPixel, // Glyph bitmap without hinting - TextRenderingHintAntiAliasGridFit, // Glyph anti-alias bitmap with hinting - TextRenderingHintAntiAlias, // Glyph anti-alias bitmap without hinting - TextRenderingHintClearTypeGridFit // Glyph CT bitmap with hinting - ); - TTextRenderingHint = TextRenderingHint; - -//--------------------------------------------------------------------------- -// StringFormatFlags -//--------------------------------------------------------------------------- - -//--------------------------------------------------------------------------- -// String format flags -// -// DirectionRightToLeft - For horizontal text, the reading order is -// right to left. This value is called -// the base embedding level by the Unicode -// bidirectional engine. -// For vertical text, columns are read from -// right to left. -// By default, horizontal or vertical text is -// read from left to right. -// -// DirectionVertical - Individual lines of text are vertical. In -// each line, characters progress from top to -// bottom. -// By default, lines of text are horizontal, -// each new line below the previous line. -// -// NoFitBlackBox - Allows parts of glyphs to overhang the -// bounding rectangle. -// By default glyphs are first aligned -// inside the margines, then any glyphs which -// still overhang the bounding box are -// repositioned to avoid any overhang. -// For example when an italic -// lower case letter f in a font such as -// Garamond is aligned at the far left of a -// rectangle, the lower part of the f will -// reach slightly further left than the left -// edge of the rectangle. Setting this flag -// will ensure the character aligns visually -// with the lines above and below, but may -// cause some pixels outside the formatting -// rectangle to be clipped or painted. -// -// DisplayFormatControl - Causes control characters such as the -// left-to-right mark to be shown in the -// output with a representative glyph. -// -// NoFontFallback - Disables fallback to alternate fonts for -// characters not supported in the requested -// font. Any missing characters will be -// be displayed with the fonts missing glyph, -// usually an open square. -// -// NoWrap - Disables wrapping of text between lines -// when formatting within a rectangle. -// NoWrap is implied when a point is passed -// instead of a rectangle, or when the -// specified rectangle has a zero line length. -// -// NoClip - By default text is clipped to the -// formatting rectangle. Setting NoClip -// allows overhanging pixels to affect the -// device outside the formatting rectangle. -// Pixels at the end of the line may be -// affected if the glyphs overhang their -// cells, and either the NoFitBlackBox flag -// has been set, or the glyph extends to far -// to be fitted. -// Pixels above/before the first line or -// below/after the last line may be affected -// if the glyphs extend beyond their cell -// ascent / descent. This can occur rarely -// with unusual diacritic mark combinations. - -//--------------------------------------------------------------------------- - -Type - -//--------------------------------------------------------------------------- -// String alignment flags -//--------------------------------------------------------------------------- - - StringAlignment = ( - // Left edge for left-to-right text, - // right for right-to-left text, - // and top for vertical - StringAlignmentNear, - StringAlignmentCenter, - StringAlignmentFar - ); - TStringAlignment = StringAlignment; - - -//--------------------------------------------------------------------------- -// Trimming flags -//--------------------------------------------------------------------------- - - StringTrimming = ( - { - #define GDIPLUS_STRINGTRIMMING_None 0 && no trimming. - #define GDIPLUS_STRINGTRIMMING_Character 1 && nearest character. - #define GDIPLUS_STRINGTRIMMING_Word 2 && nearest wor - #define GDIPLUS_STRINGTRIMMING_EllipsisCharacter 3 && nearest character, ellipsis at end - #define GDIPLUS_STRINGTRIMMING_EllipsisWord 4 && nearest word, ellipsis at end - #define GDIPLUS_STRINGTRIMMING_EllipsisPath 5 && ellipsis in center, favouring last slash-delimited segment - } - StringTrimmingNone, - StringTrimmingCharacter, - StringTrimmingWord, - StringTrimmingEllipsisCharacter, - StringTrimmingEllipsisWord, - StringTrimmingEllipsisPath - ); - TStringTrimming = StringTrimming; - -//--------------------------------------------------------------------------- -// Hotkey prefix interpretation -//--------------------------------------------------------------------------- - - HotkeyPrefix = ( - HotkeyPrefixNone, - HotkeyPrefixShow, - HotkeyPrefixHide - ); - THotkeyPrefix = HotkeyPrefix; - -//--------------------------------------------------------------------------- -// Flush Intention flags -//--------------------------------------------------------------------------- - - FlushIntention = ( - FlushIntentionFlush, // Flush all batched rendering operations - FlushIntentionSync // Flush all batched rendering operations - // and wait for them to complete - ); - TFlushIntention = FlushIntention; - - - //{$EXTERNALSYM ImageAbort} - ImageAbort = function: BOOL; stdcall; - //{$EXTERNALSYM DrawImageAbort} - DrawImageAbort = ImageAbort; - -//-------------------------------------------------------------------------- -// Status return values from GDI+ methods -//-------------------------------------------------------------------------- -type - Status = ( - Ok, - GenericError, - InvalidParameter, - OutOfMemory, - ObjectBusy, - InsufficientBuffer, - NotImplemented, - Win32Error, - WrongState, - Aborted, - FileNotFound, - ValueOverflow, - AccessDenied, - UnknownImageFormat, - FontFamilyNotFound, - FontStyleNotFound, - NotTrueTypeFont, - UnsupportedGdiplusVersion, - GdiplusNotInitialized, - PropertyNotFound, - PropertyNotSupported - ); - TStatus = Status; - -//-------------------------------------------------------------------------- -// Represents a location in a 2D coordinate system (floating-point coordinates) -//-------------------------------------------------------------------------- - -type - PGPPointF = ^TGPPointF; - TGPPointF = packed record - X : Single; - Y : Single; - end; - TPointFDynArray = array of TGPPointF; - - function MakePoint(X, Y: Single): TGPPointF; overload; - -//-------------------------------------------------------------------------- -// Represents a location in a 2D coordinate system (integer coordinates) -//-------------------------------------------------------------------------- - -type - PGPPoint = ^TGPPoint; - TGPPoint = packed record - X : Integer; - Y : Integer; - end; - TPointDynArray = array of TGPPoint; - - function MakePoint(X, Y: Integer): TGPPoint; overload; - -//-------------------------------------------------------------------------- -// Represents a rectangle in a 2D coordinate system (floating-point coordinates) -//-------------------------------------------------------------------------- - -type - PGPRectF = ^TGPRectF; - TGPRectF = packed record - X : Single; - Y : Single; - Width : Single; - Height: Single; - end; - TRectFDynArray = array of TGPRectF; - - function MakeRect(x, y, width, height: Single): TGPRectF; overload; - -type - PGPRect = ^TGPRect; - TGPRect = packed record - X : Integer; - Y : Integer; - Width : Integer; - Height: Integer; - end; - TRectDynArray = array of TGPRect; - - -(************************************************************************** -* -* GDI+ Startup and Shutdown APIs -* -**************************************************************************) -type - DebugEventLevel = ( - DebugEventLevelFatal, - DebugEventLevelWarning - ); - TDebugEventLevel = DebugEventLevel; - - // Callback function that GDI+ can call, on debug builds, for assertions - // and warnings. - - DebugEventProc = procedure(level: DebugEventLevel; message: PChar); stdcall; - - // Notification functions which the user must call appropriately if - // "SuppressBackgroundThread" (below) is set. - - NotificationHookProc = function(out token: ULONG): Status; stdcall; - - NotificationUnhookProc = procedure(token: ULONG); stdcall; - - // Input structure for GdiplusStartup - - GdiplusStartupInput = packed record - GdiplusVersion : Cardinal; // Must be 1 - DebugEventCallback : DebugEventProc; // Ignored on free builds - SuppressBackgroundThread: BOOL; // FALSE unless you're prepared to call - // the hook/unhook functions properly - SuppressExternalCodecs : BOOL; // FALSE unless you want GDI+ only to use - end; // its internal image codecs. - - TGdiplusStartupInput = GdiplusStartupInput; - PGdiplusStartupInput = ^TGdiplusStartupInput; - - // Output structure for GdiplusStartup() - - GdiplusStartupOutput = packed record - // The following 2 fields are NULL if SuppressBackgroundThread is FALSE. - // Otherwise, they are functions which must be called appropriately to - // replace the background thread. - // - // These should be called on the application's main message loop - i.e. - // a message loop which is active for the lifetime of GDI+. - // "NotificationHook" should be called before starting the loop, - // and "NotificationUnhook" should be called after the loop ends. - - NotificationHook : NotificationHookProc; - NotificationUnhook: NotificationUnhookProc; - end; - TGdiplusStartupOutput = GdiplusStartupOutput; - PGdiplusStartupOutput = ^TGdiplusStartupOutput; - - // GDI+ initialization. Must not be called from DllMain - can cause deadlock. - // - // Must be called before GDI+ API's or constructors are used. - // - // token - may not be NULL - accepts a token to be passed in the corresponding - // GdiplusShutdown call. - // input - may not be NULL - // output - may be NULL only if input->SuppressBackgroundThread is FALSE. - - {$EXTERNALSYM GdiplusStartup} - function GdiplusStartup(out token: ULONG; input: PGdiplusStartupInput; - output: PGdiplusStartupOutput): Status; stdcall; - - // GDI+ termination. Must be called before GDI+ is unloaded. - // Must not be called from DllMain - can cause deadlock. - // - // GDI+ API's may not be called after GdiplusShutdown. Pay careful attention - // to GDI+ object destructors. - - {$EXTERNALSYM GdiplusShutdown} - procedure GdiplusShutdown(token: ULONG); stdcall; - -type - PARGB = ^ARGB; - ARGB = DWORD; - {$EXTERNALSYM ARGB} - -type - - PGPColor = ^TGPColor; - {$EXTERNALSYM TGPCOLOR} - TGPColor = ARGB; - - function MakeColor(r, g, b: Byte): ARGB; overload; - function MakeColor(a, r, g, b: Byte): ARGB; overload; - function GetAlpha(color: ARGB): BYTE; - function GetRed(color: ARGB): BYTE; - function GetGreen(color: ARGB): BYTE; - function GetBlue(color: ARGB): BYTE; - -const - // Shift count and bit mask for A, R, G, B - AlphaShift = 24; - {$EXTERNALSYM AlphaShift} - RedShift = 16; - {$EXTERNALSYM RedShift} - GreenShift = 8; - {$EXTERNALSYM GreenShift} - BlueShift = 0; - {$EXTERNALSYM BlueShift} - - AlphaMask = $ff000000; - {$EXTERNALSYM AlphaMask} - RedMask = $00ff0000; - {$EXTERNALSYM RedMask} - GreenMask = $0000ff00; - {$EXTERNALSYM GreenMask} - BlueMask = $000000ff; - {$EXTERNALSYM BlueMask} - -type - PixelFormat = Integer; - {$EXTERNALSYM PixelFormat} - TPixelFormat = PixelFormat; - -const - PixelFormatIndexed = $00010000; // Indexes into a palette - {$EXTERNALSYM PixelFormatIndexed} - PixelFormatGDI = $00020000; // Is a GDI-supported format - {$EXTERNALSYM PixelFormatGDI} - PixelFormatAlpha = $00040000; // Has an alpha component - {$EXTERNALSYM PixelFormatAlpha} - PixelFormatPAlpha = $00080000; // Pre-multiplied alpha - {$EXTERNALSYM PixelFormatPAlpha} - PixelFormatExtended = $00100000; // Extended color 16 bits/channel - {$EXTERNALSYM PixelFormatExtended} - PixelFormatCanonical = $00200000; - {$EXTERNALSYM PixelFormatCanonical} - - PixelFormatUndefined = 0; - {$EXTERNALSYM PixelFormatUndefined} - PixelFormatDontCare = 0; - {$EXTERNALSYM PixelFormatDontCare} - - PixelFormat1bppIndexed = (1 or ( 1 shl 8) or PixelFormatIndexed or PixelFormatGDI); - {$EXTERNALSYM PixelFormat1bppIndexed} - PixelFormat4bppIndexed = (2 or ( 4 shl 8) or PixelFormatIndexed or PixelFormatGDI); - {$EXTERNALSYM PixelFormat4bppIndexed} - PixelFormat8bppIndexed = (3 or ( 8 shl 8) or PixelFormatIndexed or PixelFormatGDI); - {$EXTERNALSYM PixelFormat8bppIndexed} - PixelFormat16bppGrayScale = (4 or (16 shl 8) or PixelFormatExtended); - {$EXTERNALSYM PixelFormat16bppGrayScale} - PixelFormat16bppRGB555 = (5 or (16 shl 8) or PixelFormatGDI); - {$EXTERNALSYM PixelFormat16bppRGB555} - PixelFormat16bppRGB565 = (6 or (16 shl 8) or PixelFormatGDI); - {$EXTERNALSYM PixelFormat16bppRGB565} - PixelFormat16bppARGB1555 = (7 or (16 shl 8) or PixelFormatAlpha or PixelFormatGDI); - {$EXTERNALSYM PixelFormat16bppARGB1555} - PixelFormat24bppRGB = (8 or (24 shl 8) or PixelFormatGDI); - {$EXTERNALSYM PixelFormat24bppRGB} - PixelFormat32bppRGB = (9 or (32 shl 8) or PixelFormatGDI); - {$EXTERNALSYM PixelFormat32bppRGB} - PixelFormat32bppARGB = (10 or (32 shl 8) or PixelFormatAlpha or PixelFormatGDI or PixelFormatCanonical); - {$EXTERNALSYM PixelFormat32bppARGB} - PixelFormat32bppPARGB = (11 or (32 shl 8) or PixelFormatAlpha or PixelFormatPAlpha or PixelFormatGDI); - {$EXTERNALSYM PixelFormat32bppPARGB} - PixelFormat48bppRGB = (12 or (48 shl 8) or PixelFormatExtended); - {$EXTERNALSYM PixelFormat48bppRGB} - PixelFormat64bppARGB = (13 or (64 shl 8) or PixelFormatAlpha or PixelFormatCanonical or PixelFormatExtended); - {$EXTERNALSYM PixelFormat64bppARGB} - PixelFormat64bppPARGB = (14 or (64 shl 8) or PixelFormatAlpha or PixelFormatPAlpha or PixelFormatExtended); - {$EXTERNALSYM PixelFormat64bppPARGB} - PixelFormatMax = 15; - {$EXTERNALSYM PixelFormatMax} - -type - -{$IFDEF DELPHI6_UP} - RotateFlipType = ( - RotateNoneFlipNone = 0, - Rotate90FlipNone = 1, - Rotate180FlipNone = 2, - Rotate270FlipNone = 3, - - RotateNoneFlipX = 4, - Rotate90FlipX = 5, - Rotate180FlipX = 6, - Rotate270FlipX = 7, - - RotateNoneFlipY = Rotate180FlipX, - Rotate90FlipY = Rotate270FlipX, - Rotate180FlipY = RotateNoneFlipX, - Rotate270FlipY = Rotate90FlipX, - - RotateNoneFlipXY = Rotate180FlipNone, - Rotate90FlipXY = Rotate270FlipNone, - Rotate180FlipXY = RotateNoneFlipNone, - Rotate270FlipXY = Rotate90FlipNone - ); - TRotateFlipType = RotateFlipType; -{$ELSE} - - RotateFlipType = ( - RotateNoneFlipNone, // = 0, - Rotate90FlipNone, // = 1, - Rotate180FlipNone, // = 2, - Rotate270FlipNone, // = 3, - - RotateNoneFlipX, // = 4, - Rotate90FlipX, // = 5, - Rotate180FlipX, // = 6, - Rotate270FlipX // = 7, - ); - const - RotateNoneFlipY = Rotate180FlipX; - Rotate90FlipY = Rotate270FlipX; - Rotate180FlipY = RotateNoneFlipX; - Rotate270FlipY = Rotate90FlipX; - - RotateNoneFlipXY = Rotate180FlipNone; - Rotate90FlipXY = Rotate270FlipNone; - Rotate180FlipXY = RotateNoneFlipNone; - Rotate270FlipXY = Rotate90FlipNone; - -type - TRotateFlipType = RotateFlipType; -{$ENDIF} - -//---------------------------------------------------------------------------- -// Color Adjust Type -//---------------------------------------------------------------------------- - - //{$EXTERNALSYM ColorAdjustType} - ColorAdjustType = ( - ColorAdjustTypeDefault, - ColorAdjustTypeBitmap, - ColorAdjustTypeBrush, - ColorAdjustTypePen, - ColorAdjustTypeText, - ColorAdjustTypeCount, - ColorAdjustTypeAny // Reserved - ); - TColorAdjustType = ColorAdjustType; - -//--------------------------------------------------------------------------- -// Image encoder parameter related types -//--------------------------------------------------------------------------- - - //{$EXTERNALSYM EncoderParameterValueType} - EncoderParameterValueType = Integer; - const - EncoderParameterValueTypeByte : Integer = 1; // 8-bit unsigned int - EncoderParameterValueTypeASCII : Integer = 2; // 8-bit byte containing one 7-bit ASCII - // code. NULL terminated. - EncoderParameterValueTypeShort : Integer = 3; // 16-bit unsigned int - EncoderParameterValueTypeLong : Integer = 4; // 32-bit unsigned int - EncoderParameterValueTypeRational : Integer = 5; // Two Longs. The first Long is the - // numerator, the second Long expresses the - // denomintor. - EncoderParameterValueTypeLongRange : Integer = 6; // Two longs which specify a range of - // integer values. The first Long specifies - // the lower end and the second one - // specifies the higher end. All values - // are inclusive at both ends - EncoderParameterValueTypeUndefined : Integer = 7; // 8-bit byte that can take any value - // depending on field definition - EncoderParameterValueTypeRationalRange : Integer = 8; // Two Rationals. The first Rational - // specifies the lower end and the second - // specifies the higher end. All values - // are inclusive at both ends -type - TEncoderParameterValueType = EncoderParameterValueType; - - //--------------------------------------------------------------------------- -// Image encoder value types -//--------------------------------------------------------------------------- - - //{$EXTERNALSYM EncoderValue} - EncoderValue = ( - EncoderValueColorTypeCMYK, - EncoderValueColorTypeYCCK, - EncoderValueCompressionLZW, - EncoderValueCompressionCCITT3, - EncoderValueCompressionCCITT4, - EncoderValueCompressionRle, - EncoderValueCompressionNone, - EncoderValueScanMethodInterlaced, - EncoderValueScanMethodNonInterlaced, - EncoderValueVersionGif87, - EncoderValueVersionGif89, - EncoderValueRenderProgressive, - EncoderValueRenderNonProgressive, - EncoderValueTransformRotate90, - EncoderValueTransformRotate180, - EncoderValueTransformRotate270, - EncoderValueTransformFlipHorizontal, - EncoderValueTransformFlipVertical, - EncoderValueMultiFrame, - EncoderValueLastFrame, - EncoderValueFlush, - EncoderValueFrameDimensionTime, - EncoderValueFrameDimensionResolution, - EncoderValueFrameDimensionPage - ); - TEncoderValue = EncoderValue; - - -//--------------------------------------------------------------------------- -// Encoder Parameter structure -//--------------------------------------------------------------------------- - - //{$EXTERNALSYM EncoderParameter} - EncoderParameter = packed record - Guid : TGUID; // GUID of the parameter - NumberOfValues : ULONG; // Number of the parameter values - Type_ : ULONG; // Value type, like ValueTypeLONG etc. - Value : Pointer; // A pointer to the parameter values - end; - TEncoderParameter = EncoderParameter; - PEncoderParameter = ^TEncoderParameter; - -//--------------------------------------------------------------------------- -// Encoder Parameters structure -//--------------------------------------------------------------------------- - - //{$EXTERNALSYM EncoderParameters} - EncoderParameters = packed record - Count : UINT; // Number of parameters in this structure - Parameter : array[0..0] of TEncoderParameter; // Parameter values - end; - TEncoderParameters = EncoderParameters; - PEncoderParameters = ^TEncoderParameters; - - -//-------------------------------------------------------------------------- -// ImageCodecInfo structure -//-------------------------------------------------------------------------- - -type - //{$EXTERNALSYM ImageCodecInfo} - ImageCodecInfo = packed record - Clsid : TGUID; - FormatID : TGUID; - CodecName : PWCHAR; - DllName : PWCHAR; - FormatDescription : PWCHAR; - FilenameExtension : PWCHAR; - MimeType : PWCHAR; - Flags : DWORD; - Version : DWORD; - SigCount : DWORD; - SigSize : DWORD; - SigPattern : PBYTE; - SigMask : PBYTE; - end; - TImageCodecInfo = ImageCodecInfo; - PImageCodecInfo = ^TImageCodecInfo; - - -const -//--------------------------------------------------------------------------- -// Encoder parameter sets -//--------------------------------------------------------------------------- - - EncoderCompression : TGUID = '{e09d739d-ccd4-44ee-8eba-3fbf8be4fc58}'; - {$EXTERNALSYM EncoderCompression} - EncoderColorDepth : TGUID = '{66087055-ad66-4c7c-9a18-38a2310b8337}'; - {$EXTERNALSYM EncoderColorDepth} - EncoderScanMethod : TGUID = '{3a4e2661-3109-4e56-8536-42c156e7dcfa}'; - {$EXTERNALSYM EncoderScanMethod} - EncoderVersion : TGUID = '{24d18c76-814a-41a4-bf53-1c219cccf797}'; - {$EXTERNALSYM EncoderVersion} - EncoderRenderMethod : TGUID = '{6d42c53a-229a-4825-8bb7-5c99e2b9a8b8}'; - {$EXTERNALSYM EncoderRenderMethod} - EncoderQuality : TGUID = '{1d5be4b5-fa4a-452d-9cdd-5db35105e7eb}'; - {$EXTERNALSYM EncoderQuality} - EncoderTransformation : TGUID = '{8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9}'; - {$EXTERNALSYM EncoderTransformation} - EncoderLuminanceTable : TGUID = '{edb33bce-0266-4a77-b904-27216099e717}'; - {$EXTERNALSYM EncoderLuminanceTable} - EncoderChrominanceTable : TGUID = '{f2e455dc-09b3-4316-8260-676ada32481c}'; - {$EXTERNALSYM EncoderChrominanceTable} - EncoderSaveFlag : TGUID = '{292266fc-ac40-47bf-8cfc-a85b89a655de}'; - {$EXTERNALSYM EncoderSaveFlag} - - -//--------------------------------------------------------------------------- -// Private GDI+ classes for internal type checking -//--------------------------------------------------------------------------- - -type - GpGraphics = Pointer; - - GpBrush = Pointer; - GpSolidFill = Pointer; - GpLineGradient = Pointer; - GpPathGradient = Pointer; - - GpPen = Pointer; - - GpImage = Pointer; - GpBitmap = Pointer; - GpImageAttributes = Pointer; - - GpPath = Pointer; - GpRegion = Pointer; - - GpFontFamily = Pointer; - GpFont = Pointer; - GpStringFormat = Pointer; - GpFontCollection = Pointer; - - GpStatus = TStatus; - GpFillMode = TFillMode; - GpWrapMode = TWrapMode; - GpUnit = TUnit; - GpPointF = PGPPointF; - GpPoint = PGPPoint; - GpRectF = PGPRectF; - GpRect = PGPRect; - GpDashStyle = TDashStyle; - GpLineCap = TLineCap; - GpFlushIntention = TFlushIntention; - - function GdipCreatePath(brushMode: GPFILLMODE; - out path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreatePath} - - (* function GdipClonePath(path: GPPATH; - out clonePath: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipClonePath} - *) - function GdipDeletePath(path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeletePath} - (* - function GdipStartPathFigure(path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipStartPathFigure} - *) - function GdipClosePathFigure(path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipClosePathFigure} - - function GdipAddPathLine(path: GPPATH; - x1, y1, x2, y2: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathLine} - - function GdipAddPathArc(path: GPPATH; x, y, width, height, startAngle, - sweepAngle: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathArc} - - function GdipAddPathEllipse(path: GPPATH; x: Single; y: Single; - width: Single; height: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathEllipse} - - function GdipAddPathPie(path: GPPATH; x: Single; y: Single; width: Single; - height: Single; startAngle: Single; sweepAngle: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathPie} - -//---------------------------------------------------------------------------- -// Brush APIs -//---------------------------------------------------------------------------- - - function GdipDeleteBrush(brush: GPBRUSH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteBrush} - -//---------------------------------------------------------------------------- -// SolidBrush APIs -//---------------------------------------------------------------------------- - - function GdipCreateSolidFill(color: ARGB; - out brush: GPSOLIDFILL): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateSolidFill} - -//---------------------------------------------------------------------------- -// LineBrush APIs -//---------------------------------------------------------------------------- - - function GdipCreateLineBrushFromRect(rect: GPRECTF; color1: ARGB; - color2: ARGB; mode: LINEARGRADIENTMODE; wrapMode: GPWRAPMODE; - out lineGradient: GPLINEGRADIENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateLineBrushFromRect} - - function GdipCreateLineBrushFromRectI(rect: GPRECT; color1: ARGB; - color2: ARGB; mode: LINEARGRADIENTMODE; wrapMode: GPWRAPMODE; - out lineGradient: GPLINEGRADIENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateLineBrushFromRectI} - - function GdipCreateLineBrushFromRectWithAngle(rect: GPRECTF; color1: ARGB; - color2: ARGB; angle: Single; isAngleScalable: Bool; wrapMode: GPWRAPMODE; - out lineGradient: GPLINEGRADIENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateLineBrushFromRectWithAngle} - -//---------------------------------------------------------------------------- -// PathGradientBrush APIs -//---------------------------------------------------------------------------- - - function GdipCreatePathGradient(points: GPPOINTF; count: Integer; - wrapMode: GPWRAPMODE; out polyGradient: GPPATHGRADIENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreatePathGradient} - - function GdipCreatePathGradientFromPath(path: GPPATH; - out polyGradient: GPPATHGRADIENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreatePathGradientFromPath} - - function GdipGetPathGradientCenterColor(brush: GPPATHGRADIENT; - out colors: ARGB): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientCenterColor} - - function GdipSetPathGradientCenterColor(brush: GPPATHGRADIENT; - colors: ARGB): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPathGradientCenterColor} - - function GdipGetPathGradientSurroundColorsWithCount(brush: GPPATHGRADIENT; - color: PARGB; var count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientSurroundColorsWithCount} - - function GdipSetPathGradientSurroundColorsWithCount(brush: GPPATHGRADIENT; - color: PARGB; var count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPathGradientSurroundColorsWithCount} - - function GdipGetPathGradientCenterPoint(brush: GPPATHGRADIENT; - points: GPPOINTF): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientCenterPoint} - - function GdipGetPathGradientCenterPointI(brush: GPPATHGRADIENT; - points: GPPOINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientCenterPointI} - - function GdipSetPathGradientCenterPoint(brush: GPPATHGRADIENT; - points: GPPOINTF): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPathGradientCenterPoint} - - function GdipSetPathGradientCenterPointI(brush: GPPATHGRADIENT; - points: GPPOINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPathGradientCenterPointI} - - function GdipGetPathGradientPointCount(brush: GPPATHGRADIENT; - var count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientPointCount} - - function GdipGetPathGradientSurroundColorCount(brush: GPPATHGRADIENT; - var count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPathGradientSurroundColorCount} - -//---------------------------------------------------------------------------- -// Pen APIs -//---------------------------------------------------------------------------- - - function GdipCreatePen1(color: ARGB; width: Single; unit_: GPUNIT; - out pen: GPPEN): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreatePen1} - - function GdipDeletePen(pen: GPPEN): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeletePen} - -//---------------------------------------------------------------------------- -// Graphics APIs -//---------------------------------------------------------------------------- - - function GdipFlush(graphics: GPGRAPHICS; - intention: GPFLUSHINTENTION): GPSTATUS; stdcall; - {$EXTERNALSYM GdipFlush} - - function GdipCreateFromHDC(hdc: HDC; - out graphics: GPGRAPHICS): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateFromHDC} - - function GdipGetImageGraphicsContext(image: GPIMAGE; - out graphics: GPGRAPHICS): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageGraphicsContext} - - - function GdipDeleteGraphics(graphics: GPGRAPHICS): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteGraphics} - - function GdipGetDC(graphics: GPGRAPHICS; var hdc: HDC): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetDC} - - function GdipReleaseDC(graphics: GPGRAPHICS; hdc: HDC): GPSTATUS; stdcall; - {$EXTERNALSYM GdipReleaseDC} - - function GdipSetSmoothingMode(graphics: GPGRAPHICS; - smoothingMode: SMOOTHINGMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetSmoothingMode} - - function GdipGetSmoothingMode(graphics: GPGRAPHICS; - var smoothingMode: SMOOTHINGMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetSmoothingMode} - - function GdipSetTextRenderingHint(graphics: GPGRAPHICS; - mode: TEXTRENDERINGHINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetTextRenderingHint} - - function GdipGetTextRenderingHint(graphics: GPGRAPHICS; - var mode: TEXTRENDERINGHINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetTextRenderingHint} - - function GdipDrawRectangle(graphics: GPGRAPHICS; pen: GPPEN; x: Single; - y: Single; width: Single; height: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawRectangle} - - function GdipDrawRectangleI(graphics: GPGRAPHICS; pen: GPPEN; x: Integer; - y: Integer; width: Integer; height: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawRectangleI} - - - function GdipDrawPath(graphics: GPGRAPHICS; pen: GPPEN; - path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawPath} - - function GdipFillRectangle(graphics: GPGRAPHICS; brush: GPBRUSH; x: Single; - y: Single; width: Single; height: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipFillRectangle} - - function GdipFillPath(graphics: GPGRAPHICS; brush: GPBRUSH; - path: GPPATH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipFillPath} - - function GdipDrawImageI(graphics: GPGRAPHICS; image: GPIMAGE; x: Integer; - y: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawImageI} - - function GdipDrawImage(graphics: GPGRAPHICS; image: GPIMAGE; x: Single; - y: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawImage} - - function GdipDrawImageRect(graphics: GPGRAPHICS; image: GPIMAGE; x: Single; - y: Single; width: Single; height: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawImageRect} - - function GdipDrawImageRectI(graphics: GPGRAPHICS; image: GPIMAGE; x: Integer; - y: Integer; width: Integer; height: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawImageRectI} - - function GdipGetImageRawFormat(image: GPIMAGE; - format: PGUID): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageRawFormat} - - function GdipGetPenDashStyle(pen: GPPEN; - out dashstyle: GPDASHSTYLE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetPenDashStyle} - - function GdipSetPenDashStyle(pen: GPPEN; - dashstyle: GPDASHSTYLE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPenDashStyle} - - function GdipSetClipRect(graphics: GPGRAPHICS; x: Single; y: Single; - width: Single; height: Single; combineMode: COMBINEMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetClipRect} - - function GdipSetClipRegion(graphics: GPGRAPHICS; region: GPREGION; - combineMode: COMBINEMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetClipRegion} - - function GdipCreateRegionRect(rect: GPRECTF; - out region: GPREGION): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateRegionRect} - - function GdipCreateRegionPath(path: GPPATH; - out region: GPREGION): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateRegionPath} - - function GdipDeleteRegion(region: GPREGION): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteRegion} - - function GdipCombineRegionPath(region: GPREGION; path: GPPATH; - combineMode: COMBINEMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCombineRegionPath} - - function GdipCombineRegionRegion(region: GPREGION; region2: GPREGION; - combineMode: COMBINEMODE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCombineRegionRegion} - -//---------------------------------------------------------------------------- -// FontFamily APIs -//---------------------------------------------------------------------------- - - function GdipCreateFontFamilyFromName(name: PWCHAR; - fontCollection: GPFONTCOLLECTION; - out FontFamily: GPFONTFAMILY): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateFontFamilyFromName} - - function GdipDeleteFontFamily(FontFamily: GPFONTFAMILY): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteFontFamily} - -//---------------------------------------------------------------------------- -// Font APIs -//---------------------------------------------------------------------------- - - function GdipCreateFont(fontFamily: GPFONTFAMILY; emSize: Single; - style: Integer; unit_: Integer; out font: GPFONT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateFont} - - function GdipDeleteFont(font: GPFONT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteFont} - -//---------------------------------------------------------------------------- -// Image APIs -//---------------------------------------------------------------------------- - - function GdipGetImageDecodersSize(out numDecoders: UINT; - out size: UINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageDecodersSize} - - function GdipGetImageDecoders(numDecoders: UINT; size: UINT; - decoders: PIMAGECODECINFO): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageDecoders} - - function GdipGetImageEncoders(numEncoders: UINT; size: UINT; - encoders: PIMAGECODECINFO): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageEncoders} - - function GdipGetImageEncodersSize(out numEncoders: UINT; - out size: UINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageEncodersSize} - - function GdipSaveImageToFile(image: GPIMAGE; - filename: PWCHAR; - clsidEncoder: PGUID; - encoderParams: PENCODERPARAMETERS): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSaveImageToFile} - - function GdipLoadImageFromStream(stream: ISTREAM; - out image: GPIMAGE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipLoadImageFromStream} - - function GdipLoadImageFromFileICM(filename: PWCHAR; - out image: GPIMAGE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipLoadImageFromFileICM} - - function GdipLoadImageFromFile(filename: PWCHAR; - out image: GPIMAGE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipLoadImageFromFile} - - function GdipLoadImageFromStreamICM(stream: ISTREAM; - out image: GPIMAGE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipLoadImageFromStreamICM} - - function GdipDisposeImage(image: GPIMAGE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDisposeImage} - - function GdipGetImageWidth(image: GPIMAGE; var width: UINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageWidth} - - function GdipGetImageHeight(image: GPIMAGE; var height: UINT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageHeight} - - function GdipGetImageHorizontalResolution(image: GPIMAGE; var resolution: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageHorizontalResolution} - - function GdipGetImageVerticalResolution(image: GPIMAGE; var resolution: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetImageVerticalResolution} - - -//---------------------------------------------------------------------------- -// Text APIs -//---------------------------------------------------------------------------- - - function GdipDrawString(graphics: GPGRAPHICS; string_: PWCHAR; - length: Integer; font: GPFONT; layoutRect: PGPRectF; - stringFormat: GPSTRINGFORMAT; brush: GPBRUSH): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawString} - - function GdipMeasureString(graphics: GPGRAPHICS; string_: PWCHAR; - length: Integer; font: GPFONT; layoutRect: PGPRectF; - stringFormat: GPSTRINGFORMAT; boundingBox: PGPRectF; - codepointsFitted: PInteger; linesFilled: PInteger): GPSTATUS; stdcall; - {$EXTERNALSYM GdipMeasureString} - - function GdipSetStringFormatHotkeyPrefix(format: GPSTRINGFORMAT; - hotkeyPrefix: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetStringFormatHotkeyPrefix} - - function GdipGetStringFormatHotkeyPrefix(format: GPSTRINGFORMAT; - out hotkeyPrefix: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetStringFormatHotkeyPrefix} - -//---------------------------------------------------------------------------- -// String format APIs -//---------------------------------------------------------------------------- - - function GdipCreateStringFormat(formatAttributes: Integer; language: LANGID; - out format: GPSTRINGFORMAT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateStringFormat} - - function GdipDeleteStringFormat(format: GPSTRINGFORMAT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDeleteStringFormat} - - function GdipCloneStringFormat(format: GPSTRINGFORMAT; - out newFormat: GPSTRINGFORMAT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCloneStringFormat} - - function GdipSetStringFormatAlign(format: GPSTRINGFORMAT; - align: STRINGALIGNMENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetStringFormatAlign} - - function GdipGetStringFormatAlign(format: GPSTRINGFORMAT; - out align: STRINGALIGNMENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetStringFormatAlign} - - function GdipSetStringFormatLineAlign(format: GPSTRINGFORMAT; - align: STRINGALIGNMENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetStringFormatLineAlign} - - function GdipGetStringFormatLineAlign(format: GPSTRINGFORMAT; - out align: STRINGALIGNMENT): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetStringFormatLineAlign} - - - function GdipSetStringFormatTrimming(format: GPSTRINGFORMAT; - trimming: STRINGTRIMMING): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetStringFormatTrimming} - - function GdipGetStringFormatTrimming(format: GPSTRINGFORMAT; - out trimming: STRINGTRIMMING): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetStringFormatTrimming} - - function GdipSetCompositingQuality(graphics: GPGRAPHICS; - compositingQuality: COMPOSITINGQUALITY): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetCompositingQuality} - - function GdipGetCompositingQuality(graphics: GPGRAPHICS; - var compositingQuality: COMPOSITINGQUALITY): GPSTATUS; stdcall; - {$EXTERNALSYM GdipGetCompositingQuality} - - function GdipImageRotateFlip(image: GPIMAGE; rfType: ROTATEFLIPTYPE): GPSTATUS; stdcall; - {$EXTERNALSYM GdipImageRotateFlip} - - function GdipCreateBitmapFromStreamICM(stream: ISTREAM; - out bitmap: GPBITMAP): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateBitmapFromStreamICM} - - function GdipCreateBitmapFromStream(stream: ISTREAM; - out bitmap: GPBITMAP): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateBitmapFromStream} - - function GdipCreateBitmapFromScan0(width: Integer; height: Integer; - stride: Integer; format: PIXELFORMAT; scan0: PBYTE; - out bitmap: GPBITMAP): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateBitmapFromScan0} - - function GdipBitmapGetPixel(bitmap: GPBITMAP; x: Integer; y: Integer; - var color: ARGB): GPSTATUS; stdcall; - {$EXTERNALSYM GdipBitmapGetPixel} - - function GdipBitmapSetPixel(bitmap: GPBITMAP; x: Integer; y: Integer; - color: ARGB): GPSTATUS; stdcall; - {$EXTERNALSYM GdipBitmapSetPixel} - - function GdipBitmapSetResolution(bitmap: GPBITMAP; xdpi: Single; - ydpi: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipBitmapSetResolution} - - function GdipCreateImageAttributes( - out imageattr: GPIMAGEATTRIBUTES): GPSTATUS; stdcall; - {$EXTERNALSYM GdipCreateImageAttributes} - - function GdipDisposeImageAttributes( - imageattr: GPIMAGEATTRIBUTES): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDisposeImageAttributes} - - function GdipSetImageAttributesColorKeys(imageattr: GPIMAGEATTRIBUTES; - type_: COLORADJUSTTYPE; enableFlag: Bool; colorLow: ARGB; - colorHigh: ARGB): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetImageAttributesColorKeys} - - function GdipSetPenEndCap(pen: GPPEN; endCap: GPLINECAP): GPSTATUS; stdcall; - {$EXTERNALSYM GdipSetPenEndCap} - - function GdipAddPathLine2I(path: GPPATH; points: GPPOINT; - count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathLine2I} - - - function GdipAddPathPolygon(path: GPPATH; points: GPPOINTF; - count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathPolygon} - - function GdipAddPathPolygonI(path: GPPATH; points: GPPOINT; - count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathPolygonI} - - function GdipAddPathCurveI(path: GPPATH; points: GPPOINT; - count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathCurveI} - - function GdipAddPathCurve(path: GPPATH; points: GPPOINTF; - count: Integer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathCurve} - - function GdipAddPathCurve2I(path: GPPATH; points: GPPOINT; count: Integer; - tension: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathCurve2I} - - function GdipResetClip(graphics: GPGRAPHICS): GPSTATUS; stdcall; - {$EXTERNALSYM GdipResetClip} - - function GdipAddPathBezier(path: GPPATH; - x1, y1, x2, y2, x3, y3, x4, y4: Single): GPSTATUS; stdcall; - {$EXTERNALSYM GdipAddPathBezier} - - function GdipDrawImageRectRect(graphics: GPGRAPHICS; image: GPIMAGE; - dstx: Single; dsty: Single; dstwidth: Single; dstheight: Single; - srcx: Single; srcy: Single; srcwidth: Single; srcheight: Single; - srcUnit: GPUNIT; imageAttributes: GPIMAGEATTRIBUTES; - callback: DRAWIMAGEABORT; callbackData: Pointer): GPSTATUS; stdcall; - {$EXTERNALSYM GdipDrawImageRectRect} - -//*************************************************************************** -//--------------------------------------------------------------------------- -// GDI+ classes for forward reference -//--------------------------------------------------------------------------- - -type - TGPGraphics = class; - TGPPen = class; - TGPBrush = class; - TGPFontFamily = class; - TGPGraphicsPath = class; - TGPSolidBrush = class; - TGPLinearGradientBrush = class; - TGPPathGradientBrush = class; - TGPFont = class; - TGPFontCollection = class; - -//------------------------------------------------------------------------------ -// GPRegion -//------------------------------------------------------------------------------ - TGPRegion = class(TGdiplusBase) - protected - nativeRegion: GpRegion; - lastResult: TStatus; - function SetStatus(status: TStatus): TStatus; - procedure SetNativeRegion(nativeRegion: GpRegion); - public - constructor Create(rect: TGPRectF); reintroduce; overload; - constructor Create(path: TGPGraphicsPath); reintroduce; overload; - destructor Destroy; override; - function Exclude(path: TGPGraphicsPath): TStatus; overload; - function Union(region: TGPRegion): TStatus; overload; - end; - -//-------------------------------------------------------------------------- -// FontFamily -//-------------------------------------------------------------------------- - - TGPFontFamily = class(TGdiplusBase) - protected - nativeFamily: GpFontFamily; - lastResult: TStatus; - function SetStatus(status: TStatus): TStatus; - public - constructor Create(nativeOrig: GpFontFamily; status: TStatus); reintroduce; overload; - constructor Create(name: WideString; fontCollection: TGPFontCollection = nil); reintroduce; overload; - destructor Destroy; override; - property Status: TStatus read lastResult; - end; - -//-------------------------------------------------------------------------- -// Font Collection -//-------------------------------------------------------------------------- - - TGPFontCollection = class(TGdiplusBase) - protected - nativeFontCollection: GpFontCollection; - lastResult: TStatus; - function SetStatus(status: TStatus): TStatus; - public - constructor Create; - destructor Destroy; override; - end; - -//-------------------------------------------------------------------------- -// TFont -//-------------------------------------------------------------------------- - - TGPFont = class(TGdiplusBase) - protected - nativeFont: GpFont; - lastResult: TStatus; - procedure SetNativeFont(Font: GpFont); - function SetStatus(status: TStatus): TStatus; - public - constructor Create(font: GpFont; status: TStatus); reintroduce; overload; - constructor Create(family: TGPFontFamily; emSize: Single; - style: TFontStyle = FontStyleRegular; - unit_: TUnit = UnitPoint); reintroduce; overload; - destructor Destroy; override; - property Status: TStatus read lastResult; - end; - -(**************************************************************************\ -* -* GDI+ Brush class -* -\**************************************************************************) - - //-------------------------------------------------------------------------- - // Abstract base class for various brush types - //-------------------------------------------------------------------------- - - TGPBrush = class(TGdiplusBase) - protected - nativeBrush: GpBrush; - lastResult: TStatus; - procedure SetNativeBrush(nativeBrush: GpBrush); - function SetStatus(status: TStatus): TStatus; - public - constructor Create(nativeBrush: GpBrush; status: TStatus); reintroduce; overload; - constructor Create; overload; - destructor Destroy; override; - end; - - //-------------------------------------------------------------------------- - // Solid Fill Brush Object - //-------------------------------------------------------------------------- - - TGPSolidBrush = class(TGPBrush) - public - constructor Create(color: TGPColor); reintroduce; overload; - constructor Create; reintroduce; overload; - end; - - //-------------------------------------------------------------------------- - // Linear Gradient Brush Object - //-------------------------------------------------------------------------- - - TGPLinearGradientBrush = class(TGPBrush) - public - constructor Create; reintroduce; overload; - constructor Create(rect: TGPRectF; color1, color2: TGPColor; - mode: TLinearGradientMode); reintroduce; overload; - constructor Create(rect: TGPRect; color1, color2: TGPColor; - mode: TLinearGradientMode); reintroduce; overload; - end; - -(**************************************************************************\ -* -* GDI+ Pen class -* -\**************************************************************************) - -//-------------------------------------------------------------------------- -// Pen class -//-------------------------------------------------------------------------- - - TGPPen = class(TGdiplusBase) - protected - nativePen: GpPen; - lastResult: TStatus; - procedure SetNativePen(nativePen: GpPen); - function SetStatus(status: TStatus): TStatus; - public - constructor Create(nativePen: GpPen; status: TStatus); reintroduce; overload; - constructor Create(color: TGPColor; width: Single = 1.0); reintroduce; overload; - destructor Destroy; override; - function GetDashStyle: TDashStyle; - function SetDashStyle(dashStyle: TDashStyle): TStatus; - function SetEndCap(endCap: TLineCap): TStatus; - end; - -(**************************************************************************\ -* -* GDI+ StringFormat class -* -\**************************************************************************) - - TGPStringFormat = class(TGdiplusBase) - protected - nativeFormat: GpStringFormat; - lastError: TStatus; - function SetStatus(newStatus: GpStatus): TStatus; - procedure Assign(source: TGPStringFormat); - public - constructor Create(clonedStringFormat: GpStringFormat; status: TStatus); reintroduce; overload; - constructor Create(formatFlags: Integer = 0; language: LANGID = LANG_NEUTRAL); reintroduce; overload; - destructor Destroy; override; - function SetAlignment(align: TStringAlignment): TStatus; - function GetAlignment: TStringAlignment; - function SetLineAlignment(align: TStringAlignment): TStatus; - function GetLineAlignment: TStringAlignment; - function SetTrimming(trimming: TStringTrimming): TStatus; - function GetTrimming: TStringTrimming; - function SetHotkeyPrefix(hotkeyPrefix: THotkeyPrefix): TStatus; - function GetHotkeyPrefix: THotkeyPrefix; - - end; - -(**************************************************************************\ -* -* GDI+ Graphics Path class -* -\**************************************************************************) - - TGPGraphicsPath = class(TGdiplusBase) - protected - nativePath: GpPath; - lastResult: TStatus; - procedure SetNativePath(nativePath: GpPath); - function SetStatus(status: TStatus): TStatus; - public - constructor Create(nativePath: GpPath); reintroduce; overload; - constructor Create(fillMode: TFillMode = FillModeAlternate); reintroduce; overload; - destructor Destroy; override; - - function CloseFigure: TStatus; - - function AddLine(const pt1, pt2: TGPPointF): TStatus; overload; - function AddLine(x1, y1, x2, y2: Single): TStatus; overload; - function AddLines(points: PGPPoint; count: Integer): TStatus; overload; - - function AddArc(rect: TGPRectF; startAngle, sweepAngle: Single): TStatus; overload; - function AddArc(x, y, width, height, startAngle, sweepAngle: Single): TStatus; overload; - - function AddEllipse(rect: TGPRectF): TStatus; overload; - function AddEllipse(x, y, width, height: Single): TStatus; overload; - - function AddPie(rect: TGPRectF; startAngle, sweepAngle: Single): TStatus; overload; - function AddPie(x, y, width, height, startAngle, sweepAngle: Single): TStatus; overload; - - function AddPolygon(points: PGPPointF; count: Integer): TStatus; overload; - function AddPolygon(points: PGPPoint; count: Integer): TStatus; overload; - - - function AddCurve(points: PGPPointF; count: Integer): TStatus; overload; - function AddCurve(points: PGPPoint; count: Integer): TStatus; overload; - function AddCurve(points: PGPPoint; count: Integer; tension: Single): TStatus; overload; - - function AddBezier(pt1, pt2, pt3, pt4: TGPPoint): TStatus; overload; - function AddBezier(pt1, pt2, pt3, pt4: TGPPointF): TStatus; overload; - function AddBezier(x1, y1, x2, y2, x3, y3, x4, y4: Single): TStatus; overload; - end; - -//-------------------------------------------------------------------------- -// Path Gradient Brush -//-------------------------------------------------------------------------- - - TGPPathGradientBrush = class(TGPBrush) - public - {constructor Create(points: PGPPointF; count: Integer; - wrapMode: TWrapMode = WrapModeClamp); reintroduce; overload; } - constructor Create(path: TGPGraphicsPath); reintroduce; //overload; - function GetCenterColor(out Color: TGPColor): TStatus; - function SetCenterColor(color: TGPColor): TStatus; - function GetPointCount: Integer; - function GetSurroundColors(colors: PARGB; var count: Integer): TStatus; - function SetSurroundColors(colors: PARGB; var count: Integer): TStatus; - function GetCenterPoint(out point: TGPPointF): TStatus; overload; - function GetCenterPoint(out point: TGPPoint): TStatus; overload; - function SetCenterPoint(point: TGPPointF): TStatus; overload; - function SetCenterPoint(point: TGPPoint): TStatus; overload; - end; - -(**************************************************************************\ -* TGPImage -***************************************************************************) - TGPImageFormat = (ifUndefined, ifMemoryBMP, ifBMP, ifEMF, ifWMF, ifJPEG, - ifPNG, ifGIF, ifTIFF, ifEXIF, ifIcon); - - TGPImage = class(TGdiplusBase) - protected - nativeImage: GpImage; - lastResult: TStatus; - loadStatus: TStatus; - procedure SetNativeImage(nativeImage: GpImage); - function SetStatus(status: TStatus): TStatus; - public - constructor Create(nativeImage: GpImage; status: TStatus); reintroduce; overload; - constructor Create(filename: WideString; useEmbeddedColorManagement: BOOL = FALSE); reintroduce; overload; - constructor Create(stream: IStream; useEmbeddedColorManagement: BOOL = FALSE); reintroduce; overload; - destructor Destroy; override; - function Save(filename: WideString; const clsidEncoder: TGUID; encoderParams: PEncoderParameters = nil): TStatus; overload; - function GetFormat: TGPImageFormat; - function GetWidth: UINT; - function GetHeight: UINT; - function GetHorizontalResolution: Single; - function GetVerticalResolution: Single; - function RotateFlip(rotateFlipType: TRotateFlipType): TStatus; - end; - - TGPBitmap = class(TGPImage) - public - constructor Create(nativeBitmap: GpBitmap); reintroduce; overload; - constructor Create(stream: IStream; useEmbeddedColorManagement: BOOL = FALSE); reintroduce; overload; - constructor Create(width, height: Integer; format: TPixelFormat = PixelFormat32bppARGB); reintroduce; overload; - function FromStream(stream: IStream; useEmbeddedColorManagement: BOOL = FALSE): TGPBitmap; - function GetPixel(x, y: Integer; out color: TGPColor): TStatus; - function SetPixel(x, y: Integer; color: TGPColor): TStatus; - function SetResolution(xdpi, ydpi: Single): TStatus; - end; - - TGPImageAttributes = class(TGdiplusBase) - protected - nativeImageAttr: GpImageAttributes; - lastResult: TStatus; - function SetStatus(status: TStatus): TStatus; - public - constructor Create; reintroduce; overload; - destructor Destroy; override; - function SetColorKey(colorLow, colorHigh: TGPColor; type_: TColorAdjustType = ColorAdjustTypeDefault): TStatus; - function ClearColorKey(type_: TColorAdjustType = ColorAdjustTypeDefault): TStatus; - end; - -(**************************************************************************\ -* -* GDI+ Graphics Object -* -\**************************************************************************) - - TGPGraphics = class(TGdiplusBase) - protected - nativeGraphics: GpGraphics; - lastResult: TStatus; - procedure SetNativeGraphics(graphics: GpGraphics); - function SetStatus(status: TStatus): TStatus; - function GetNativeGraphics: GpGraphics; - public - //constructor Create(graphics: GpGraphics); reintroduce; overload; - constructor Create(hdc: HDC); reintroduce; overload; - constructor Create(image: TGPImage); reintroduce; overload; - destructor Destroy; override; - function FromImage(image: TGPImage): TGPGraphics; - procedure Flush(intention: TFlushIntention = FlushIntentionFlush); - //------------------------------------------------------------------------ - // GDI Interop methods - //------------------------------------------------------------------------ - // Locks the graphics until ReleaseDC is called - function GetHDC: HDC; - procedure ReleaseHDC(hdc: HDC); - //------------------------------------------------------------------------ - // Rendering modes - //------------------------------------------------------------------------ - function SetCompositingQuality(compositingQuality: TCompositingQuality): TStatus; - function GetCompositingQuality: TCompositingQuality; - - function SetTextRenderingHint(newMode: TTextRenderingHint): TStatus; - function GetTextRenderingHint: TTextRenderingHint; - function GetSmoothingMode: TSmoothingMode; - function SetSmoothingMode(smoothingMode: TSmoothingMode): TStatus; - // DrawPath - function DrawPath(pen: TGPPen; path: TGPGraphicsPath): TStatus; - // FillRectangle(s) - function FillRectangle(brush: TGPBrush; const rect: TGPRectF): TStatus; overload; - function FillRectangle(brush: TGPBrush; x, y, width, height: Single): TStatus; overload; - // DrawString - {$IFNDEF DELPHI_UNICODE} - function DrawString(string_: string; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; brush: TGPBrush): TStatus; overload; - {$ENDIF} - {$IFDEF DELPHI6_LVL} - function DrawString(string_: widestring; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; brush: TGPBrush): TStatus; overload; - {$ENDIF} - // MeasureString - function MeasureString(string_: WideString; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; out boundingBox: TGPRectF; - codepointsFitted: PInteger = nil; linesFilled: PInteger = nil): TStatus; overload; - function GetLastStatus: TStatus; - // DrawRectangle - function DrawRectangle(pen: TGPPen; const rect: TGPRectF): TStatus; overload; - function DrawRectangle(pen: TGPPen; x, y, width, height: Single): TStatus; overload; - // DrawImage - function DrawImage(image: TGPImage; x, y: Integer): TStatus; overload; - function DrawImageRect(image: TGPImage; x, y, w, h: Integer): TStatus; overload; - function DrawImage(image: TGPImage; const destRect: TGPRectF; srcx, srcy, - srcwidth, srcheight: Single; srcUnit: TUnit; - imageAttributes: TGPImageAttributes = nil; callback: DrawImageAbort = nil; - callbackData: Pointer = nil): TStatus; overload; - // FillPath - function FillPath(brush: TGPBrush; path: TGPGraphicsPath): TStatus; - // Clip - function ExcludeClip(const rect: TGPRectF): TStatus; overload; - function ExcludeClip(region: TGPRegion): TStatus; overload; - function SetClip(region: TGPRegion; combineMode: TCombineMode = CombineModeReplace): TStatus; - function ResetClip: TStatus; - end; - - function ColorToARGB(Color: TColor): ARGB; - - function GetEncoderQualityParameters(ImageQualityPercentage: integer): TEncoderParameters; - - -//////////////////////////////////////////////////////////////////////////////// - -var - StartupInput: TGDIPlusStartupInput; - StartupOutput: TGdiplusStartupOutput; - gdiplusToken: ULONG; - - - -implementation - -function ColorToARGB(Color: TColor): ARGB; -var - c: TColor; -begin - c := ColorToRGB(Color); - Result := ARGB( $FF000000 or ((DWORD(c) and $FF) shl 16) or ((DWORD(c) and $FF00) or ((DWORD(c) and $ff0000) shr 16))); -end; - - - function GdipAlloc; external WINGDIPDLL name 'GdipAlloc'; - procedure GdipFree; external WINGDIPDLL name 'GdipFree'; - function GdiplusStartup; external WINGDIPDLL name 'GdiplusStartup'; - procedure GdiplusShutdown; external WINGDIPDLL name 'GdiplusShutdown'; - - function GdipCreatePath; external WINGDIPDLL name 'GdipCreatePath'; - function GdipDeletePath; external WINGDIPDLL name 'GdipDeletePath'; - //function GdipStartPathFigure; external WINGDIPDLL name 'GdipStartPathFigure'; - function GdipClosePathFigure; external WINGDIPDLL name 'GdipClosePathFigure'; - function GdipAddPathLine; external WINGDIPDLL name 'GdipAddPathLine'; - function GdipAddPathArc; external WINGDIPDLL name 'GdipAddPathArc'; - function GdipAddPathEllipse; external WINGDIPDLL name 'GdipAddPathEllipse'; - function GdipAddPathPie; external WINGDIPDLL name 'GdipAddPathPie'; - function GdipDeleteBrush; external WINGDIPDLL name 'GdipDeleteBrush'; - function GdipCreateSolidFill; external WINGDIPDLL name 'GdipCreateSolidFill'; - function GdipCreateLineBrushFromRect; external WINGDIPDLL name 'GdipCreateLineBrushFromRect'; - function GdipCreateLineBrushFromRectI; external WINGDIPDLL name 'GdipCreateLineBrushFromRectI'; - function GdipCreateLineBrushFromRectWithAngle; external WINGDIPDLL name 'GdipCreateLineBrushFromRectWithAngle'; - function GdipCreatePathGradient; external WINGDIPDLL name 'GdipCreatePathGradient'; - function GdipCreatePathGradientFromPath; external WINGDIPDLL name 'GdipCreatePathGradientFromPath'; - function GdipGetPathGradientCenterColor; external WINGDIPDLL name 'GdipGetPathGradientCenterColor'; - function GdipSetPathGradientCenterColor; external WINGDIPDLL name 'GdipSetPathGradientCenterColor'; - function GdipGetPathGradientSurroundColorsWithCount; external WINGDIPDLL name 'GdipGetPathGradientSurroundColorsWithCount'; - function GdipSetPathGradientSurroundColorsWithCount; external WINGDIPDLL name 'GdipSetPathGradientSurroundColorsWithCount'; - function GdipGetPathGradientCenterPoint; external WINGDIPDLL name 'GdipGetPathGradientCenterPoint'; - function GdipGetPathGradientCenterPointI; external WINGDIPDLL name 'GdipGetPathGradientCenterPointI'; - function GdipSetPathGradientCenterPoint; external WINGDIPDLL name 'GdipSetPathGradientCenterPoint'; - function GdipSetPathGradientCenterPointI; external WINGDIPDLL name 'GdipSetPathGradientCenterPointI'; - function GdipGetPathGradientPointCount; external WINGDIPDLL name 'GdipGetPathGradientPointCount'; - function GdipGetPathGradientSurroundColorCount; external WINGDIPDLL name 'GdipGetPathGradientSurroundColorCount'; - function GdipCreatePen1; external WINGDIPDLL name 'GdipCreatePen1'; - function GdipDeletePen; external WINGDIPDLL name 'GdipDeletePen'; - function GdipFlush; external WINGDIPDLL name 'GdipFlush'; - function GdipCreateFromHDC; external WINGDIPDLL name 'GdipCreateFromHDC'; - function GdipGetImageGraphicsContext; external WINGDIPDLL name 'GdipGetImageGraphicsContext'; - function GdipDeleteGraphics; external WINGDIPDLL name 'GdipDeleteGraphics'; - function GdipGetDC; external WINGDIPDLL name 'GdipGetDC'; - function GdipReleaseDC; external WINGDIPDLL name 'GdipReleaseDC'; - function GdipSetSmoothingMode; external WINGDIPDLL name 'GdipSetSmoothingMode'; - function GdipGetSmoothingMode; external WINGDIPDLL name 'GdipGetSmoothingMode'; - function GdipSetTextRenderingHint; external WINGDIPDLL name 'GdipSetTextRenderingHint'; - function GdipGetTextRenderingHint; external WINGDIPDLL name 'GdipGetTextRenderingHint'; - function GdipDrawPath; external WINGDIPDLL name 'GdipDrawPath'; - function GdipFillRectangle; external WINGDIPDLL name 'GdipFillRectangle'; - function GdipCreateFontFamilyFromName; external WINGDIPDLL name 'GdipCreateFontFamilyFromName'; - function GdipDeleteFontFamily; external WINGDIPDLL name 'GdipDeleteFontFamily'; - function GdipCreateFont; external WINGDIPDLL name 'GdipCreateFont'; - function GdipDeleteFont; external WINGDIPDLL name 'GdipDeleteFont'; - function GdipDrawString; external WINGDIPDLL name 'GdipDrawString'; - function GdipMeasureString; external WINGDIPDLL name 'GdipMeasureString'; - function GdipCreateStringFormat; external WINGDIPDLL name 'GdipCreateStringFormat'; - function GdipDeleteStringFormat; external WINGDIPDLL name 'GdipDeleteStringFormat'; - function GdipCloneStringFormat; external WINGDIPDLL name 'GdipCloneStringFormat'; - function GdipSetStringFormatAlign; external WINGDIPDLL name 'GdipSetStringFormatAlign'; - function GdipGetStringFormatAlign; external WINGDIPDLL name 'GdipGetStringFormatAlign'; - function GdipSetStringFormatLineAlign; external WINGDIPDLL name 'GdipSetStringFormatLineAlign'; - function GdipGetStringFormatLineAlign; external WINGDIPDLL name 'GdipGetStringFormatLineAlign'; - function GdipSetStringFormatTrimming; external WINGDIPDLL name 'GdipSetStringFormatTrimming'; - function GdipGetStringFormatTrimming; external WINGDIPDLL name 'GdipGetStringFormatTrimming'; - function GdipGetImageRawFormat; external WINGDIPDLL name 'GdipGetImageRawFormat'; - function GdipDrawImage; external WINGDIPDLL name 'GdipDrawImage'; - function GdipDrawImageI; external WINGDIPDLL name 'GdipDrawImageI'; - function GdipDrawImageRect; external WINGDIPDLL name 'GdipDrawImageRect'; - function GdipDrawImageRectI; external WINGDIPDLL name 'GdipDrawImageRectI'; - function GdipDrawRectangle; external WINGDIPDLL name 'GdipDrawRectangle'; - function GdipDrawRectangleI; external WINGDIPDLL name 'GdipDrawRectangleI'; - function GdipFillPath; external WINGDIPDLL name 'GdipFillPath'; - function GdipGetImageDecodersSize; external WINGDIPDLL name 'GdipGetImageDecodersSize'; - function GdipGetImageDecoders; external WINGDIPDLL name 'GdipGetImageDecoders'; - function GdipGetImageEncodersSize; external WINGDIPDLL name 'GdipGetImageEncodersSize'; - function GdipGetImageEncoders; external WINGDIPDLL name 'GdipGetImageEncoders'; - function GdipSaveImageToFile; external WINGDIPDLL name 'GdipSaveImageToFile'; - function GdipLoadImageFromFileICM; external WINGDIPDLL name 'GdipLoadImageFromFileICM'; - function GdipLoadImageFromFile; external WINGDIPDLL name 'GdipLoadImageFromFile'; - function GdipLoadImageFromStream; external WINGDIPDLL name 'GdipLoadImageFromStream'; - function GdipLoadImageFromStreamICM; external WINGDIPDLL name 'GdipLoadImageFromStreamICM'; - function GdipDisposeImage; external WINGDIPDLL name 'GdipDisposeImage'; - function GdipGetImageWidth; external WINGDIPDLL name 'GdipGetImageWidth'; - function GdipGetImageHeight; external WINGDIPDLL name 'GdipGetImageHeight'; - function GdipGetImageHorizontalResolution; external WINGDIPDLL name 'GdipGetImageHorizontalResolution'; - function GdipGetImageVerticalResolution; external WINGDIPDLL name 'GdipGetImageVerticalResolution'; - function GdipGetPenDashStyle; external WINGDIPDLL name 'GdipGetPenDashStyle'; - function GdipSetPenDashStyle; external WINGDIPDLL name 'GdipSetPenDashStyle'; - function GdipSetStringFormatHotkeyPrefix; external WINGDIPDLL name 'GdipSetStringFormatHotkeyPrefix'; - function GdipGetStringFormatHotkeyPrefix; external WINGDIPDLL name 'GdipGetStringFormatHotkeyPrefix'; - function GdipSetClipRect; external WINGDIPDLL name 'GdipSetClipRect'; - function GdipSetClipRegion; external WINGDIPDLL name 'GdipSetClipRegion'; - function GdipCreateRegionRect; external WINGDIPDLL name 'GdipCreateRegionRect'; - function GdipCreateRegionPath; external WINGDIPDLL name 'GdipCreateRegionPath'; - function GdipDeleteRegion; external WINGDIPDLL name 'GdipDeleteRegion'; - function GdipCombineRegionPath; external WINGDIPDLL name 'GdipCombineRegionPath'; - function GdipCombineRegionRegion; external WINGDIPDLL name 'GdipCombineRegionRegion'; - function GdipSetCompositingQuality; external WINGDIPDLL name 'GdipSetCompositingQuality'; - function GdipGetCompositingQuality; external WINGDIPDLL name 'GdipGetCompositingQuality'; - function GdipImageRotateFlip; external WINGDIPDLL name 'GdipImageRotateFlip'; - function GdipCreateBitmapFromStreamICM; external WINGDIPDLL name 'GdipCreateBitmapFromStreamICM'; - function GdipCreateBitmapFromStream; external WINGDIPDLL name 'GdipCreateBitmapFromStream'; - function GdipCreateBitmapFromScan0; external WINGDIPDLL name 'GdipCreateBitmapFromScan0'; - function GdipBitmapGetPixel; external WINGDIPDLL name 'GdipBitmapGetPixel'; - function GdipBitmapSetPixel; external WINGDIPDLL name 'GdipBitmapSetPixel'; - function GdipBitmapSetResolution; external WINGDIPDLL name 'GdipBitmapSetResolution'; - - function GdipSetPenEndCap; external WINGDIPDLL name 'GdipSetPenEndCap'; - function GdipAddPathLine2I; external WINGDIPDLL name 'GdipAddPathLine2I'; - function GdipCreateImageAttributes; external WINGDIPDLL name 'GdipCreateImageAttributes'; - function GdipDisposeImageAttributes; external WINGDIPDLL name 'GdipDisposeImageAttributes'; - function GdipSetImageAttributesColorKeys; external WINGDIPDLL name 'GdipSetImageAttributesColorKeys'; - function GdipDrawImageRectRect; external WINGDIPDLL name 'GdipDrawImageRectRect'; - - function GdipAddPathPolygon; external WINGDIPDLL name 'GdipAddPathPolygon'; - function GdipAddPathPolygonI; external WINGDIPDLL name 'GdipAddPathPolygonI'; - function GdipAddPathCurveI; external WINGDIPDLL name 'GdipAddPathCurveI'; - function GdipAddPathCurve; external WINGDIPDLL name 'GdipAddPathCurve'; - function GdipAddPathCurve2I; external WINGDIPDLL name 'GdipAddPathCurve2I'; - function GdipResetClip; external WINGDIPDLL name 'GdipResetClip'; - function GdipAddPathBezier; external WINGDIPDLL name 'GdipAddPathBezier'; -// ----------------------------------------------------------------------------- -// TGdiplusBase class -// ----------------------------------------------------------------------------- - - -class function TGdiplusBase.NewInstance: TObject; -var - p : pointer; - sz : ULONG; -begin - { Note: GidpAlloc may fail on Windows XP if application is started from - Delphi 2007 in debug mode. - The reason for this fix is to workaround the following problem: - After an application with a TAdvOfficeToolBar executes a standard TOpenDialog, - an exception is raised while drawing the officetoolbar. } - sz := ULONG(InstanceSize); - p := GdipAlloc(sz); - if not Assigned(p) then - begin - //GdipAlloc failed --> restart GDI+ and try again - GdiplusStartup(gdiplusToken, @StartupInput, @StartupOutput); - p := GdipAlloc(sz); - end; - Result := InitInstance(p); -end; - -procedure TGdiplusBase.FreeInstance; -begin - CleanupInstance; - GdipFree(Self); -end; - - -function GetImageEncoders(numEncoders, size: UINT; - encoders: PImageCodecInfo): TStatus; -begin - result := GdipGetImageEncoders(numEncoders, size, encoders); -end; - -function GetImageEncodersSize(out numEncoders, size: UINT): TStatus; -begin - result := GdipGetImageEncodersSize(numEncoders, size); -end; - -function GetEncoderClsid(format: String; out pClsid: TGUID): integer; -var - num, size, j: UINT; - ImageCodecInfo: PImageCodecInfo; -Type - ArrIMgInf = array of TImageCodecInfo; -begin - num := 0; // number of image encoders - size := 0; // size of the image encoder array in bytes - result := -1; - - GetImageEncodersSize(num, size); - if (size = 0) then exit; - - GetMem(ImageCodecInfo, size); - if(ImageCodecInfo = nil) then exit; - - GetImageEncoders(num, size, ImageCodecInfo); - - for j := 0 to num - 1 do - begin - if( ArrIMgInf(ImageCodecInfo)[j].MimeType = format) then - begin - pClsid := ArrIMgInf(ImageCodecInfo)[j].Clsid; - result := j; // Success - end; - end; - FreeMem(ImageCodecInfo, size); -end; - - - -function GetEncoderQualityParameters(ImageQualityPercentage: integer): TEncoderParameters; -var - encoderParameters: TEncoderParameters; - value: integer; -begin - if ImageQualityPercentage < 0 then - ImageQualityPercentage := 0; - - if ImageQualityPercentage > 100 then - ImageQualityPercentage := 100; - - value := ImageQualityPercentage; - encoderParameters.Count := 1; - encoderParameters.Parameter[0].Guid := EncoderQuality; - encoderParameters.Parameter[0].Type_ := EncoderParameterValueTypeLong; - encoderParameters.Parameter[0].Value := @value; - encoderParameters.Parameter[0].NumberOfValues := 1; - - result := encoderParameters; -end; - - -//-------------------------------------------------------------------------- -// TGPPoint Util -//-------------------------------------------------------------------------- - -function MakePoint(X, Y: Integer): TGPPoint; -begin - result.X := X; - result.Y := Y; -end; - -function MakePoint(X, Y: Single): TGPPointF; -begin - Result.X := X; - result.Y := Y; -end; - -// ----------------------------------------------------------------------------- -// RectF class -// ----------------------------------------------------------------------------- - -function MakeRect(x, y, width, height: Single): TGPRectF; overload; -begin - Result.X := x; - Result.Y := y; - Result.Width := width; - Result.Height := height; -end; - - -//****************************************************************************** -(**************************************************************************\ -* -* GDI+ StringFormat class -* -\**************************************************************************) - -constructor TGPStringFormat.Create(formatFlags: Integer = 0; language: LANGID = LANG_NEUTRAL); -begin - nativeFormat := nil; - lastError := GdipCreateStringFormat(formatFlags, language, nativeFormat); -end; - -destructor TGPStringFormat.Destroy; -begin - GdipDeleteStringFormat(nativeFormat); -end; - -function TGPStringFormat.SetAlignment(align: TStringAlignment): TStatus; -begin - result := SetStatus(GdipSetStringFormatAlign(nativeFormat, align)); -end; - -function TGPStringFormat.GetAlignment: TStringAlignment; -begin - SetStatus(GdipGetStringFormatAlign(nativeFormat, result)); -end; - -function TGPStringFormat.SetLineAlignment(align: TStringAlignment): TStatus; -begin - result := SetStatus(GdipSetStringFormatLineAlign(nativeFormat, align)); -end; - -function TGPStringFormat.GetLineAlignment: TStringAlignment; -begin - SetStatus(GdipGetStringFormatLineAlign(nativeFormat, result)); -end; - - -function TGPStringFormat.SetTrimming(trimming: TStringTrimming): TStatus; -begin - result := SetStatus(GdipSetStringFormatTrimming(nativeFormat, trimming)); -end; - -function TGPStringFormat.GetTrimming: TStringTrimming; -begin - SetStatus(GdipGetStringFormatTrimming(nativeFormat, result)); -end; - -function TGPStringFormat.SetHotkeyPrefix(hotkeyPrefix: THotkeyPrefix): TStatus; -begin - result := SetStatus(GdipSetStringFormatHotkeyPrefix(nativeFormat, Integer(hotkeyPrefix))); -end; - -function TGPStringFormat.GetHotkeyPrefix: THotkeyPrefix; -var HotkeyPrefix: Integer; -begin - SetStatus(GdipGetStringFormatHotkeyPrefix(nativeFormat, HotkeyPrefix)); - result := THotkeyPrefix(HotkeyPrefix); -end; - - -function TGPStringFormat.SetStatus(newStatus: GpStatus): TStatus; -begin - if (newStatus <> Ok) then lastError := newStatus; - result := newStatus; -end; - -// operator = -procedure TGPStringFormat.Assign(source: TGPStringFormat); -begin - assert(assigned(source)); - GdipDeleteStringFormat(nativeFormat); - lastError := GdipCloneStringFormat(source.nativeFormat, nativeFormat); -end; - -constructor TGPStringFormat.Create(clonedStringFormat: GpStringFormat; status: TStatus); -begin - lastError := status; - nativeFormat := clonedStringFormat; -end; - -(**************************************************************************\ -* -* GDI+ Pen class -* -\**************************************************************************) - -//-------------------------------------------------------------------------- -// Pen class -//-------------------------------------------------------------------------- - -constructor TGPPen.Create(color: TGPColor; width: Single = 1.0); -var unit_: TUnit; -begin - unit_ := UnitWorld; - nativePen := nil; - lastResult := GdipCreatePen1(color, width, unit_, nativePen); -end; - -destructor TGPPen.Destroy; -begin - GdipDeletePen(nativePen); -end; - -constructor TGPPen.Create(nativePen: GpPen; status: TStatus); -begin - lastResult := status; - SetNativePen(nativePen); -end; - -procedure TGPPen.SetNativePen(nativePen: GpPen); -begin - self.nativePen := nativePen; -end; - -function TGPPen.SetStatus(status: TStatus): TStatus; -begin - if (status <> Ok) then lastResult := status; - result := status; -end; - -function TGPPen.GetDashStyle: TDashStyle; -begin - SetStatus(GdipGetPenDashStyle(nativePen, result)); -end; - -function TGPPen.SetDashStyle(dashStyle: TDashStyle): TStatus; -begin - result := SetStatus(GdipSetPenDashStyle(nativePen, dashStyle)); -end; - -function TGPPen.SetEndCap(endCap: TLineCap): TStatus; -begin - result := SetStatus(GdipSetPenEndCap(nativePen, endCap)); -end; - - -(**************************************************************************\ -* -* GDI+ Brush class -* -\**************************************************************************) - -//-------------------------------------------------------------------------- -// Abstract base class for various brush types -//-------------------------------------------------------------------------- - -destructor TGPBrush.Destroy; -begin - GdipDeleteBrush(nativeBrush); -end; - -constructor TGPBrush.Create; -begin - SetStatus(NotImplemented); -end; - -constructor TGPBrush.Create(nativeBrush: GpBrush; status: TStatus); -begin - lastResult := status; - SetNativeBrush(nativeBrush); -end; - -procedure TGPBrush.SetNativeBrush(nativeBrush: GpBrush); -begin - self.nativeBrush := nativeBrush; -end; - -function TGPBrush.SetStatus(status: TStatus): TStatus; -begin - if (status <> Ok) then lastResult := status; - result := status; -end; - -//-------------------------------------------------------------------------- -// Solid Fill Brush Object -//-------------------------------------------------------------------------- - -constructor TGPSolidBrush.Create(color: TGPColor); -var - brush: GpSolidFill; -begin - brush := nil; - lastResult := GdipCreateSolidFill(color, brush); - SetNativeBrush(brush); -end; - -constructor TGPSolidBrush.Create; -begin - // hide parent function -end; - -//-------------------------------------------------------------------------- -// Linear Gradient Brush Object -//-------------------------------------------------------------------------- - -constructor TGPLinearGradientBrush.Create(rect: TGPRectF; color1, color2: TGPColor; mode: TLinearGradientMode); -var brush: GpLineGradient; -begin - brush := nil; - lastResult := GdipCreateLineBrushFromRect(@rect, color1, - color2, mode, WrapModeTile, brush); - SetNativeBrush(brush); -end; - -constructor TGPLinearGradientBrush.Create(rect: TGPRect; color1, color2: TGPColor; mode: TLinearGradientMode); -var brush: GpLineGradient; -begin - brush := nil; - lastResult := GdipCreateLineBrushFromRectI(@rect, color1, - color2, mode, WrapModeTile, brush); - SetNativeBrush(brush); -end; - -constructor TGPLinearGradientBrush.Create; -begin - // hide parent function -end; - -(**************************************************************************\ -* -* GDI+ Graphics Object -* -\**************************************************************************) - -constructor TGPGraphics.Create(hdc: HDC); -var - graphics: GpGraphics; -begin - graphics:= nil; - lastResult := GdipCreateFromHDC(hdc, graphics); - SetNativeGraphics(graphics); -end; - -destructor TGPGraphics.Destroy; -begin - GdipDeleteGraphics(nativeGraphics); -end; - -procedure TGPGraphics.Flush(intention: TFlushIntention = FlushIntentionFlush); -begin - GdipFlush(nativeGraphics, intention); -end; - -function TGPGraphics.FromImage(image: TGPImage): TGPGraphics; -begin - Result := TGPGraphics.Create(image); -end; - -constructor TGPGraphics.Create(image: TGPImage); -var - graphics: GpGraphics; -begin - graphics:= nil; - if (image <> nil) then - lastResult := GdipGetImageGraphicsContext(image.nativeImage, graphics); - SetNativeGraphics(graphics); -end; - - -//------------------------------------------------------------------------ -// GDI Interop methods -//------------------------------------------------------------------------ - -// Locks the graphics until ReleaseDC is called - -function TGPGraphics.GetHDC: HDC; -begin - SetStatus(GdipGetDC(nativeGraphics, result)); -end; - -procedure TGPGraphics.ReleaseHDC(hdc: HDC); -begin - SetStatus(GdipReleaseDC(nativeGraphics, hdc)); -end; - -function TGPGraphics.SetTextRenderingHint(newMode: TTextRenderingHint): TStatus; -begin - result := SetStatus(GdipSetTextRenderingHint(nativeGraphics, newMode)); -end; - -function TGPGraphics.GetTextRenderingHint: TTextRenderingHint; -begin - SetStatus(GdipGetTextRenderingHint(nativeGraphics, result)); -end; - -function TGPGraphics.GetSmoothingMode: TSmoothingMode; -var - smoothingMode: TSmoothingMode; -begin - smoothingMode := SmoothingModeInvalid; - SetStatus(GdipGetSmoothingMode(nativeGraphics, smoothingMode)); - result := smoothingMode; -end; - -function TGPGraphics.SetSmoothingMode(smoothingMode: TSmoothingMode): TStatus; -begin - result := SetStatus(GdipSetSmoothingMode(nativeGraphics, smoothingMode)); -end; - -function TGPGraphics.DrawPath(pen: TGPPen; path: TGPGraphicsPath): TStatus; -var - nPen: GpPen; - nPath: GpPath; -begin - if Assigned(pen) then - nPen := pen.nativePen - else - nPen := nil; - if Assigned(path) then - nPath := path.nativePath - else - nPath := nil; - Result := SetStatus(GdipDrawPath(nativeGraphics, nPen, nPath)); -end; - -function TGPGraphics.FillRectangle(brush: TGPBrush; const rect: TGPRectF): TStatus; -begin - Result := FillRectangle(brush, rect.X, rect.Y, rect.Width, rect.Height); -end; - -function TGPGraphics.FillRectangle(brush: TGPBrush; x, y, width, height: Single): TStatus; -begin - result := SetStatus(GdipFillRectangle(nativeGraphics, brush.nativeBrush, x, y, - width, height)); -end; - -{$IFNDEF DELPHI_UNICODE} -function TGPGraphics.DrawString( string_: string; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; brush: TGPBrush): TStatus; -var - nFont: GpFont; - nStringFormat: GpStringFormat; - nBrush: GpBrush; - wCh: PWidechar; - i: integer; -begin - if Assigned(font) then - nfont := font.nativeFont - else - nfont := nil; - if Assigned(stringFormat) then - nstringFormat := stringFormat.nativeFormat - else - nstringFormat := nil; - - {charset issue} - i := System.Length(string_); - GetMem(wCh, i * 2 + 2); - FillChar(wCh^, i * 2 + 2,0); - StringToWidechar(string_, wCh, i * 2 + 2); - {/charset issue} - - if Assigned(brush) then - nbrush := brush.nativeBrush - else - nbrush := nil; -// Result := SetStatus(GdipDrawString(nativeGraphics, PWideChar(string_), -// length, nfont, @layoutRect, nstringFormat, nbrush)); - - {charset issue} - Result := SetStatus(GdipDrawString(nativeGraphics, wCh, - length, nfont, @layoutRect, nstringFormat, nbrush)); - - FreeMem(wCh); - {/charset issue} -end; -{$ENDIF} - -{$IFDEF DELPHI6_LVL} -function TGPGraphics.DrawString( string_: widestring; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; brush: TGPBrush): TStatus; -var - nFont: GpFont; - nStringFormat: GpStringFormat; - nBrush: GpBrush; -begin - if Assigned(font) then - nfont := font.nativeFont - else - nfont := nil; - if Assigned(stringFormat) then - nstringFormat := stringFormat.nativeFormat - else - nstringFormat := nil; - - if Assigned(brush) then - nbrush := brush.nativeBrush - else - nbrush := nil; - - Result := SetStatus(GdipDrawString(nativeGraphics, PWideChar(string_), - length, nfont, @layoutRect, nstringFormat, nbrush)); -end; -{$ENDIF} - -function TGPGraphics.MeasureString(string_: WideString; length: Integer; font: TGPFont; - const layoutRect: TGPRectF; stringFormat: TGPStringFormat; out boundingBox: TGPRectF; - codepointsFitted: PInteger = nil; linesFilled: PInteger = nil): TStatus; -var - nFont: GpFont; - nStringFormat: GpStringFormat; -begin - if Assigned(font) then - nfont := font.nativeFont - else - nfont := nil; - if Assigned(stringFormat) then - nstringFormat := stringFormat.nativeFormat - else - nstringFormat := nil; - - Result := SetStatus(GdipMeasureString(nativeGraphics, PWideChar(string_), - length, nfont, @layoutRect, nstringFormat, @boundingBox, codepointsFitted, - linesFilled)); -end; - -function TGPGraphics.GetLastStatus: TStatus; -begin - result := lastResult; - lastResult := Ok; -end; - -{ -constructor TGPGraphics.Create(graphics: GpGraphics); -begin - lastResult := Ok; - SetNativeGraphics(graphics); -end; -} - -procedure TGPGraphics.SetNativeGraphics(graphics: GpGraphics); -begin - self.nativeGraphics := graphics; -end; - -function TGPGraphics.SetStatus(status: TStatus): TStatus; -begin - if (status <> Ok) then - lastResult := status; - result := status; -end; - -function TGPGraphics.GetNativeGraphics: GpGraphics; -begin - result := self.nativeGraphics; -end; - -//------------------------------------------------------------------------------ - - constructor TGPRegion.Create(rect: TGPRectF); - var - region: GpRegion; - begin - region := nil; - lastResult := GdipCreateRegionRect(@rect, region); - SetNativeRegion(region); - end; - - constructor TGPRegion.Create(path: TGPGraphicsPath); - var - region: GpRegion; - begin - region := nil; - lastResult := GdipCreateRegionPath(path.nativePath, region); - SetNativeRegion(region); - end; - - destructor TGPRegion.Destroy; - begin - GdipDeleteRegion(nativeRegion); - end; - - function TGPRegion.Exclude(path: TGPGraphicsPath): TStatus; - begin - result := SetStatus(GdipCombineRegionPath(nativeRegion, path.nativePath, CombineModeExclude)); - end; - - function TGPRegion.SetStatus(status: TStatus): TStatus; - begin - if (status <> Ok) then lastResult := status; - result := status; - end; - - procedure TGPRegion.SetNativeRegion(nativeRegion: GpRegion); - begin - self.nativeRegion := nativeRegion; - end; - - function TGPRegion.Union(region: TGPRegion): TStatus; - begin - result := SetStatus(GdipCombineRegionRegion(nativeRegion, region.nativeRegion, - CombineModeUnion)); - end; - -(**************************************************************************\ -* -* GDI+ Font Family class -* -\**************************************************************************) - - constructor TGPFontFamily.Create(name: WideString; fontCollection: TGPFontCollection = nil); - var nfontCollection: GpfontCollection; - begin - nativeFamily := nil; - if assigned(fontCollection) then nfontCollection := fontCollection.nativeFontCollection else nfontCollection := nil; - lastResult := GdipCreateFontFamilyFromName(PWideChar(name), nfontCollection, nativeFamily); - end; - - destructor TGPFontFamily.Destroy; - begin - GdipDeleteFontFamily (nativeFamily); - end; - - function TGPFontFamily.SetStatus(status: TStatus): TStatus; - begin - if (status <> Ok) then lastResult := status; - result := status; - end; - - constructor TGPFontFamily.Create(nativeOrig: GpFontFamily; status: TStatus); - begin - lastResult := status; - nativeFamily := nativeOrig; - end; - -(**************************************************************************\ -* -* GDI+ Font class -* -\**************************************************************************) - - constructor TGPFont.Create(family: TGPFontFamily; emSize: Single; - style: TFontStyle = FontStyleRegular; unit_: TUnit = UnitPoint); - var - font: GpFont; - nFontFamily: GpFontFamily; - begin - font := nil; - if Assigned(Family) then - nFontFamily := Family.nativeFamily - else - nFontFamily := nil; - - lastResult := GdipCreateFont(nFontFamily, emSize, Integer(style), Integer(unit_), font); - - SetNativeFont(font); - end; - - destructor TGPFont.Destroy; - begin - GdipDeleteFont(nativeFont); - end; - - constructor TGPFont.Create(font: GpFont; status: TStatus); - begin - lastResult := status; - SetNativeFont(font); - end; - - procedure TGPFont.SetNativeFont(Font: GpFont); - begin - nativeFont := Font; - end; - - function TGPFont.SetStatus(status: TStatus): TStatus; - begin - if (status <> Ok) then lastResult := status; - result := status; - end; - -(**************************************************************************\ -* -* Font collections (Installed and Private) -* -\**************************************************************************) - - constructor TGPFontCollection.Create; - begin - nativeFontCollection := nil; - end; - - destructor TGPFontCollection.Destroy; - begin - inherited Destroy; - end; - - function TGPFontCollection.SetStatus(status: TStatus): TStatus; - begin - lastResult := status; - result := lastResult; - end; - -(**************************************************************************\ -* -* GDI+ Graphics Path class -* -\**************************************************************************) - - constructor TGPGraphicsPath.Create(fillMode: TFillMode = FillModeAlternate); - begin - nativePath := nil; - lastResult := GdipCreatePath(fillMode, nativePath); - end; - - destructor TGPGraphicsPath.Destroy; - begin - GdipDeletePath(nativePath); - end; - - function TGPGraphicsPath.CloseFigure: TStatus; - begin - result := SetStatus(GdipClosePathFigure(nativePath)); - end; - - function TGPGraphicsPath.AddLine(const pt1, pt2: TGPPointF): TStatus; - begin - result := AddLine(pt1.X, pt1.Y, pt2.X, pt2.Y); - end; - - function TGPGraphicsPath.AddLine(x1, y1, x2, y2: Single): TStatus; - begin - result := SetStatus(GdipAddPathLine(nativePath, x1, y1, - x2, y2)); - end; - - function TGPGraphicsPath.AddArc(rect: TGPRectF; startAngle, sweepAngle: Single): TStatus; - begin - result := AddArc(rect.X, rect.Y, rect.Width, rect.Height, - startAngle, sweepAngle); - end; - - function TGPGraphicsPath.AddArc(x, y, width, height, startAngle, sweepAngle: Single): TStatus; - begin - result := SetStatus(GdipAddPathArc(nativePath, x, y, width, height, startAngle, sweepAngle)); - end; - - function TGPGraphicsPath.AddEllipse(rect: TGPRectF): TStatus; - begin - result := AddEllipse(rect.X, rect.Y, rect.Width, rect.Height); - end; - - function TGPGraphicsPath.AddEllipse(x, y, width, height: Single): TStatus; - begin - result := SetStatus(GdipAddPathEllipse(nativePath, - x, - y, - width, - height)); - end; - - { - constructor TGPGraphicsPath.Create(path: TGPGraphicsPath); - var clonepath: GpPath; - begin - clonepath := nil; - SetStatus(GdipClonePath(path.nativePath, clonepath)); - SetNativePath(clonepath); - end; - } - constructor TGPGraphicsPath.Create(nativePath: GpPath); - begin - lastResult := Ok; - SetNativePath(nativePath); - end; - - procedure TGPGraphicsPath.SetNativePath(nativePath: GpPath); - begin - self.nativePath := nativePath; - end; - - function TGPGraphicsPath.SetStatus(status: TStatus): TStatus; - begin - if (status <> Ok) then LastResult := status; - result := status; - end; - -//-------------------------------------------------------------------------- -// Path Gradient Brush -//-------------------------------------------------------------------------- - { - constructor TGPPathGradientBrush.Create(points: PGPPointF; count: Integer; wrapMode: TWrapMode = WrapModeClamp); - var brush: GpPathGradient; - begin - brush := nil; - lastResult := GdipCreatePathGradient(points, count, wrapMode, brush); - SetNativeBrush(brush); - end; - } - constructor TGPPathGradientBrush.Create(path: TGPGraphicsPath); - var brush: GpPathGradient; - begin - brush := nil; - lastResult := GdipCreatePathGradientFromPath(path.nativePath, brush); - SetNativeBrush(brush); - end; - - function TGPPathGradientBrush.GetCenterColor(out Color: TGPColor): TStatus; - begin - SetStatus(GdipGetPathGradientCenterColor(GpPathGradient(nativeBrush), Color)); - result := lastResult; - end; - - function TGPPathGradientBrush.SetCenterColor(color: TGPColor): TStatus; - begin - SetStatus(GdipSetPathGradientCenterColor(GpPathGradient(nativeBrush),color)); - result := lastResult; - end; - - function TGPPathGradientBrush.GetPointCount: Integer; - begin - SetStatus(GdipGetPathGradientPointCount(GpPathGradient(nativeBrush), result)); - end; - - function TGPPathGradientBrush.GetSurroundColors(colors: PARGB; var count: Integer): TStatus; - var - count1: Integer; - begin - if not assigned(colors) then - begin - result := SetStatus(InvalidParameter); - exit; - end; - - SetStatus(GdipGetPathGradientSurroundColorCount(GpPathGradient(nativeBrush), count1)); - - if(lastResult <> Ok) then - begin - result := lastResult; - exit; - end; - - if((count < count1) or (count1 <= 0)) then - begin - result := SetStatus(InsufficientBuffer); - exit; - end; - - SetStatus(GdipGetPathGradientSurroundColorsWithCount(GpPathGradient(nativeBrush), colors, count1)); - if(lastResult = Ok) then - count := count1; - - result := lastResult; - end; - - function TGPPathGradientBrush.SetSurroundColors(colors: PARGB; var count: Integer): TStatus; - var - count1: Integer; - type - TDynArrDWORD = array of DWORD; - begin - if (colors = nil) then - begin - result := SetStatus(InvalidParameter); - exit; - end; - - count1 := GetPointCount; - - if((count > count1) or (count1 <= 0)) then - begin - result := SetStatus(InvalidParameter); - exit; - end; - - count1 := count; - - SetStatus(GdipSetPathGradientSurroundColorsWithCount( - GpPathGradient(nativeBrush), colors, count1)); - - if(lastResult = Ok) then count := count1; - result := lastResult; - end; - - function TGPPathGradientBrush.GetCenterPoint(out point: TGPPointF): TStatus; - begin - result := SetStatus(GdipGetPathGradientCenterPoint(GpPathGradient(nativeBrush), @point)); - end; - - function TGPPathGradientBrush.GetCenterPoint(out point: TGPPoint): TStatus; - begin - result := SetStatus(GdipGetPathGradientCenterPointI(GpPathGradient(nativeBrush), @point)); - end; - - function TGPPathGradientBrush.SetCenterPoint(point: TGPPointF): TStatus; - begin - result := SetStatus(GdipSetPathGradientCenterPoint(GpPathGradient(nativeBrush), @point)); - end; - - function TGPPathGradientBrush.SetCenterPoint(point: TGPPoint): TStatus; - begin - result := SetStatus(GdipSetPathGradientCenterPointI(GpPathGradient(nativeBrush), @point)); - end; - -function TGPGraphics.DrawRectangle(pen: TGPPen; const rect: TGPRectF): TStatus; -begin - Result := DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height); -end; - -function TGPGraphics.DrawRectangle(pen: TGPPen; x, y, width, height: Single): TStatus; -begin - Result := SetStatus(GdipDrawRectangle(nativeGraphics, pen.nativePen, x, y, width, height)); -end; - -function TGPGraphics.DrawImage(image: TGPImage; x, y: Integer): TStatus; -var - nImage: GpImage; -begin - if Assigned(Image) then - nImage := Image.nativeImage - else - nImage := nil; - - Result := SetStatus(GdipDrawImageI(nativeGraphics, nimage, x, y)); -end; - -function TGPGraphics.DrawImageRect(image: TGPImage; x, y, w, h: Integer): TStatus; -var - nImage: GpImage; -begin - if Assigned(Image) then - nImage := Image.nativeImage - else - nImage := nil; - - Result := SetStatus(GdipDrawImageRect(nativeGraphics, nimage, x, y, w, h)); -end; - - -function TGPGraphics.DrawImage(image: TGPImage; const destRect: TGPRectF; srcx, srcy, srcwidth, srcheight: Single; - srcUnit: TUnit; imageAttributes: TGPImageAttributes = nil; callback: DrawImageAbort = nil; - callbackData: Pointer = nil): TStatus; -var - nImage: GpImage; - nimageAttributes: GpimageAttributes; -begin - if assigned(Image) then nImage := Image.nativeImage else nImage := nil; - if assigned(imageAttributes) then nimageAttributes := imageAttributes.nativeImageAttr else nimageAttributes := nil; - result := SetStatus(GdipDrawImageRectRect(nativeGraphics, - nimage, - destRect.X, - destRect.Y, - destRect.Width, - destRect.Height, - srcx, srcy, - srcwidth, srcheight, - srcUnit, - nimageAttributes, - callback, - callbackData)); -end; - -constructor TGPImage.Create(filename: WideString; - useEmbeddedColorManagement: BOOL = FALSE); -begin - nativeImage := nil; - if(useEmbeddedColorManagement) then - begin - lastResult := GdipLoadImageFromFileICM(PWideChar(filename), nativeImage); - end - else - begin - lastResult := GdipLoadImageFromFile(PWideChar(filename), nativeImage); - end; -end; - -constructor TGPImage.Create(stream: IStream; - useEmbeddedColorManagement: BOOL = FALSE); -begin - nativeImage := nil; - if (useEmbeddedColorManagement) then - lastResult := GdipLoadImageFromStreamICM(stream, nativeImage) - else - lastResult := GdipLoadImageFromStream(stream, nativeImage); -end; - -destructor TGPImage.Destroy; -begin - GdipDisposeImage(nativeImage); -end; - -function TGPImage.Save(filename: WideString; const clsidEncoder: TGUID; - encoderParams: PEncoderParameters = nil): TStatus; -begin - result := SetStatus(GdipSaveImageToFile(nativeImage, - PWideChar(filename), - @clsidEncoder, - encoderParams)); -end; - - -function TGPImage.GetFormat: TGPImageFormat; -var - format: TGUID; -begin - GdipGetImageRawFormat(nativeImage, @format); - - Result := ifUndefined; - - if IsEqualGUID(format, ImageFormatMemoryBMP) then - Result := ifMemoryBMP; - - if IsEqualGUID(format, ImageFormatBMP) then - Result := ifBMP; - - if IsEqualGUID(format, ImageFormatEMF) then - Result := ifEMF; - - if IsEqualGUID(format, ImageFormatWMF) then - Result := ifWMF; - - if IsEqualGUID(format, ImageFormatJPEG) then - Result := ifJPEG; - - if IsEqualGUID(format, ImageFormatGIF) then - Result := ifGIF; - - if IsEqualGUID(format, ImageFormatPNG) then - Result := ifPNG; - - if IsEqualGUID(format, ImageFormatTIFF) then - Result := ifTIFF; - - if IsEqualGUID(format, ImageFormatEXIF) then - Result := ifEXIF; - - if IsEqualGUID(format, ImageFormatIcon) then - Result := ifIcon; -end; - -function TGPImage.GetHeight: UINT; -var - height: UINT; - -begin - height := 0; - SetStatus(GdipGetImageHeight(nativeImage, height)); - result := height; -end; - -function TGPImage.GetHorizontalResolution: Single; -var - resolution: Single; -begin - resolution := 0.0; - SetStatus(GdipGetImageHorizontalResolution(nativeImage, resolution)); - result := resolution; -end; - -function TGPImage.GetVerticalResolution: Single; -var - resolution: Single; -begin - resolution := 0.0; - SetStatus(GdipGetImageVerticalResolution(nativeImage, resolution)); - result := resolution; -end; - -function TGPImage.GetWidth: UINT; -var - width: UINT; -begin - width := 0; - SetStatus(GdipGetImageWidth(nativeImage, width)); - result := width; -end; - -constructor TGPImage.Create(nativeImage: GpImage; status: TStatus); -begin - SetNativeImage(nativeImage); - lastResult := status; -end; - -procedure TGPImage.SetNativeImage(nativeImage: GpImage); -begin - self.nativeImage := nativeImage; -end; - -function TGPImage.SetStatus(status: TStatus): TStatus; -begin - if (status <> Ok) then lastResult := status; - result := status; -end; - - -function TGPGraphicsPath.AddLines(points: PGPPoint; count: Integer): TStatus; -begin - result := SetStatus(GdipAddPathLine2I(nativePath, points, count)); -end; - -function TGPGraphicsPath.AddPie(rect: TGPRectF; startAngle, - sweepAngle: Single): TStatus; -begin - result := AddPie(rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle); -end; - -function TGPGraphicsPath.AddPie(x, y, width, height, startAngle, - sweepAngle: Single): TStatus; -begin - result := SetStatus(GdipAddPathPie(nativePath, x, y, width, height, startAngle, sweepAngle)); -end; - -function TGPGraphicsPath.AddPolygon(points: PGPPointF; - count: Integer): TStatus; -begin - result := SetStatus(GdipAddPathPolygon(nativePath, points, count)); -end; - -function TGPGraphicsPath.AddPolygon(points: PGPPoint; - count: Integer): TStatus; -begin - result := SetStatus(GdipAddPathPolygonI(nativePath, points, count)); -end; - -function TGPGraphicsPath.AddCurve(points: PGPPointF; - count: Integer): TStatus; -begin - result := SetStatus(GdipAddPathCurve(nativePath, points, count)); -end; - -function TGPGraphicsPath.AddCurve(points: PGPPoint; - count: Integer): TStatus; -begin - result := SetStatus(GdipAddPathCurveI(nativePath, points, count)); -end; - -function TGPGraphicsPath.AddCurve(points: PGPPoint; count: Integer; tension: Single): TStatus; -begin - result := SetStatus(GdipAddPathCurve2I(nativePath, points, count, tension)); -end; - -function TGPGraphicsPath.AddBezier(pt1, pt2, pt3, pt4: TGPPoint): TStatus; -begin - result := AddBezier(pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y); -end; - -function TGPGraphicsPath.AddBezier(pt1, pt2, pt3, pt4: TGPPointF): TStatus; -begin - result := AddBezier(pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y); -end; - -function TGPGraphicsPath.AddBezier(x1, y1, x2, y2, x3, y3, x4, - y4: Single): TStatus; -begin - result := SetStatus(GdipAddPathBezier(nativePath, x1, y1, x2, y2, x3, y3, x4, y4)); -end; - -//------------------------------------------------------------------------------ - -function TGPGraphics.FillPath(brush: TGPBrush; - path: TGPGraphicsPath): TStatus; -begin - result := SetStatus(GdipFillPath(nativeGraphics, brush.nativeBrush, path.nativePath)); -end; - -function TGPGraphics.ExcludeClip(const rect: TGPRectF): TStatus; -begin - result := SetStatus(GdipSetClipRect(nativeGraphics, rect.X, rect.Y, rect.Width, rect.Height, CombineModeExclude)); -end; - -function TGPGraphics.ExcludeClip(region: TGPRegion): TStatus; -begin - result := SetStatus(GdipSetClipRegion(nativeGraphics, region.nativeRegion, CombineModeExclude)); -end; - -function TGPGraphics.SetClip(region: TGPRegion; - combineMode: TCombineMode): TStatus; -begin - result := SetStatus(GdipSetClipRegion(nativeGraphics, region.nativeRegion, combineMode)); -end; - -function TGPGraphics.ResetClip: TStatus; -begin - result := SetStatus(GdipResetClip(nativeGraphics)); -end; - -function MakeColor(a, r, g, b: Byte): ARGB; overload; -begin - result := ((DWORD(b) shl BlueShift) or - (DWORD(g) shl GreenShift) or - (DWORD(r) shl RedShift) or - (DWORD(a) shl AlphaShift)); -end; - -function MakeColor(r, g, b: Byte): ARGB; overload; -begin - result := MakeColor(255, r, g, b); -end; - -function GetAlpha(color: ARGB): BYTE; -begin - result := BYTE(color shr AlphaShift); -end; - -function GetRed(color: ARGB): BYTE; -begin - result := BYTE(color shr RedShift); -end; - -function GetGreen(color: ARGB): BYTE; -begin - result := BYTE(color shr GreenShift); -end; - -function GetBlue(color: ARGB): BYTE; -begin - result := BYTE(color shr BlueShift); -end; - -function TGPGraphics.GetCompositingQuality: TCompositingQuality; -begin - SetStatus(GdipGetCompositingQuality(nativeGraphics, result)); -end; - -function TGPGraphics.SetCompositingQuality( - compositingQuality: TCompositingQuality): TStatus; -begin - result := SetStatus(GdipSetCompositingQuality( nativeGraphics, compositingQuality)); -end; - -function TGPImage.RotateFlip(rotateFlipType: TRotateFlipType): TStatus; -begin - Result := SetStatus(GdipImageRotateFlip(nativeImage, rotateFlipType)); -end; - - -{ TGPBitmap } - -constructor TGPBitmap.Create(stream: IStream; useEmbeddedColorManagement: BOOL); -var - bitmap: GpBitmap; -begin - bitmap := nil; - if(useEmbeddedColorManagement) then - lastResult := GdipCreateBitmapFromStreamICM(stream, bitmap) - else - lastResult := GdipCreateBitmapFromStream(stream, bitmap); - SetNativeImage(bitmap); -end; - -constructor TGPBitmap.Create(nativeBitmap: GpBitmap); -begin - lastResult := Ok; - SetNativeImage(nativeBitmap); -end; - -constructor TGPBitmap.Create(width, height: Integer; format: TPixelFormat); -var - bitmap: GpBitmap; -begin - bitmap := nil; - lastResult := GdipCreateBitmapFromScan0(width, height, 0, format, nil, bitmap); - SetNativeImage(bitmap); -end; - -function TGPBitmap.FromStream(stream: IStream; - useEmbeddedColorManagement: BOOL): TGPBitmap; -begin - Result := TGPBitmap.Create(stream, useEmbeddedColorManagement); -end; - -function TGPBitmap.GetPixel(x, y: Integer; out color: TGPColor): TStatus; -begin - Result := SetStatus(GdipBitmapGetPixel(GpBitmap(nativeImage), x, y, color)); -end; - -function TGPBitmap.SetPixel(x, y: Integer; color: TGPColor): TStatus; -begin - Result := SetStatus(GdipBitmapSetPixel(GpBitmap(nativeImage), x, y, color)); -end; - - - -function TGPBitmap.SetResolution(xdpi, ydpi: Single): TStatus; -begin - Result := SetStatus(GdipBitmapSetResolution(GpBitmap(nativeImage), xdpi, ydpi)); -end; - -{ TGPImageAttributes } - -constructor TGPImageAttributes.Create; -begin - nativeImageAttr := nil; - lastResult := GdipCreateImageAttributes(nativeImageAttr); -end; - -destructor TGPImageAttributes.Destroy; -begin - GdipDisposeImageAttributes(nativeImageAttr); - inherited Destroy; -end; - -function TGPImageAttributes.SetStatus(status: TStatus): TStatus; -begin - if (status <> Ok) then lastResult := status; - result := status; -end; - -function TGPImageAttributes.SetColorKey(colorLow, colorHigh: TGPColor; - type_: TColorAdjustType = ColorAdjustTypeDefault): TStatus; -begin - result := SetStatus(GdipSetImageAttributesColorKeys(nativeImageAttr, type_, - TRUE, colorLow, colorHigh)); -end; - -function TGPImageAttributes.ClearColorKey(type_: TColorAdjustType = ColorAdjustTypeDefault): TStatus; -begin - result := SetStatus(GdipSetImageAttributesColorKeys(nativeImageAttr, type_, - FALSE, 0, 0)); -end; - -initialization -begin - // Initialize StartupInput structure - StartupInput.DebugEventCallback := nil; - - //StartupInput.SuppressBackgroundThread := False; - StartupInput.SuppressBackgroundThread := True; - StartupInput.SuppressExternalCodecs := False; - StartupInput.GdiplusVersion := 1; - - StartupOutput.NotificationHook := nil; - StartupOutput.NotificationUnhook := nil; - - // Initialize GDI+ - GdiplusStartup(gdiplusToken, @StartupInput, @StartupOutput); -end; - -finalization -begin - // Close GDI + - if not IsLibrary then - GdiplusShutdown(gdiplusToken); -end; - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbutton.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbutton.pas deleted file mode 100644 index f34f396..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbutton.pas +++ /dev/null @@ -1,6099 +0,0 @@ -{***************************************************************************} -{ TAdvGlowButton component } -{ for Delphi & C++Builder } -{ } -{ written by TMS Software } -{ copyright © 2006 - 2009 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit AdvGlowButton; - -{$R ADVGLOWBUTTONDB.RES} - -{$I TMSDEFS.INC} - -{$T-} - -interface - -uses - Classes, Windows, Forms, Dialogs, Controls, Graphics, Messages, ExtCtrls, - SysUtils, Math, Menus, ImgList, AdvGDIP, GDIPicture, ActnList, - AdvHintInfo, AdvStyleIF, ActiveX - {$IFNDEF TMS_STD} - , DB - {$ENDIF} - ; - -const - DropDownSectWidth = 13; - - MAJ_VER = 1; // Major version nr. - MIN_VER = 8; // Minor version nr. - REL_VER = 4; // Release nr. - BLD_VER = 0; // Build nr. - - // version history - // 1.0.5.1 : Fixed issue with width & height initialization - // 1.0.5.2 : Improved fade painting - // 1.1.0.0 : New separate dropdown button hot & down effect - // : Silver, Blue, Black styles added - // 1.2.0.0 : New DropDownSplit property added - // 1.2.0.1 : Fixed issue with ModalResult <> mrNone - // 1.2.0.2 : Fixed issue with Action handling Checked state - // 1.2.0.3 : Fixed issue with disabled painting - // 1.2.0.4 : Fixed issue with key handling - // 1.3.0.0 : Added new property FocusType - // : Added new ShortCutHint, ShortCutHintPos & methods ShowShortCutHint, HideShortCutHint - // 1.3.0.1 : Fixed issue with font and aaNone - // 1.3.0.2 : Fixed issue with hot & down border painting - // 1.3.1.0 : New : exposed OnMouseEnter, OnMouseLeave - // : Fixed issue with Down property for bsCheck style - // 1.3.1.1 : Fixed issue with Down property for buttons with GroupIndex > 0 - // 1.3.1.2 : Improved transitioning from transparent to hot - // 1.3.1.3 : Fixed issue with actionlinks & bsCheck type - // 1.3.2.0 : New styler interface added - // 1.3.3.0 : New public property DroppedDown added - // 1.3.4.0 : New TAdvCustomGlowButton.ParentFont added - // : TButtonLayout blGlyphLeftAdjusted and blGlyphRightAdjusted added - // 1.3.5.0 : New borderless display possible by setting BorderStyle = bsNone - // 1.4.0.0 : Improved : seamlessly works with TrueType & non TrueType fonts - // : New : Spacing property added - // : New : WordWrap property added - // : New : AutoSize property added - // : New : MarginVert property added - // : New : MarginHorz property added - // : New : Rounded property added - // : New : DropDownDirection property added - // : New : HotImages, HotPicture property added - // 1.4.5.0 : New : PopupMenu property added - // : New : OnDrawButton event added - // : New : TButtonLayout blGlyphTopAdjusted and blGlyphBottomAdjusted added - // 1.4.6.0 : New : support for Office 2007 silver style added - // 1.4.6.1 : Fixed : issue with Win98 resource leak - // 1.5.0.0 : New : support for Unicode text via public property WideCaption - // : Improved : text drawing in aaNone AntiAlias mode - // 1.5.0.1 : Fix for use with fonts that are not installed - // 1.6.0.0 : New : support for Trimming added - // 1.6.0.1 : Fixed : issue with Action images - // 1.7.0.0 : New : Repeat functionality added with repeat initial delay & frequency setting - // : Improved wordwrap drawing with no text aliasing - // : New : support for using \n newline specifier in property inspector - // 1.7.0.1 : Fixed : drawing issue with Delphi 2007 - // 1.7.1.0 : New : F4 key to open attached dropdown menu - // 1.7.1.1 : Fixed : issue with DropDownSplit and OnClick event handler - // 1.7.2.0 : New : events OnEnter, OnExit added - // 1.7.2.1 : Improved : painting on MDI child windows - // 1.7.2.2 : Fixed : drawing issue with Delphi 2007 - // 1.8.0.0 : New : Notes & NotesFont - // : New : C++Builder 2007 support - // : Improved : drawing down state for Transparent button - // : Improved : drawing speed - // 1.8.0.1 : Fixed : runtime WideCaption assigning causes repaint - // 1.8.1.0 : Fixed : issue with inherited forms - // 1.8.1.1 : Fixed : issue with dbl click event - // : Fixed : issue with actions & groupindex - // : Fixed : border painting issue on checked buttons in bpMiddle, bpRight position - // 1.8.1.2 : Fixed : issue with ShowCaption & WideCaption - // 1.8.1.3 : Fixed : issue with using font not installed on the system - // 1.8.1.4 : Fixed : issue with WideCaption & aaNone AntiAlias type - // 1.8.1.5 : Fixed : issue with DblClick & OnClick event - // 1.8.1.6 : Fixed : issue with AutoCheck action items for bsCheck button type - // 1.8.1.7 : Fixed : issue with shortcuts on TAdvToolBar - // : Fixed : issue with dbl click - // : Improved : dropdown button position - // 1.8.1.8 : Improved : wordwrapped text drawing for non anti aliased text - // 1.8.1.9 : Improved : spacing for blGlyphTop, blGlyphTopAdjusted setting - // 1.8.1.10: Improved : assigning images via action - // 1.8.2.0 : New : shortcut hint position : shpBelowBottomCenter - // 1.8.2.1 : Fixed : painting issue with default key handling - // 1.8.2.2 : Fixed : issue with focus border drawing - // 1.8.2.3 : Fixed : issue with spacing for glyph right / glyph right adjusted - // 1.8.3.0 : New : exposed DoDropDown method - // 1.8.3.1 : Fixed : issue with static imagelist versus actionlist imagelist use - // 1.8.3.2 : Improved : vertical alignment of Notes text & caption with word wrap - // 1.8.3.3 : Fixed : issue with accelerator key handling and wide captions - // 1.8.4.0 : Improved : adaptions for use on Windows Vista style ribbon - -type - TAdvCustomGlowButton = class; - TAdvGlowButton = class; - - TGlowState = (gsHover, gsPush, gsNone); - TAdvButtonStyle = (bsButton, bsCheck); - TAdvButtonState = (absUp, absDisabled, absDown, absDropDown, absExclusive); - TButtonLayout = (blGlyphLeft, blGlyphTop, blGlyphRight, blGlyphBottom, - blGlyphLeftAdjusted, blGlyphRightAdjusted, - blGlyphTopAdjusted, blGlyphBottomAdjusted); - - TDropDownPosition = (dpRight, dpBottom); - TDropDownDirection = (ddDown, ddRight); - TGDIPGradient = (ggRadial, ggVertical, ggDiagonalForward, ggDiagonalBackward); - - TFocusType = (ftBorder, ftHot, ftHotBorder, ftNone); - - TShortCutHintPos = (shpLeft, shpTop, shpRight, shpBottom, shpCenter, shpAuto, - shpTopLeft, shpTopRight, shpAboveTop, shpAboveTopLeft, - shpAboveTopRight, shpBottomLeft, shpBottomRight, shpBelowBottom, - shpBelowBottomLeft, shpBelowBottomRight, shpBelowBottomCenter); - - TButtonPosition = (bpStandalone, bpLeft, bpMiddle, bpRight); - - TGlowButtonState = (gsNormal, gsHot, gsDown); - - TButtonSizeState = (bsGlyph, bsLabel, bsLarge); - - TGlowButtonDrawEvent = procedure(Sender: TObject; Canvas: TCanvas; Rect: TRect; State: TGlowButtonState) of object; - TSetButtonSizeEvent = procedure(Sender: TObject; var W, H: Integer) of object; - TOnGetShortCutHintPos = procedure(Sender: TObject; ButtonSizeState: TButtonSizeState; var ShortCutHintPosition: TShortCutHintPos) of object; - - TWinCtrl = class(TWinControl) - public - procedure PaintCtrls(DC: HDC; First: TControl); - end; - -{$IFDEF DELPHI6_LVL} - TAdvGlowButtonActionLink = class(TControlActionLink) - protected - FImageIndex: Integer; - FClient: TAdvCustomGlowButton; //TAdvGlowButton; - procedure AssignClient(AClient: TObject); override; - function IsCheckedLinked: Boolean; override; - function IsGroupIndexLinked: Boolean; override; - procedure SetGroupIndex(Value: Integer); override; - procedure SetChecked(Value: Boolean); override; - function IsImageIndexLinked: Boolean; override; - procedure SetImageIndex(Value: Integer); override; - end; -{$ENDIF} - - TShortCutHintWindow = class(THintWindow) - private - FColor: TColor; - FColorTo: TColor; - procedure WMEraseBkGnd(var Message: TWMEraseBkGnd); message WM_ERASEBKGND; - protected - procedure Resize; override; - procedure Paint; override; - procedure CreateParams(var Params:TCreateParams);override; - published - property Color: TColor read FColor write FColor; - property ColorTo: TColor read FColorTo write FColorTo; - end; - - TGlowButtonAppearance = class(TPersistent) - private - FOnChange: TNotifyEvent; - FBorderColor: TColor; - FBorderColorHot: TColor; - FBorderColorDown: TColor; - FColor: TColor; - FColorTo: TColor; - FColorDown: TColor; - FColorDownTo: TColor; - FColorHot: TColor; - FColorHotTo: TColor; - FColorCheckedTo: TColor; - FBorderColorDisabled: TColor; - FBorderColorChecked: TColor; - FColorDisabled: TColor; - FColorDisabledTo: TColor; - FColorChecked: TColor; - FColorMirror: TColor; - FColorMirrorTo: TColor; - FColorMirrorHot: TColor; - FColorMirrorHotTo: TColor; - FColorMirrorDown: TColor; - FColorMirrorDownTo: TColor; - FGradientDown: TGDIPGradient; - FGradientMirror: TGDIPGradient; - FGradientMirrorHot: TGDIPGradient; - FGradient: TGDIPGradient; - FGradientMirrorDown: TGDIPGradient; - FGradientHot: TGDIPGradient; - FColorMirrorDisabledTo: TColor; - FColorMirrorDisabled: TColor; - FColorMirrorCheckedTo: TColor; - FColorMirrorChecked: TColor; - FGradientChecked: TGDIPGradient; - FGradientDisabled: TGDIPGradient; - FGradientMirrorChecked: TGDIPGradient; - FGradientMirrorDisabled: TGDIPGradient; - FSystemFont: boolean; - procedure SetSystemFont(const Value: boolean); - procedure SetBorderColor(const Value: TColor); - procedure SetBorderColorChecked(const Value: TColor); - procedure SetBorderColorDisabled(const Value: TColor); - procedure SetBorderColorDown(const Value: TColor); - procedure SetBorderColorHot(const Value: TColor); - procedure SetColor(const Value: TColor); - procedure SetColorChecked(const Value: TColor); - procedure SetColorCheckedTo(const Value: TColor); - procedure SetColorDisabled(const Value: TColor); - procedure SetColorDisabledTo(const Value: TColor); - procedure SetColorDown(const Value: TColor); - procedure SetColorDownTo(const Value: TColor); - procedure SetColorHot(const Value: TColor); - procedure SetColorHotTo(const Value: TColor); - procedure SetColorMirror(const Value: TColor); - procedure SetColorMirrorChecked(const Value: TColor); - procedure SetColorMirrorCheckedTo(const Value: TColor); - procedure SetColorMirrorDisabled(const Value: TColor); - procedure SetColorMirrorDisabledTo(const Value: TColor); - procedure SetColorMirrorDown(const Value: TColor); - procedure SetColorMirrorDownTo(const Value: TColor); - procedure SetColorMirrorHot(const Value: TColor); - procedure SetColorMirrorHotTo(const Value: TColor); - procedure SetColorMirrorTo(const Value: TColor); - procedure SetColorTo(const Value: TColor); - procedure SetGradient(const Value: TGDIPGradient); - procedure SetGradientChecked(const Value: TGDIPGradient); - procedure SetGradientDisabled(const Value: TGDIPGradient); - procedure SetGradientDown(const Value: TGDIPGradient); - procedure SetGradientHot(const Value: TGDIPGradient); - procedure SetGradientMirror(const Value: TGDIPGradient); - procedure SetGradientMirrorChecked(const Value: TGDIPGradient); - procedure SetGradientMirrorDisabled(const Value: TGDIPGradient); - procedure SetGradientMirrorDown(const Value: TGDIPGradient); - procedure SetGradientMirrorHot(const Value: TGDIPGradient); - protected - procedure Changed; - public - constructor Create; - procedure Assign(Source: TPersistent); override; - property OnChange: TNotifyEvent read FOnChange write FOnChange; - published - property BorderColor: TColor read FBorderColor write SetBorderColor default clSilver; - property BorderColorHot: TColor read FBorderColorHot write SetBorderColorHot default clBlue; - property BorderColorDown: TColor read FBorderColorDown write SetBorderColorDown default clNavy; - property BorderColorChecked: TColor read FBorderColorChecked write SetBorderColorChecked default clBlue; - property BorderColorDisabled: TColor read FBorderColorDisabled write SetBorderColorDisabled default clGray; - property Color: TColor read FColor write SetColor default clWhite; - property ColorTo: TColor read FColorTo write SetColorTo default clWhite; - property ColorChecked: TColor read FColorChecked write SetColorChecked; - property ColorCheckedTo: TColor read FColorCheckedTo write SetColorCheckedTo; - property ColorDisabled: TColor read FColorDisabled write SetColorDisabled; - property ColorDisabledTo: TColor read FColorDisabledTo write SetColorDisabledTo; - property ColorDown: TColor read FColorDown write SetColorDown; - property ColorDownTo: TColor read FColorDownTo write SetColorDownTo; - property ColorHot: TColor read FColorHot write SetColorHot; - property ColorHotTo: TColor read FColorHotTo write SetColorHotTo; - property ColorMirror: TColor read FColorMirror write SetColorMirror default clSilver; - property ColorMirrorTo: TColor read FColorMirrorTo write SetColorMirrorTo default clWhite; - property ColorMirrorHot: TColor read FColorMirrorHot write SetColorMirrorHot; - property ColorMirrorHotTo: TColor read FColorMirrorHotTo write SetColorMirrorHotTo; - property ColorMirrorDown: TColor read FColorMirrorDown write SetColorMirrorDown; - property ColorMirrorDownTo: TColor read FColorMirrorDownTo write SetColorMirrorDownTo; - property ColorMirrorChecked: TColor read FColorMirrorChecked write SetColorMirrorChecked; - property ColorMirrorCheckedTo: TColor read FColorMirrorCheckedTo write SetColorMirrorCheckedTo; - property ColorMirrorDisabled: TColor read FColorMirrorDisabled write SetColorMirrorDisabled; - property ColorMirrorDisabledTo: TColor read FColorMirrorDisabledTo write SetColorMirrorDisabledTo; - property Gradient: TGDIPGradient read FGradient write SetGradient default ggVertical; - property GradientMirror: TGDIPGradient read FGradientMirror write SetGradientMirror default ggVertical; - property GradientHot: TGDIPGradient read FGradientHot write SetGradientHot default ggRadial; - property GradientMirrorHot: TGDIPGradient read FGradientMirrorHot write SetGradientMirrorHot default ggRadial; - property GradientDown: TGDIPGradient read FGradientDown write SetGradientDown default ggRadial; - property GradientMirrorDown: TGDIPGradient read FGradientMirrorDown write SetGradientMirrorDown default ggRadial; - property GradientChecked: TGDIPGradient read FGradientChecked write SetGradientChecked default ggRadial; - property GradientMirrorChecked: TGDIPGradient read FGradientMirrorChecked write SetGradientMirrorChecked default ggVertical; - property GradientDisabled: TGDIPGradient read FGradientDisabled write SetGradientDisabled default ggRadial; - property GradientMirrorDisabled: TGDIPGradient read FGradientMirrorDisabled write SetGradientMirrorDisabled default ggRadial; - property SystemFont: boolean read FSystemFont write SetSystemFont default true; - end; - - ///

    Button with glow hover & down effect - TAdvCustomGlowButton = class(TCustomControl, ITMSStyle) - private - FActive: Boolean; - FDown: Boolean; - FLeftDown: Boolean; - FMouseDown: Boolean; - FTimer: TTimer; - FStepHover: Integer; - FStepPush: Integer; - FTimeInc: Integer; - FGlowState: TGlowState; - FImages: TImageList; - FImageIndex: TImageIndex; - FState: TAdvButtonState; - FMouseInControl: Boolean; - FMouseEnter: Boolean; - FDownChecked: Boolean; - FInitialDown: Boolean; - FDragging: Boolean; - FStyle: TAdvButtonStyle; - FGroupIndex: Integer; - FAllowAllUp: Boolean; - FTransparent: Boolean; - FLayout: TButtonLayout; - FDropDownButton: Boolean; - FDropDownSplit: Boolean; - FDropDownDirection: TDropDownDirection; - FDropDownMenu: TPopupMenu; - FOnDropDown: TNotifyEvent; - FDropDownPosition: TDropDownPosition; - FAppearance: TGlowButtonAppearance; - FDisabledImages: TImageList; - FInternalImages: TImageList; - FHotImages: TImageList; - FIPicture: TGDIPPicture; - FIDisabledPicture: TGDIPPicture; - FIHotPicture: TGDIPPicture; - FShowCaption: Boolean; - FAntiAlias: TAntiAlias; - FModalResult: TModalResult; - FDefault: boolean; - FCancel: Boolean; - FInButton: Boolean; - FBorderStyle: TBorderStyle; - FButtonPosition: TButtonPosition; - FOfficeHint: TAdvHintInfo; - FCheckLinked: Boolean; - FGroupIndexLinked: Boolean; - FFocusType: TFocusType; - FShortCutHint: TShortCutHintWindow; - FShortCutHintPos: TShortCutHintPos; - FShortCutHintText: string; - FShowDisabled: Boolean; - FOnInternalKeyDown: TKeyEvent; - FOnMouseLeave: TNotifyEvent; - FOnMouseEnter: TNotifyEvent; - FDroppedDown: Boolean; - FOverlappedText: Boolean; - FSpacing: Integer; - FAutoSize: Boolean; - FWordWrap: Boolean; - FDoAutoSize: Boolean; - FFirstPaint: Boolean; - FMarginVert: integer; - FMarginHorz: integer; - FRounded: Boolean; - FOnDrawButton: TGlowButtonDrawEvent; - FWideCaption: widestring; - FTrimming: TStringTrimming; - FRepeatTimer: TTimer; - FInitRepeatPause: Integer; - FRepeatPause: Integer; - FRepeatClick: Boolean; - FPainting: Boolean; - FOnInternalClick: TNotifyEvent; - FButtonSizeState: TButtonSizeState; - FMaxButtonSizeState: TButtonSizeState; - FOnSetButtonSize: TSetButtonSizeEvent; - FOldLayout: TButtonLayout; - FOldDropDownPosition: TDropDownPosition; - FMinButtonSizeState: TButtonSizeState; - FParentForm: TCustomForm; - FIsVista: boolean; - FNotes: TStringList; - FNotesFont: TFont; - FGotButtonClick: boolean; - FOnGetShortCutHintPos: TOnGetShortCutHintPos; - FHasFocus: boolean; - {$IFDEF DELPHI2006_LVL} - class var FStaticActionImageIndex: boolean; - {$ENDIF} - procedure SetOfficeHint(const Value: TAdvHintInfo); - procedure SetButtonPosition(const Value: TButtonPosition); - procedure SetBorderStyle(const Value: TBorderStyle); - function GetVersion: string; - procedure SetVersion(const Value: string); - procedure SetDefault(const Value: boolean); - procedure SetAntiAlias(const Value: TAntiAlias); - procedure SetShowCaption(const Value: Boolean); - procedure SetDisabledPicture(const Value: TGDIPPicture); - procedure SetHotPicture(const Value: TGDIPPicture); - procedure SetPicture(const Value: TGDIPPicture); - procedure SetTransparent(const Value: Boolean); - procedure UpdateExclusive; - procedure UpdateTracking; - procedure SetImageIndex(const Value: TImageIndex); - procedure SetImages(const Value: TImageList); - procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY; - procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR; - procedure CMFocusChanged(var Message: TCMFocusChanged); message CM_FOCUSCHANGED; - procedure WMGetDlgCode(var Message: TMessage); message WM_GETDLGCODE; - procedure CNCommand(var Message: TWMCommand); message CN_COMMAND; - procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED; - procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE; - procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER; - procedure WMSetText(var Message: TWMSetText); message WM_SETTEXT; - procedure WMEraseBkGnd(var Message: TWMEraseBkGnd); message WM_ERASEBKGND; - procedure WMPaint(var Msg: TWMPaint); message WM_PAINT; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; -{$IFNDEF TMSDOTNET} - procedure CMButtonPressed(var Message: TMessage); message CM_BUTTONPRESSED; -{$ENDIF} - procedure WMLButtonDown(var Msg:TWMLButtonDown); message WM_LBUTTONDOWN; - procedure WMLButtonUp(var Msg:TWMLButtonDown); message WM_LBUTTONUP; - procedure WMLDblClk(var Msg: TWMLButtonDblClk); message WM_LBUTTONDBLCLK; - procedure TimerProc(Sender: TObject); - procedure OnAppearanceChanged(Sender: TObject); - procedure SetDown(Value: Boolean); - procedure SetStyle(const Value: TAdvButtonStyle); - procedure SetGroupIndex(const Value: Integer); - procedure SetAllowAllUp(const Value: Boolean); - procedure SetLayout(const Value: TButtonLayout); - procedure SetDropDownButton(const Value: Boolean); - procedure PopupBtnDown; - procedure SetDropDownPosition(const Value: TDropDownPosition); - procedure SetDropDownDirection(const Value: TDropDownDirection); - procedure SetAppearance(const Value: TGlowButtonAppearance); - procedure SetDisabledImages(const Value: TImageList); - procedure PictureChanged(Sender: TObject); - procedure SetSpacing(const Value: integer); - procedure SetAutoSizeEx(const Value: boolean); - procedure SetShowDisabled(const Value: boolean); - procedure SetWordWrap(const Value: boolean); - procedure SetMarginVert(const Value: integer); - procedure SetMarginHorz(const Value: integer); - procedure SetRounded(const Value: boolean); - procedure SetTrimming(const Value: TStringTrimming); - procedure PerformResize; - function IsFontStored: Boolean; - procedure SetButtonSizeState(const Value: TButtonSizeState); - procedure SetMaxButtonSizeState(const Value: TButtonSizeState); - procedure SetMinButtonSizeState(const Value: TButtonSizeState); - procedure SetNotes(const Value: TStrings); - function GetNotes: TStrings; - procedure SetNotesFont(const Value: TFont); - procedure SetWideCaption(const Value: widestring); - {$IFDEF DELPHI6_LVL} - function ActionHasImages: boolean; - {$ENDIF} -// procedure SetCaption(const Value: string); -// function GetCaption: string; - protected - FHot: Boolean; - FDefaultPicDrawing: Boolean; - FDefaultCaptionDrawing: Boolean; - FCustomizerCreated: Boolean; - FCommandID: Integer; - procedure TimerExpired(Sender: TObject); virtual; - procedure DrawGlyphCaption; virtual; - procedure GetToolImage(bmp: TBitmap); virtual; - procedure SetDroppedDown(Value: Boolean); - procedure CreateParams(var Params:TCreateParams); override; - procedure Paint; override; - procedure Loaded; override; - procedure DoEnter; override; - procedure DoExit; override; - procedure MouseMove(Shift: TShiftState; X, Y: Integer); override; - procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; - procedure KeyDown(var Key: Word; Shift: TShiftState); override; - procedure KeyUp(var Key: Word; Shift: TShiftState); override; - procedure KeyPress(var Key: Char); override; -{$IFDEF DELPHI6_LVL} - function GetActionLinkClass: TControlActionLinkClass; override; - procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override; -{$ENDIF} - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - property GlowState: TGlowState read FGlowState write FGlowState; -{$IFDEF TMSDOTNET} - procedure ButtonPressed(Group: Integer; Button: TAdvGlowButton); -{$ENDIF} - property Down: Boolean read FDownChecked write SetDown default False; - property Style: TAdvButtonStyle read FStyle write SetStyle default bsButton; - property State: TAdvButtonState read FState write FState; - property GroupIndex: Integer read FGroupIndex write SetGroupIndex default 0; - property AllowAllUp: Boolean read FAllowAllUp write SetAllowAllUp default False; - property Layout: TButtonLayout read FLayout write SetLayout default blGlyphLeft; - property DroppedDown: Boolean read FDroppedDown; - property DropDownButton: Boolean read FDropDownButton write SetDropDownButton default False; - property DropDownDirection: TDropDownDirection read FDropDownDirection write SetDropDownDirection default ddDown; - property DropDownPosition: TDropDownPosition read FDropDownPosition write SetDropDownPosition default dpRight; - property DropDownSplit: Boolean read FDropDownSplit write FDropDownSplit default true; - property DropDownMenu: TPopupMenu read FDropDownMenu write FDropDownMenu; - property OnDropDown: TNotifyEvent read FOnDropDown write FOnDropDown; - function GetVersionNr: Integer; virtual; - function IsMenuButton: Boolean; virtual; - function CanDrawBorder: Boolean; virtual; - function CanDrawFocused: Boolean; virtual; - procedure InternalClick; - property CheckLinked: Boolean read FCheckLinked write FCheckLinked; - property GroupIndexLinked: Boolean read FGroupIndexLinked write FGroupIndexLinked; - property OnInternalKeyDown: TKeyEvent read FOnInternalKeyDown write FOnInternalKeyDown; // Used by AdvToolBar - property OnInternalClick: TNotifyEvent read FOnInternalClick write FOnInternalClick; // Used by AdvToolBar - property OnGetShortCutHintPos: TOnGetShortCutHintPos read FOnGetShortCutHintPos write FOnGetShortCutHintPos; // Used by AdvToolBar - property OverlappedText: boolean read FOverlappedText write FOverlappedText; - property DoAutoSize: boolean read FDoAutoSize write FDoAutoSize; - property ButtonSizeState: TButtonSizeState read FButtonSizeState write SetButtonSizeState; // Used by AdvToolBar - property MaxButtonSizeState: TButtonSizeState read FMaxButtonSizeState write SetMaxButtonSizeState default bsLarge; - property MinButtonSizeState: TButtonSizeState read FMinButtonSizeState write SetMinButtonSizeState default bsGlyph; - property OnSetButtonSize: TSetButtonSizeEvent read FOnSetButtonSize write FOnSetButtonSize; // Used by AdvToolBar - function GetButtonSize(BtnSizeState: TButtonSizeState): TSize; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - procedure CreateWnd; override; - procedure Click; override; - procedure DoDropDown; - property Appearance: TGlowButtonAppearance read FAppearance write SetAppearance; - procedure ShowShortCutHint; - procedure HideShortCutHint; - /// Sets the style of the component, make sure to include AdvStyleIF unit - procedure SetComponentStyle(AStyle: TTMSStyle); - property WideCaption: widestring read FWideCaption write SetWideCaption; - {$IFDEF DELPHI2006_LVL} - class property StaticActionImageIndex: boolean read FStaticActionImageIndex write FStaticActionImageIndex; - {$ENDIF} - published - property Align; - property Action; - property Anchors; - property AntiAlias: TAntiAlias read FAntiAlias write SetAntiAlias default aaClearType; - property AutoSize: boolean read FAutoSize write SetAutoSizeEx default false; - property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsSingle; - property Cancel: Boolean read FCancel write FCancel default False; - //property Caption: string read GetCaption write SetCaption; - property Caption; - property Constraints; - property Default: boolean read FDefault write SetDefault default False; - property Font stored IsFontStored; - property ImageIndex: TImageIndex read FImageIndex write SetImageIndex default -1; - property Images: TImageList read FImages write SetImages; - property DisabledImages: TImageList read FDisabledImages write SetDisabledImages; - property DisabledPicture: TGDIPPicture read FIDisabledPicture write SetDisabledPicture; - property DragMode; - property DragKind; - property FocusType: TFocusType read FFocusType write FFocusType default ftBorder; - property HotImages: TImageList read FHotImages write FHotImages; - property HotPicture: TGDIPPicture read FIHotPicture write SetHotPicture; - property MarginVert: integer read FMarginVert write SetMarginVert default 1; - property MarginHorz: integer read FMarginHorz write SetMarginHorz default 1; - property ModalResult: TModalResult read FModalResult write FModalResult default 0; - property Notes: TStrings read GetNotes write SetNotes; - property NotesFont: TFont read FNotesFont write SetNotesFont; - property OfficeHint: TAdvHintInfo read FOfficeHint write SetOfficeHint; - property ParentFont default true; - property Picture: TGDIPPicture read FIPicture write SetPicture; - property PopupMenu; - property Position: TButtonPosition read FButtonPosition write SetButtonPosition default bpStandalone; - property InitRepeatPause: Integer read FInitRepeatPause write FInitRepeatPause default 400; - property RepeatPause: Integer read FRepeatPause write FRepeatPause default 100; - property RepeatClick: boolean read FRepeatClick write FRepeatClick default false; - property Rounded: Boolean read FRounded write SetRounded default true; - property ShortCutHint: string read FShortCutHintText write FShortCutHintText; - property ShortCutHintPos: TShortCutHintPos read FShortCutHintPos write FShortCutHintPos default shpTop; - property ShowCaption: Boolean read FShowCaption write SetShowCaption default true; - property ShowDisabled: Boolean read FShowDisabled write SetShowDisabled default true; - property Spacing: Integer read FSpacing write SetSpacing default 2; - property Transparent: Boolean read FTransparent write SetTransparent default false; - property Trimming: TStringTrimming read FTrimming write SetTrimming default StringTrimmingNone; - property Version: string read GetVersion write SetVersion stored False; - property WordWrap: boolean read FWordWrap write SetWordWrap default true; - property ParentShowHint; - property ShowHint; - property TabOrder; - property TabStop; - property Visible; - property OnClick; - property OnDragDrop; - property OnDragOver; - property OnEndDock; - property OnExit; - property OnEnter; - - property OnStartDock; - property OnStartDrag; - - property OnMouseDown; - property OnMouseUp; - property OnMouseMove; - property OnKeyDown; - property OnKeyUp; - property OnKeyPress; - property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; - property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; - property OnDrawButton: TGlowButtonDrawEvent read FOnDrawButton write FOnDrawButton; - end; - - TAdvGlowButton = class(TAdvCustomGlowButton) - private - protected - public - property State; - property DroppedDown; - published - property AllowAllUp; - property Appearance; - property Down; - property Enabled; - property GroupIndex; - property Layout; - property Style; - property MaxButtonSizeState; - property MinButtonSizeState; - property DropDownButton; - property DropDownPosition; - property DropDownDirection; - property DropDownSplit; - property DropDownMenu; - property OnDropDown; - end; - - {$IFNDEF TMS_STD} - - //---- DB aware version - TDBGlowButtonType = (dbCustom, dbFirst, dbPrior, dbNext, dbLast, dbInsert, dbAppend, - dbDelete, dbEdit, dbPost, dbCancel, dbRefresh); - - TDBBDisableControl = (drBOF, drEOF, drReadonly, drNotEditing, drEditing, drEmpty, drEvent); - TDBBDisableControls = set of TDBBDisableControl; - - TBeforeActionEvent = procedure (Sender: TObject; var DoAction: Boolean) of object; - TAfterActionEvent = procedure (Sender: TObject; var ShowException: Boolean) of object; - TGetConfirmEvent = procedure (Sender: TObject; var Question: string; var Buttons: TMsgDlgButtons; var HelpCtx: Longint) of object; - TGetEnabledEvent = procedure (Sender: TObject; var Enabled: Boolean) of object; - - TDBGlowButtonDataLink = class(TDataLink) - private - FOnEditingChanged: TNotifyEvent; - FOnDataSetChanged: TNotifyEvent; - FOnActiveChanged: TNotifyEvent; - protected - procedure EditingChanged; override; - procedure DataSetChanged; override; - procedure ActiveChanged; override; - public - constructor Create; - property OnEditingChanged: TNotifyEvent - read FOnEditingChanged write FOnEditingChanged; - property OnDataSetChanged: TNotifyEvent - read FOnDataSetChanged write FOnDataSetChanged; - property OnActiveChanged: TNotifyEvent - read FOnActiveChanged write FOnActiveChanged; - end; - - TDBAdvGlowButton = class(TAdvCustomGlowButton) - private - FDataLink: TDBGlowButtonDataLink; - FAutoDisable: Boolean; - FDisableControls: TDBBDisableControls; - FOnAfterAction: TAfterActionEvent; - FOnBeforeAction: TBeforeActionEvent; - FDBButtonType: TDBGlowButtonType; - FOnGetConfirm: TGetConfirmEvent; - FOnGetEnabled: TGetEnabledEvent; - FOnEnabledChanged: TNotifyEvent; - FConfirmAction: Boolean; - FConfirmActionString: String; - FInProcUpdateEnabled: Boolean; - procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED; - procedure OnDataSetEvents(Sender: TObject); - - function GetDataSource: TDataSource; - procedure SetDataSource(const Value: TDataSource); - procedure SetDBButtonType(const Value: TDBGlowButtonType); - procedure SetConfirmActionString(const Value: String); - protected - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - procedure Loaded; override; - procedure CalcDisableReasons; - procedure DoBeforeAction(var DoAction: Boolean); virtual; - procedure DoGetQuestion(var Question: string; var Buttons: TMsgDlgButtons; var HelpCtx: Longint); virtual; - function DoConfirmAction: Boolean; virtual; - procedure DoAction; virtual; - procedure UpdateEnabled; virtual; - procedure LoadGlyph; virtual; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Click; override; - published - property Action; - property Appearance; - property Layout; - property Constraints; - property AutoDisable: Boolean read FAutoDisable write FAutoDisable; - property ConfirmAction: Boolean read FConfirmAction write FConfirmAction; - property ConfirmActionString: String read FConfirmActionString write SetConfirmActionString; - property DataSource: TDataSource read GetDataSource write SetDataSource; - property DBButtonType: TDBGlowButtonType read FDBButtonType write SetDBButtonType; - property DisableControl: TDBBDisableControls read FDisableControls write FDisableControls; - property Enabled; - - property OnBeforeAction: TBeforeActionEvent read FOnBeforeAction write FOnBeforeAction; - property OnAfterAction: TAfterActionEvent read FOnAfterAction write FOnAfterAction; - property OnGetConfirm: TGetConfirmEvent read FOnGetConfirm write FOnGetConfirm; - property OnGetEnabled: TGetEnabledEvent read FOnGetEnabled write FOnGetEnabled; - property OnEnabledChanged: TNotifyEvent read FOnEnabledChanged write FOnEnabledChanged; - end; - - {$ENDIF} - -implementation - -{$IFNDEF TMS_STD} -uses - {$IFDEF DELPHI6_LVL} - VDBConsts - {$ELSE} - DBConsts - {$ENDIF} - ; -{$ENDIF} - -type - TButtonDisplay = (bdNone, bdButton, bdDropDown); - -//------------------------------------------------------------------------------ - -procedure DrawGradient(Canvas: TCanvas; FromColor, ToColor: TColor; Steps: Integer; R: TRect; Direction: Boolean); -var - diffr, startr, endr: Integer; - diffg, startg, endg: Integer; - diffb, startb, endb: Integer; - rstepr, rstepg, rstepb, rstepw: Real; - i, stepw: Word; - -begin - if Steps = 0 then - Steps := 1; - - FromColor := ColorToRGB(FromColor); - ToColor := ColorToRGB(ToColor); - - startr := (FromColor and $0000FF); - startg := (FromColor and $00FF00) shr 8; - startb := (FromColor and $FF0000) shr 16; - endr := (ToColor and $0000FF); - endg := (ToColor and $00FF00) shr 8; - endb := (ToColor and $FF0000) shr 16; - - diffr := endr - startr; - diffg := endg - startg; - diffb := endb - startb; - - rstepr := diffr / steps; - rstepg := diffg / steps; - rstepb := diffb / steps; - - if Direction then - rstepw := (R.Right - R.Left) / Steps - else - rstepw := (R.Bottom - R.Top) / Steps; - - with Canvas do - begin - for i := 0 to steps - 1 do - begin - endr := startr + Round(rstepr * i); - endg := startg + Round(rstepg * i); - endb := startb + Round(rstepb * i); - stepw := Round(i * rstepw); - Pen.Color := endr + (endg shl 8) + (endb shl 16); - Brush.Color := Pen.Color; - if Direction then - Rectangle(R.Left + stepw, R.Top, R.Left + stepw + Round(rstepw) + 1, R.Bottom) - else - Rectangle(R.Left, R.Top + stepw, R.Right, R.Top + stepw + Round(rstepw) + 1); - end; - end; -end; - -//------------------------------------------------------------------------------ - -function BrightnessColor(Col: TColor; Brightness: integer): TColor; overload; -var - r1,g1,b1: Integer; -begin - Col := ColorToRGB(Col); - r1 := GetRValue(Col); - g1 := GetGValue(Col); - b1 := GetBValue(Col); - - if r1 = 0 then - r1 := Max(0,Brightness) - else - r1 := Round( Min(100,(100 + Brightness))/100 * r1 ); - - if g1 = 0 then - g1 := Max(0,Brightness) - else - g1 := Round( Min(100,(100 + Brightness))/100 * g1 ); - - if b1 = 0 then - b1 := Max(0,Brightness) - else - b1 := Round( Min(100,(100 + Brightness))/100 * b1 ); - - Result := RGB(r1,g1,b1); -end; - -//------------------------------------------------------------------------------ - -function BrightnessColor(Col: TColor; BR,BG,BB: integer): TColor; overload; -var - r1,g1,b1: Integer; -begin - Col := Longint(ColorToRGB(Col)); - r1 := GetRValue(Col); - g1 := GetGValue(Col); - b1 := GetBValue(Col); - - if r1 = 0 then - r1 := Max(0,BR) - else - r1 := Round( Min(100,(100 + BR))/100 * r1 ); - - if g1 = 0 then - g1 := Max(0,BG) - else - g1 := Round( Min(100,(100 + BG))/100 * g1 ); - - if b1 = 0 then - b1 := Max(0,BB) - else - b1 := Round( Min(100,(100 + BB))/100 * b1 ); - - Result := RGB(r1,g1,b1); -end; - -//------------------------------------------------------------------------------ - -function BlendColor(Col1,Col2:TColor; BlendFactor:Integer): TColor; -var - r1,g1,b1: Integer; - r2,g2,b2: Integer; - -begin - if BlendFactor >= 100 then - begin - Result := Col1; - Exit; - end; - if BlendFactor <= 0 then - begin - Result := Col2; - Exit; - end; - - Col1 := Longint(ColorToRGB(Col1)); - r1 := GetRValue(Col1); - g1 := GetGValue(Col1); - b1 := GetBValue(Col1); - - Col2 := Longint(ColorToRGB(Col2)); - r2 := GetRValue(Col2); - g2 := GetGValue(Col2); - b2 := GetBValue(Col2); - - r1 := Round( BlendFactor/100 * r1 + (1 - BlendFactor/100) * r2); - g1 := Round( BlendFactor/100 * g1 + (1 - BlendFactor/100) * g2); - b1 := Round( BlendFactor/100 * b1 + (1 - BlendFactor/100) * b2); - - Result := RGB(r1,g1,b1); -end; - - -//------------------------------------------------------------------------------ - -procedure DrawOpenRoundRectMiddle(graphics: TGPGraphics; PC: TColor; X,Y,Width,Height,Radius: integer;Hot:boolean); -var - path:TGPGraphicsPath; - gppen:TGPPen; - -begin - path := TGPGraphicsPath.Create; - - gppen := tgppen.Create(ColorToARGB(PC),1); - path.AddLine(X-1, Y + height, X + width, Y + height); - graphics.DrawPath(gppen, path); - path.Free; - - path := TGPGraphicsPath.Create; - path.AddLine(X-1, Y, X + width, Y); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(BrightnessColor(PC,-5)),1); - path.AddLine(X + Width, Y, X + width, Y + Height); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - - if hot then - begin - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(BrightnessColor(PC,-5)),1); - path.AddLine(X , Y, X , Y + Height); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - end - else - begin - path := TGPGraphicsPath.Create; - // 3D color effect - gppen := tgppen.Create(ColorToARGB(BrightnessColor(clwhite,-10)),1); - path.AddLine(X, Y + 2, X, Y + Height - 2); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - end; -end; - - -//------------------------------------------------------------------------------ - -procedure DrawOpenRoundRectLeft(graphics: TGPGraphics; PC:TColor; X,Y,Width,Height,Radius: integer); -var - path:TGPGraphicsPath; - gppen:TGPPen; -begin - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(PC),1); - path.AddLine(X + width , Y + height, X + radius, Y + height); - path.AddArc(X, Y + height - (radius*2), radius*2, radius*2, 90, 90); - path.AddLine(X, Y + height - (radius*2), X, Y + radius); - path.AddArc(X, Y, radius*2, radius*2, 180, 90); - path.AddLine(X + radius, Y, X + width, Y); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(BrightnessColor(PC,-5)),1); - path.AddLine(X + Width , Y, X + width , Y + Height); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - -end; - -procedure DrawOpenRoundRectRight(graphics: TGPGraphics; PC: TColor; X,Y,Width,Height,Radius: integer;Hot: boolean); -var - path:TGPGraphicsPath; - gppen:TGPPen; -begin - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(PC),1); - path.AddLine(X, Y, X + width - (radius *2), Y); - path.AddArc(X + width - (radius*2), Y, radius*2, radius*2, 270, 90); - path.AddLine(X + width, Y + radius, X + width, Y + height - (radius*2)); - path.AddArc(X + width - (radius*2), Y + height - (radius*2), radius*2, radius*2,0,90); - path.AddLine(X + width , Y + height, X, Y + height); - graphics.DrawPath(gppen, path); - gppen.Free; - - path.Free; - - - if hot then - begin - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(BrightnessColor(PC,-5)),1); - path.AddLine(X , Y, X , Y + Height); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - end - else - begin - path := TGPGraphicsPath.Create; - // 3D color effect - gppen := tgppen.Create(ColorToARGB(BrightnessColor(clwhite,-10)),1); - path.AddLine(X, Y + 2, X, Y + Height - 2); - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; - end; -end; - -//------------------------------------------------------------------------------ - -procedure DrawDottedRoundRect(graphics: TGPGraphics; PC: TColor; X,Y,Width,Height,Radius: integer); -var - path:TGPGraphicsPath; - gppen:TGPPen; -begin - path := TGPGraphicsPath.Create; - gppen := tgppen.Create(ColorToARGB(PC),1); - gppen.SetDashStyle(DashStyleDot); - path.AddLine(X + radius, Y, X + width - (radius*2), Y); - path.AddArc(X + width - (radius*2), Y, radius*2, radius*2, 270, 90); - path.AddLine(X + width, Y + radius, X + width, Y + height - (radius*2)); - path.AddArc(X + width - (radius*2), Y + height - (radius*2), radius*2, radius*2,0,90); - path.AddLine(X + width - (radius*2), Y + height, X + radius, Y + height); - path.AddArc(X, Y + height - (radius*2), radius*2, radius*2, 90, 90); - path.AddLine(X, Y + height - (radius*2), X, Y + radius); - path.AddArc(X, Y, radius*2, radius*2, 180, 90); - path.CloseFigure; - graphics.DrawPath(gppen, path); - gppen.Free; - path.Free; -end; - - -//------------------------------------------------------------------------------ - -procedure DrawRoundRect(graphics: TGPGraphics; PC: TColor; X,Y,Width,Height,Radius: integer); -var - path:TGPGraphicsPath; - gppen:TGPPen; - r: integer; -begin - gppen := tgppen.Create(ColorToARGB(PC),1); - - if radius = 0 then - begin - graphics.DrawRectangle(gppen, X, Y, Width, Height); - end - else - begin - r := radius * 2; - path := TGPGraphicsPath.Create; - //gppen := tgppen.Create(ColorToARGB(PC),1); - path.AddLine(X + radius, Y, X + width - r, Y); - path.AddArc(X + width - r, Y, r, r, 270, 90); - path.AddLine(X + width, Y + radius, X + width, Y + height - r); - path.AddArc(X + width - r, Y + height - r, r, r,0,90); - path.AddLine(X + width - r, Y + height, X + radius, Y + height); - path.AddArc(X, Y + height - r, r, r, 90, 90); - path.AddLine(X, Y + height - r, X, Y + radius); - path.AddArc(X, Y, r, r, 180, 90); - path.CloseFigure; - graphics.DrawPath(gppen, path); - path.Free; - end; - gppen.Free; -end; - -procedure DrawArrow(Canvas: TCanvas; ArP: TPoint; ArClr, ArShad: TColor; Down:boolean); -begin - if Down then - begin - Canvas.Pen.Color := ArClr; - Canvas.MoveTo(ArP.X, ArP.Y); - Canvas.LineTo(ArP.X + 5, ArP.Y); - Canvas.MoveTo(ArP.X + 1, ArP.Y + 1); - Canvas.LineTo(ArP.X + 4, ArP.Y + 1); - Canvas.Pixels[ArP.X + 2, ArP.Y + 2] := ArClr; - Canvas.Pixels[ArP.X, ArP.Y + 1] := ArShad; - Canvas.Pixels[ArP.X + 4, ArP.Y + 1] := ArShad; - Canvas.Pixels[ArP.X + 1, ArP.Y + 2] := ArShad; - Canvas.Pixels[ArP.X + 3, ArP.Y + 2] := ArShad; - Canvas.Pixels[ArP.X + 2, ArP.Y + 3] := ArShad; - end - else - begin - Canvas.Pen.Color := ArClr; - Canvas.MoveTo(ArP.X, ArP.Y); - Canvas.LineTo(ArP.X, ArP.Y + 5); - Canvas.MoveTo(ArP.X + 1, ArP.Y + 1); - Canvas.LineTo(ArP.X + 1, ArP.Y + 4); - Canvas.Pixels[ArP.X + 2, ArP.Y + 2] := ArClr; - Canvas.Pixels[ArP.X + 2, ArP.Y + 1] := ArShad; - Canvas.Pixels[ArP.X + 1, ArP.Y + 4] := ArShad; - Canvas.Pixels[ArP.X + 2, ArP.Y + 1] := ArShad; - Canvas.Pixels[ArP.X + 3, ArP.Y + 2] := ArShad; - Canvas.Pixels[ArP.X + 3, ArP.Y + 2] := ArShad; - end; -end; - -procedure DrawButtonBackground(Canvas: TCanvas; Graphics: TGPGraphics; R: TRect; CF,CT: TColor; Gradient: TGDIPGradient; Upper: boolean); -var - path: TGPGraphicsPath; - pthGrBrush: TGPPathGradientBrush; - linGrBrush: TGPLinearGradientBrush; - solGrBrush: TGPSolidBrush; - - w,h,w2,h2: Integer; - colors : array[0..0] of TGPColor; - count: Integer; - -begin - w := r.Right - r.Left; - h := r.Bottom - r.Top; - - h2 := h div 2; - w2 := w div 2; - - { - // draw background - if Upper then - Canvas.Brush.Color := CF - else - Canvas.Brush.Color := CT; - Canvas.FillRect(rect(r.Left , r.Top, r.Right , r.Bottom)); - } - - if Upper then - solGrBrush := TGPSolidBrush.Create(ColorToARGB(CF)) - else - solGrBrush := TGPSolidBrush.Create(ColorToARGB(CT)); - - Graphics.FillRectangle(solGrBrush, MakeRect(r.Left , r.Top, r.Right , r.Bottom)); - - solGrBrush.Free; - - // Create a path that consists of a single ellipse. - path := TGPGraphicsPath.Create; - - if Upper then // take borders in account - path.AddEllipse(r.Left, r.Top - h2 + 2, r.Right , r.Bottom) - else - path.AddEllipse(r.Left, r.Top, r.Right , r.Bottom); - - pthGrBrush := nil; - linGrBrush := nil; - - case Gradient of - ggRadial: pthGrBrush := TGPPathGradientBrush.Create(path); - ggVertical: linGrBrush := TGPLinearGradientBrush.Create(MakeRect(r.Left,r.Top,w,h),ColorToARGB(CF),ColorToARGB(CT), LinearGradientModeVertical); - ggDiagonalForward: linGrBrush := TGPLinearGradientBrush.Create(MakeRect(r.Left,r.Top,w,h),ColorToARGB(CF),ColorToARGB(CT), LinearGradientModeForwardDiagonal); - ggDiagonalBackward: linGrBrush := TGPLinearGradientBrush.Create(MakeRect(r.Left,r.Top,w,h),ColorToARGB(CF),ColorToARGB(CT), LinearGradientModeBackwardDiagonal); - end; - - if Gradient = ggRadial then - begin - if Upper then - pthGrBrush.SetCenterPoint(MakePoint(r.Left + w2, r.Top)) - else - pthGrBrush.SetCenterPoint(MakePoint(r.Left + w2, r.Bottom)); - - // Set the color at the center point to blue. - if Upper then - begin - pthGrBrush.SetCenterColor(ColorToARGB(CT)); - colors[0] := ColorToARGB(CF); - end - else - begin - pthGrBrush.SetCenterColor(ColorToARGB(CF)); - colors[0] := ColorToARGB(CT); - end; - - count := 1; - pthGrBrush.SetSurroundColors(@colors, count); - graphics.FillRectangle(pthGrBrush, r.Left, r.Top, r.Right, r.Bottom); - pthGrBrush.Free; - end - else - begin - graphics.FillRectangle(linGrBrush, r.Left, r.Top, r.Right, r.Bottom); - linGrBrush.Free; - end; - - path.Free; -end; - -//------------------------------------------------------------------------------ - -procedure DrawStretchPicture(graphics : TGPGraphics; Canvas: TCanvas; R: TRect; Pic: TGDIPPicture); -var - Img: TGPImage; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - ms: TMemoryStream; - bmp: TBitmap; -begin - ms := TMemoryStream.Create; - Pic.SaveToStream(ms); - hGlobal := GlobalAlloc(GMEM_MOVEABLE, ms.Size); - if (hGlobal = 0) then - begin - ms.Free; - raise Exception.Create('Could not allocate memory for image'); - end; - - try - pstm := nil; - - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(ms.Memory, ms.Size,@pcbWrite); - - Img := TGPImage.Create(pstm); - if (Img.GetFormat = ifBMP) then - begin // use this alternative for easy bitmap auto transparent drawing - bmp := TBitmap.Create; - ms.Position := 0; - bmp.LoadFromStream(ms); - bmp.TransparentMode := tmAuto; - bmp.Transparent := true; - Canvas.StretchDraw(R, bmp); - bmp.Free; - end - else - begin - graphics.DrawImageRect(Img, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top); - end; - - Img.Free; - ms.Free; - finally - GlobalFree(hGlobal); - end; -end; - -//------------------------------------------------------------------------------ - -procedure DrawGDIPImageFromImageList(graphics: TGPGraphics; P: TPoint; Images: TImageList; ImageIndex: Integer; Enable: Boolean); -var - Img: TGPImage; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - ms: TMemoryStream; - ImageAttributes: TGPImageAttributes; - r, g, b: byte; - GPBmp: TGPBitmap; - Aclr: TGPColor; - bmp: TBitmap; -begin - if not Assigned(Images) or (ImageIndex < 0) or not Assigned(graphics) then - Exit; - - bmp := TBitmap.Create; - bmp.Width := Images.Width; - bmp.Height := Images.Height; - bmp.Canvas.Brush.Color := clFuchsia; - bmp.Canvas.FillRect(Rect(0, 0, bmp.Width, bmp.Height)); - Images.Draw(bmp.Canvas, 0, 0, ImageIndex, Enable); - - ms := TMemoryStream.Create; - bmp.SaveToStream(ms); - hGlobal := GlobalAlloc(GMEM_MOVEABLE, ms.Size); - if (hGlobal = 0) then - begin - ms.Free; - raise Exception.Create('Could not allocate memory for image'); - end; - - try - pstm := nil; - - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(ms.Memory, ms.Size,@pcbWrite); - - Img := TGPImage.Create(pstm); - - GPBmp := TGPBitmap.Create(pstm); - GPBmp.GetPixel(0, 0, AClr); - GPBmp.Free; - - r := ADVGDIP.GetRed(AClr); - g := ADVGDIP.GetGreen(AClr); - b := ADVGDIP.GetBlue(AClr); - - ImageAttributes := TGPImageAttributes.Create; - ImageAttributes.SetColorKey(MakeColor(r, g, b), MakeColor(r, g, b), ColorAdjustTypeDefault); - graphics.DrawImage(Img, MakeRect(P.X, P.Y, Img.GetWidth, Img.Getheight), // destination rectangle - 0, 0, // upper-left corner of source rectangle - Img.GetWidth, // width of source rectangle - Img.GetHeight, // height of source rectangle - UnitPixel, - ImageAttributes); - - ImageAttributes.Free; - Img.Free; - ms.Free; - finally - GlobalFree(hGlobal); - end; -end; - -//------------------------------------------------------------------------------ - -procedure DrawGDIPImage(graphics: TGPGraphics; P: TPoint; Pic: TGDIPPicture); -var - Img: TGPImage; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - ms: TMemoryStream; - ImageAttributes: TGPImageAttributes; - r, g, b: byte; - GPBmp: TGPBitmap; - Aclr: TGPColor; -begin - ms := TMemoryStream.Create; - pic.SaveToStream(ms); - hGlobal := GlobalAlloc(GMEM_MOVEABLE, ms.Size); - if (hGlobal = 0) then - begin - ms.Free; - raise Exception.Create('Could not allocate memory for image'); - end; - - try - pstm := nil; - - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(ms.Memory, ms.Size,@pcbWrite); - - Img := TGPImage.Create(pstm); - - GPBmp := TGPBitmap.Create(pstm); - GPBmp.GetPixel(0, 0, AClr); - GPBmp.Free; - - r := ADVGDIP.GetRed(AClr); - g := ADVGDIP.GetGreen(AClr); - b := ADVGDIP.GetBlue(AClr); - - ImageAttributes := TGPImageAttributes.Create; - ImageAttributes.SetColorKey(MakeColor(r, g, b), MakeColor(r, g, b), ColorAdjustTypeDefault); - graphics.DrawImage(Img, MakeRect(P.X, P.Y, Img.GetWidth, Img.Getheight), // destination rectangle - 0, 0, // upper-left corner of source rectangle - Img.GetWidth, // width of source rectangle - Img.GetHeight, // height of source rectangle - UnitPixel, - ImageAttributes); - - ImageAttributes.Free; - Img.Free; - ms.Free; - finally - GlobalFree(hGlobal); - end; -end; - -//------------------------------------------------------------------------------ - -function DrawVistaButton(Canvas: TCanvas; r: TRect; CFU, CTU, CFB, CTB, PC: TColor; - GradientU, GradientB: TGDIPGradient; Caption:string; WideCaption: widestring; DrawCaption: Boolean; AFont: TFont; - Images: TImageList; ImageIndex: Integer; EnabledImage: Boolean; Layout: TButtonLayout; - DropDownButton: Boolean; DrawDwLine: Boolean; Enabled: Boolean; Focus: Boolean; DropDownPos: TDropDownPosition; - Picture: TGDIPPicture; ForcePicSize: TSize; AntiAlias: TAntiAlias; DrawPic: Boolean; Glyph: TBitmap; ButtonDisplay: TButtonDisplay; Transparent, Hot: boolean; - ButtonPosition: TButtonPosition; DropDownSplit, DrawBorder, OverlapText, WordWrap, AutoSize, Rounded, DropDir: Boolean; Spacing: integer; - Trimming: TStringTrimming;Notes: TStringList; NotesFont: TFont;Checked: boolean): TSize; -var - graphics : TGPGraphics; - path: TGPGraphicsPath; - pthGrBrush: TGPPathGradientBrush; - linGrBrush: TGPLinearGradientBrush; - count: Integer; - w,h,h2,h2d: Integer; - colors : array[0..0] of TGPColor; - fontFamily,nfontFamily: TGPFontFamily; - font,nfont: TGPFont; - rectf: TGPRectF; - stringFormat: TGPStringFormat; - solidBrush,nsolidBrush: TGPSolidBrush; - x1,y1,x2,y2: single; - fs,nfs: integer; - sizerect: TGPRectF; - noterect: TGPRectF; - ImgX, ImgY, ImgW, ImgH: Integer; - BtnR, DwR: TRect; - BR1,BR2: TRect; - DR1,DR2: TRect; - AP: TPoint; - szRect: TRect; - tm: TTextMetric; - ttf: boolean; - Radius: integer; - uformat,wwformat: Cardinal; - tdrect: TRect; - th, px, py: integer; - notesrect: TRect; - ydropd: integer; - -begin - BtnR := R; - - if Rounded then - Radius := 3 - else - Radius := 0; - - if DropDownPos = dpRight then - begin - DwR := Rect(BtnR.Right - DropDownSectWidth, BtnR.Top, BtnR.Right, BtnR.Bottom); - if DropDownButton then - BtnR.Right := DwR.Left; - end - else // DropDownPos = doBottom - begin - DwR := Rect(BtnR.Left, BtnR.Bottom - DropDownSectWidth, BtnR.Right, BtnR.Bottom); - if DropDownButton then - BtnR.Bottom := DwR.Top; - end; - - if (Notes.Text <> '') then - Layout := blGlyphLeftAdjusted; - - w := r.Right - r.Left; - h := r.Bottom - r.Top; - - h2 := h div 2; - - // Create GDI+ canvas - graphics := TGPGraphics.Create(Canvas.Handle); - - if not Transparent then - begin - - if DropDownButton and (DrawDwLine) and DropDownSplit then - begin - if DropDownPos = dpRight then - begin - DR1 := Rect(r.Right - 12, r.Top + h2 - 1, r.Right, r.Bottom); - DR2 := Rect(r.Right - 12, r.Top, r.Right, r.Bottom - h2); - BR1 := Rect(r.Left, r.Top + h2 - 1, r.Right - 12, r.Bottom); - BR2 := Rect(r.Left, r.Top, r.Right - 12, r.Bottom - h2); - end - else - begin - DR1 := Rect(r.Left, r.Bottom - 6, r.Right, r.Bottom); - DR2 := Rect(r.Left, r.Bottom - 12, r.Right, r.Bottom - 6); - - DR2 := Rect(r.Left, r.Bottom - 12, r.Right, r.Bottom); - - h2d := (r.Bottom - r.Top - 12) div 2; - BR1 := Rect(r.Left, r.Top + h2d - 1, r.Right, r.Bottom - 12); - BR2 := Rect(r.Left, r.Top, r.Right, r.Bottom - 12 - h2d); - end; - - if ButtonDisplay = bdDropDown then - begin - DrawButtonBackground(Canvas, Graphics, BR1, CTB, CFB, GradientB, False); - DrawButtonBackground(Canvas, Graphics, BR2, CFU, CTU, GradientU, True); - - DrawButtonBackground(Canvas, Graphics, DR2, BrightnessColor(CFU,-10), BrightnessColor(CTU,-10), GradientU, True); - if (DropDownPos = dpRight) then - DrawButtonBackground(Canvas, Graphics, DR1, BrightnessColor(CTB,-10), BrightnessColor(CFB,-10), GradientB, False); - end - else - begin - DrawButtonBackground(Canvas, Graphics, BR1, BrightnessColor(CTB,-10), BrightnessColor(CFB,-10), GradientB, False); - DrawButtonBackground(Canvas, Graphics, BR2, BrightnessColor(CFU,-10), BrightnessColor(CTU,-10), GradientU, True); - - DrawButtonBackground(Canvas, Graphics, DR2, CFU, CTU, ggRadial, True); - if DropDownPos = dpRight then - DrawButtonBackground(Canvas, Graphics, DR1, CTB, CFB, GradientB, False); - end; - end - else - begin - DrawButtonBackground(Canvas, Graphics, Rect(r.Left, r.Top + h2 - 1, r.Right, r.Bottom), CTB, CFB, GradientB, False); - DrawButtonBackground(Canvas, Graphics, Rect(r.Left, r.Top, r.Right, r.Bottom - h2), CFU, CTU, GradientU, True); - end; - end; - - graphics.SetSmoothingMode(SmoothingModeAntiAlias); - - if not Transparent and DrawBorder then - begin - case ButtonPosition of - bpStandalone: DrawRoundRect(Graphics, PC, r.Left, r.Top, r.Right - 1, r.Bottom - 1, Radius); - bpLeft: DrawOpenRoundRectLeft(Graphics, PC, r.Left, r.Top, r.Right - 1, r.Bottom - 1, Radius); - bpRight: DrawOpenRoundRectRight(Graphics, PC, r.Left, r.Top, r.Right - 1, r.Bottom - 1, Radius, Hot or Checked); - bpMiddle: DrawOpenRoundRectMiddle(Graphics, PC, r.Left, r.Top, r.Right - 1, r.Bottom - 1, Radius, Hot or Checked); - end; - end; - - if Focus then // Draw focus line - begin - graphics.SetSmoothingMode(SmoothingModeAntiAlias); - DrawRoundRect(graphics, $E4AD89,r.Left + 1,r.Top + 1, r.Right - 3, r.Bottom - 3, Radius); - graphics.SetSmoothingMode(SmoothingModeAntiAlias); - DrawDottedRoundRect(graphics, clGray,r.Left + 2,r.Top + 2, r.Right - 5, r.Bottom - 5, Radius); - end; - - ImgX := 0; - ImgY := 0; - ImgH := 0; - ImgW := 0; - - fontFamily := TGPFontFamily.Create(AFont.Name); - - if (fontFamily.Status in [FontFamilyNotFound, FontStyleNotFound]) then - begin - fontFamily.Free; - fontFamily := TGPFontFamily.Create('Arial'); - end; - - nfontFamily := TGPFontFamily.Create(NotesFont.Name); - - if (nfontFamily.Status in [FontFamilyNotFound, FontStyleNotFound]) then - begin - nfontFamily.Free; - nfontFamily := TGPFontFamily.Create('Arial'); - end; - - - fs := 0; - if (fsBold in AFont.Style) then - fs := fs + 1; - if (fsItalic in AFont.Style) then - fs := fs + 2; - if (fsUnderline in AFont.Style) then - fs := fs + 4; - - nfs := 0; - if (fsBold in NotesFont.Style) then - nfs := nfs + 1; - if (fsItalic in NotesFont.Style) then - nfs := nfs + 2; - if (fsUnderline in NotesFont.Style) then - nfs := nfs + 4; - - if Assigned(Glyph) and not Glyph.Empty and (Glyph.Width > 1) and (Glyph.Height > 1) then - begin - ImgW := Glyph.Width; - ImgH := Glyph.Height; - - if (ForcePicSize.CX > 0) and (ForcePicSize.CY > 0) then - begin - ImgW := ForcePicSize.CX; - ImgH := ForcePicSize.CY; - end; - end - else if Assigned(Picture) and not Picture.Empty then - begin - Picture.GetImageSizes; - ImgW := Picture.Width; - ImgH := Picture.Height; - if (ForcePicSize.CX > 0) and (ForcePicSize.CY > 0) then - begin - ImgW := ForcePicSize.CX; - ImgH := ForcePicSize.CY; - end; - end - else - begin - if (ImageIndex > -1) and Assigned(Images) then - begin - ImgW := Images.Width; - ImgH := Images.Height; - {end - else if Assigned(ToolImage) and not (ToolImage.Empty) and (ToolImage.Width > 1) then - begin - ImgW := ToolImage.Width; - ImgH := ToolImage.Height; } - end; - end; - - if DrawCaption and ((Caption <> '') or (WideCaption <> '')) then - begin - if (ImgW > 0) and (Layout in [blGlyphLeft, blGlyphLeftAdjusted, blGlyphRight, blGlyphRightAdjusted])then - ImgW := ImgW + Spacing; - if (ImgH > 0) and (Layout in [blGlyphTop, blGlyphTopAdjusted])then - ImgH := ImgH + Spacing; - end; - - Result.cx := ImgW; - Result.cy := ImgH; - - if (Caption <> '') or (WideCaption <> '') then - begin - if pos('\n',caption) > 0 then - begin - if (ForcePicSize.cx > 0) and (ForcePicSize.cy > 0) then - Caption := StringReplace(caption, '\n', ' ', [rfReplaceAll, rfIgnoreCase]) - else - Caption := StringReplace(caption, '\n', #10#13, [rfReplaceAll, rfIgnoreCase]); - end; - - Canvas.Font.Name := AFont.Name; - - ttf := false; - - GetTextMetrics(Canvas.Handle, tm); - - if ((tm.tmPitchAndFamily AND TMPF_VECTOR) = TMPF_VECTOR) then - begin - if not ((tm.tmPitchAndFamily AND TMPF_DEVICE) = TMPF_DEVICE) then - begin - ttf := true; - end - end; - - if Screen.Fonts.IndexOf(AFont.Name) = -1 then - ttf := false; - - font := TGPFont.Create(fontFamily, AFont.Size , fs, UnitPoint); - - w := BtnR.Right - BtnR.Left; - h := BtnR.Bottom - BtnR.Top; - - x1 := r.Left; - y1 := r.Top; - x2 := w; - y2 := h; - - if AutoSize then - begin - x2 := 4096; - y2 := 4096; - end; - - rectf := MakeRect(x1,y1,x2,y2); - - if WordWrap then - stringFormat := TGPStringFormat.Create(0) - else - stringFormat := TGPStringFormat.Create(GDIP_NOWRAP); - - if Enabled then - solidBrush := TGPSolidBrush.Create(ColorToARGB(AFont.Color)) - else - solidBrush := TGPSolidBrush.Create(ColorToARGB(clGray)); - - // Center-justify each line of text. - // stringFormat.SetAlignment(StringAlignmentCenter); - case Layout of - blGlyphLeftAdjusted: stringFormat.SetAlignment(StringAlignmentNear); - blGlyphRightAdjusted: stringFormat.SetAlignment(StringAlignmentFar); - else stringFormat.SetAlignment(StringAlignmentCenter); - end; - - // Center the block of text (top to bottom) in the rectangle. - - case Layout of - blGlyphTopAdjusted: stringFormat.SetLineAlignment(StringAlignmentNear); - blGlyphBottomAdjusted: stringFormat.SetLineAlignment(StringAlignmentFar); - else stringFormat.SetLineAlignment(StringAlignmentCenter); - end; - - stringFormat.SetHotkeyPrefix(HotkeyPrefixShow); - stringFormat.SetTrimming(Trimming); - - case AntiAlias of - aaClearType:graphics.SetTextRenderingHint(TextRenderingHintClearTypeGridFit); - aaAntiAlias:graphics.SetTextRenderingHint(TextRenderingHintAntiAlias); - end; - - if (AntiAlias = aaNone) or not ttf then - begin - Canvas.Font.Assign(AFont); - szRect.Left := round(rectf.X); - szRect.Top := round(rectf.Y); - - szRect.Right := szRect.Left + 2; - - uformat := DT_CALCRECT or DT_LEFT; - - if WordWrap then - begin - szRect.Right := szRect.Left + 4096; - uformat := uformat + DT_WORDBREAK - end - else - uformat := uformat + DT_SINGLELINE; - - if Caption <> '' then - szRect.Bottom := DrawText(Canvas.Handle,PChar(Caption),Length(Caption), szrect, uformat) - else - szRect.Bottom := DrawTextW(Canvas.Handle,PWideChar(WideCaption),Length(WideCaption), szrect, uformat); - - ydropd := (round(rectf.Height) + szRect.Bottom) div 2; - - sizeRect.Width := szRect.Right - szRect.Left; - sizeRect.Height := szRect.Bottom - szRect.Top; - - notesRect := Rect(0,0,0,0); - - if Notes.Text <> '' then - begin - Canvas.Font.Assign(NotesFont); - notesRect.Left := round(rectf.X); - notesRect.Top := round(rectf.Y); - notesRect.Right := notesRect.Left + 2; - notesRect.Bottom := DrawText(Canvas.Handle,PChar(Notes.Text),Length(Notes.Text), notesRect, DT_CALCRECT or DT_LEFT or DT_WORDBREAK); - - noteRect.Width := notesRect.Right - notesRect.Left; - noteRect.Height := notesRect.Bottom - notesRect.Top; - end; - - case Layout of - blGlyphLeft: - begin - sizeRect.X := (w - (szRect.Right - szRect.Left) - ImgW) div 2; - sizeRect.Y := szRect.Top; - Result.cx := ImgW + Spacing + round(sizerect.Width); - Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)); - end; - blGlyphLeftAdjusted: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := ImgW + Spacing + Max(round(sizerect.Width),round(noteRect.Width)); - Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)+round(noteRect.Height)); - end; - blGlyphTop: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := (h - (szRect.Bottom - szRect.Top) - ImgH - 2) div 2; - Result.cx := Max(ImgW + Spacing, Spacing + round(sizerect.Width)); - Result.cy := ImgH + Spacing + round(sizerect.Height); - end; - blGlyphTopAdjusted: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := Max(ImgW + Spacing, Spacing + round(sizerect.Width)); - Result.cy := ImgH + Spacing + round(sizerect.Height); - end; - blGlyphRight: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := ImgW + Spacing + round(sizerect.Width); - Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)); - end; - blGlyphRightAdjusted: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := ImgW + Spacing + round(sizerect.Width); - Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)); - end; - blGlyphBottom: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := Max(ImgW + Spacing, Spacing + round(sizerect.Width)); - Result.cy := ImgH + Spacing + round(sizerect.Height); - end; - blGlyphBottomAdjusted: - begin - sizeRect.X := szRect.Left; - sizeRect.Y := szRect.Top; - Result.cx := Max(ImgW + Spacing, Spacing + round(sizerect.Width)); - Result.cy := ImgH + Spacing + round(sizerect.Height); - end; - end; - //Result.cx := ImgW + Spacing + round(sizerect.Width); - //Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)); - end - else - begin - if Caption <> '' then - graphics.MeasureString(Caption, Length(Caption), font, rectf, stringFormat, sizeRect) - else - graphics.MeasureString(WideCaption, Length(WideCaption), font, rectf, stringFormat, sizeRect); - - ydropd := round(sizerect.y + sizerect.height); - - noteRect := MakeRect(0,0,0,0); - - rectf.Width := rectf.Width - ImgW - Spacing; - - if Notes.Text <> '' then - begin - nfont := TGPFont.Create(nfontFamily, NotesFont.Size , nfs, UnitPoint); - graphics.MeasureString(Notes.Text, Length(Notes.Text), nfont, rectf, stringFormat, noteRect); - nfont.Free; - end; - - case Layout of - blGlyphLeft, blGlyphLeftAdjusted, blGlyphRight, blGlyphRightAdjusted: - begin - Result.cx := ImgW + Spacing + Max(round(sizerect.Width), round(noteRect.Width)); - Result.cy := Max(ImgH + Spacing, Spacing + round(sizerect.Height)+round(noteRect.Height)); - end; - blGlyphTop, blGlyphTopAdjusted, blGlyphBottom, blGlyphBottomAdjusted: - begin - Result.cx := Max(ImgW + Spacing, Spacing + round(sizerect.Width)); - Result.cy := ImgH + Spacing + round(sizerect.Height); - end; - end; - end; - - if not AutoSize then - begin - if not WordWrap then - begin - x2 := w; - y2 := h; - rectf := MakeRect(x1,y1,x2,y2); - end; - -// if (ImgW > 0) then - begin - case Layout of - blGlyphLeft: - begin - if (AntiAlias = aaNone) or not ttf then - begin - x1 := sizeRect.X + ImgW; - x2 := w - 2 - ImgW; - ImgX := round(sizeRect.X); - end - else - begin - x1 := r.Left + 2 + ImgW; - x2 := w - 2 - ImgW; - ImgX := round(sizerect.X - ImgW div 2); - end; - if ImgX < 2 then ImgX := 2; - ImgY := r.Top + Max(0, (h - ImgH) div 2); - end; - blGlyphLeftAdjusted: - begin - x1 := r.Left + 2 + ImgW; - x2 := w - 2 - ImgW; - - ImgX := round(sizerect.X - ImgW div 2); - if ImgX < 2 then ImgX := 2; - ImgY := r.Top + Max(0, (h - ImgH) div 2); - end; - blGlyphTop: - begin - if (AntiAlias = aaNone) or not ttf then - begin - y1 := r.Top + ImgH; - // y1 := sizeRect.Y + ImgH; - y2 := h - 2 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); -// ImgY := round(sizeRect.Y); - ImgY := round(y2 - sizerect.Height); - ImgY := Max(0, ImgY div 2); - ImgY := round(y1) - ImgH + ImgY - 4; - end - else - begin - y1 := r.Top + ImgH; - y2 := h - 2 - ImgH; - ImgX := r.Left + Max(0, (w - ImgW) div 2); - ImgY := round(y2 - sizerect.Height); - ImgY := Max(0, ImgY div 2); - ImgY := round(y1) - ImgH + ImgY; - end; - if ImgY < 2 then ImgY := 2; - end; - blGlyphTopAdjusted: - begin - y1 := r.Top{ + 2} + ImgH; - y2 := h - 2 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); - if Layout = blGlyphTopAdjusted then - ImgY := 0 //force to top margin - else - ImgY := round(y2 - sizerect.Height); - ImgY := Max(0, ImgY div 2); - ImgY := round(y1) - ImgH + ImgY; //round(sizerect.Height) - ImgY - 4; - if ImgY < 2 then ImgY := 2; - end; - blGlyphRight, blGlyphRightAdjusted: - begin - x1 := 2; - x2 := w - 4 - ImgW; - if Layout = blGlyphRightAdjusted then - ImgX := w - ImgW - 2 - else - begin - - ImgX := round(X2 - sizerect.width); - ImgX := Max(0, ImgX div 2); - ImgX := ImgX + round(sizerect.width) + 4; - if ImgX > (w - ImgW) then - ImgX := w - ImgW - 2; - end; - ImgY := r.Top + Max(0, (h - ImgH) div 2); - ImgX := ImgX + spacing; - end; - blGlyphBottom: - begin - if (AntiAlias = aaNone) or not ttf then - begin - y1 := 2; - y2 := h - 2 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); - ImgY := round(y2 - sizerect.Height); - ImgY := Max(0, ImgY div 2); - ImgY := round(sizerect.Height + 5) + ImgY; - if ImgY > (h - ImgH) then ImgY := h - ImgH - 2; - end - else - begin - y1 := 2; - y2 := h - 2 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); - ImgY := round(y2 - sizerect.Height); - ImgY := Max(0, ImgY div 2); - ImgY := round(sizerect.Height + 2) + ImgY; - if ImgY > (h - ImgH) then ImgY := h - ImgH - 2; - end; - end; - blGlyphBottomAdjusted: - begin - if (AntiAlias = aaNone) or not ttf then - begin - y1 := 2; - y2 := h - 4 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); - ImgY := (h - ImgH - 2); - end - else - begin - y1 := 2; - y2 := h - 2 - ImgH; - - ImgX := r.Left + Max(0, (w - ImgW) div 2); - if Layout = blGlyphBottomAdjusted then - ImgY := h; //force to bottom margin - - ImgY := Max(0, ImgY div 2); - ImgY := round(sizerect.Height + 2) + ImgY; - if ImgY > (h - ImgH) then ImgY := h - ImgH - 2; - end; - end; - end; - end; - - if OverlapText then - rectf := MakeRect(r.Left, r.Top, r.Right, r.Bottom) - else - rectf := MakeRect(x1, y1, x2, y2); - - if DrawPic and OverlapText then - begin - if Assigned(Glyph) and not Glyph.Empty and (Glyph.Width > 1) and (Glyph.Height > 1) then - Canvas.Draw(ImgX, ImgY, Glyph); - end; - - if DrawCaption then - begin - if (AntiAlias = aaNone) or not ttf then - begin - szRect.Left := round(rectf.X); - szRect.Top := round(rectf.Y); - szRect.Right := szRect.Left + round(rectf.Width); - szRect.Bottom := szRect.Top + round(rectf.Height); - - Canvas.Brush.Style := bsClear; - if WordWrap then - wwformat := DT_WORDBREAK - else - wwformat := DT_SINGLELINE; - - uformat := DT_VCENTER or wwformat; - - case Layout of - blGlyphLeft: - begin - uformat := DT_VCENTER or wwformat or DT_LEFT; - szrect.Left := szrect.Left; - end; - blGlyphLeftAdjusted: - begin - uformat := DT_VCENTER or wwformat or DT_LEFT; - szrect.Left := szrect.Left + 2; - - if Notes.Text <> '' then - begin - uformat := uformat AND NOT DT_VCENTER; - szrect.Top := ((szRect.Bottom - szRect.Top) - round(sizeRect.Height) - round(noteRect.Height)) div 2; - end; - - end; - blGlyphTop: - begin - uformat := DT_TOP or wwformat or DT_CENTER or DT_VCENTER; - end; - blGlyphTopAdjusted: uformat := DT_TOP or wwformat or DT_CENTER; - blGlyphRight: uformat := DT_VCENTER or wwformat or DT_CENTER; - blGlyphRightAdjusted: uformat := DT_VCENTER or wwformat or DT_RIGHT; - blGlyphBottom: uformat := DT_VCENTER or wwformat or DT_CENTER; - blGlyphBottomAdjusted: uformat := DT_BOTTOM or wwformat or DT_CENTER; - end; - - tdrect := szrect; - - Canvas.Font.Assign(AFont); - - if not Enabled then - Canvas.Font.Color := clGray; - - if WordWrap then - begin - if Caption <> '' then - th := DrawText(Canvas.Handle,PChar(Caption),Length(Caption), szrect, uformat or DT_CALCRECT) - else - th := DrawTextW(Canvas.Handle,PWideChar(WideCaption),Length(WideCaption), szrect, uformat or DT_CALCRECT); - - case Layout of - blGlyphTopAdjusted: - begin - // do nothing - end; - blGlyphTop: - begin - tdrect.Top := ImgY + ImgH; - tdrect.Top := tdrect.Top + (tdrect.Bottom - tdrect.Top - th) div 2; - end; - blGlyphBottomAdjusted: - begin - tdrect.Top := tdrect.Bottom - th; - end; - else - begin - tdrect.Top := (tdrect.Bottom - tdrect.Top - th) div 2; - end; - end; - end; - - if Caption <> '' then - DrawText(Canvas.Handle,PChar(Caption),Length(Caption), tdrect, uformat) - else - DrawTextW(Canvas.Handle,PWideChar(WideCaption),Length(WideCaption), tdrect, uformat); - - if (Notes.Text <> '') then - begin - tdRect.Top := tdRect.Top + round(sizeRect.Height); - tdRect.Bottom := tdRect.Top + round(noteRect.Height); - Canvas.Font.Assign(NotesFont); - DrawText(Canvas.Handle,PChar(Notes.Text),Length(Notes.Text), tdrect, uformat); - end; - end - else - begin - if (Notes.Text <> '') then - begin - stringFormat.SetLineAlignment(StringAlignmentNear); - rectf.Y := rectf.Y + ((rectf.Height) - round(sizeRect.Height) - round(noteRect.Height)) / 2; - end; - - if (Caption <> '') then - graphics.DrawString(Caption, Length(Caption), font, rectf, stringFormat, solidBrush) - else - graphics.DrawString(WideCaption, Length(WideCaption), font, rectf, stringFormat, solidBrush); - - if (Notes.Text <> '') then - begin - rectf.Y := rectf.Y + round(sizeRect.Height); - nfont := TGPFont.Create(nfontFamily, NotesFont.Size , nfs, UnitPoint); - nsolidBrush := TGPSolidBrush.Create(ColorToARGB(NotesFont.Color)); - graphics.DrawString(Notes.Text, Length(Notes.Text), nfont, rectf, stringFormat, nsolidBrush); - nsolidBrush.Free; - nfont.Free; - end - end; - end; - end; - - stringformat.Free; - solidBrush.Free; - font.Free; - end; - - - fontFamily.Free; - nfontFamily.Free; - - if not AutoSize then - begin - if DropDownButton then - begin - if DropDownPos = dpRight then - w := w - 8 - else - h := h - 8; - end; - - if DrawPic and not OverlapText then - begin - if Assigned(Glyph) and not Glyph.Empty and (Glyph.Width > 1) and (Glyph.Height > 1) then - begin - if (ForcePicSize.CX > 0) and (ForcePicSize.CY > 0) then - begin - Glyph.Transparent := True; - if (Caption = '') and (WideCaption = '') then - begin - px := r.Left + Max(0, (w - ImgW) div 2); - py := r.Top + Max(0, (h - ImgH) div 2); - Canvas.StretchDraw(Rect(px, py, px + ForcePicSize.CX, py + ForcePicSize.CY), Glyph); - end - else - Canvas.StretchDraw(Rect(ImgX, ImgY, ImgX + ForcePicSize.CX, ImgY + ForcePicSize.CY), Glyph); - end - else - begin - if (Caption = '') and (WideCaption = '') then - Canvas.Draw(r.Left + Max(0, (w - ImgW) div 2), r.Top + Max(0, (h - ImgH) div 2), Glyph) - else - Canvas.Draw(ImgX, ImgY, Glyph); - end; - end - else - if Assigned(Picture) and not Picture.Empty then - begin - if (ForcePicSize.CX > 0) and (ForcePicSize.CY > 0) then - begin - if (Caption = '') and (WideCaption = '') then - begin - px := r.Left + Max(0, (w - ImgW) div 2); - py := r.Top + Max(0, (h - ImgH) div 2); - //Canvas.StretchDraw(Rect(px, py, px + ForcePicSize.CX, py + ForcePicSize.CY), Picture); - DrawStretchPicture(graphics, Canvas, Rect(px, py, px + ForcePicSize.CX, py + ForcePicSize.CY), Picture); - end - else - begin - //Canvas.StretchDraw(Rect(ImgX, ImgY, ImgX + ForcePicSize.CX, ImgY + ForcePicSize.CY), Picture); - DrawStretchPicture(graphics, Canvas, Rect(ImgX, ImgY, ImgX + ForcePicSize.CX, ImgY + ForcePicSize.CY), Picture); - end; - end - else - begin - if (Caption = '') and (WideCaption = '') then - begin - //Canvas.Draw(r.Left + Max(0, (w - ImgW) div 2), r.Top + Max(0, (h - ImgH) div 2), Picture) - DrawGDIPImage(graphics, Point(r.Left + Max(0, (w - ImgW) div 2), r.Top + Max(0, (h - ImgH) div 2)), Picture); - //DrawStretchPicture(graphics, Canvas, Rect(r.Left + Max(0, (w - ImgW) div 2), r.Top + Max(0, (h - ImgH) div 2), Picture.Width, Picture.Height), Picture); - end - else - //Canvas.Draw(ImgX, ImgY, Picture); - DrawGDIPImage(graphics, Point(ImgX, ImgY), Picture); - end; - end - else - if (ImageIndex <> -1) and Assigned(Images) then - begin - if (Caption = '') and (WideCaption = '') then - begin - //Images.Draw(Canvas, r.Left + Max(0, (w - Images.Width) div 2), r.Top + Max(0, (h - Images.Height) div 2), ImageIndex, EnabledImage) - DrawGDIPImageFromImageList(graphics, Point(r.Left + Max(0, (w - Images.Width) div 2), r.Top + Max(0, (h - Images.Height) div 2)), Images, ImageIndex, EnabledImage); - end - else - begin - //Images.Draw(Canvas, ImgX, ImgY, ImageIndex, EnabledImage); - DrawGDIPImageFromImageList(graphics, Point(ImgX, ImgY), Images, ImageIndex, EnabledImage) - end; - {end - else if Assigned(ToolImage) and not (ToolImage.Empty) and (ToolImage.Width > 1) then - begin - if Caption = '' then - Canvas.Draw(r.Left + Max(0, (w - ImgW) div 2), r.Top + Max(0, (h - ImgH) div 2), ToolImage) - else - Canvas.Draw(ImgX, ImgY, ToolImage); } - end; - end; - - Canvas.Brush.Style := bsClear; - - if DropDownButton then - begin - if DrawDwLine and DropDownSplit then - begin - Canvas.Pen.Color := ColorToRGB(PC); - if (DropDownPos = dpRight) then - begin - Canvas.MoveTo(DwR.Left, DwR.Top); - Canvas.LineTo(DwR.Left, DwR.Bottom); - end - else - begin - Canvas.MoveTo(DwR.Left, DwR.Top); - Canvas.LineTo(DwR.Right, DwR.Top); - end; - end; - - AP.X := DwR.Left + ((DwR.Right - DwR.Left - 5) div 2); - - if (DropDownPos = dpBottom) or ((Caption = '') and (WideCaption = '')) then - AP.Y := DwR.Top + ((DwR.Bottom - DwR.Top - 3) div 2) + 1 - else - AP.Y := yDropD - 8; - - if not Enabled then - DrawArrow(Canvas, AP, clGray, clWhite, DropDir) - else - DrawArrow(Canvas, AP, clBlack, clWhite, DropDir); - end; - end; - - graphics.Free; -end; - -//------------------------------------------------------------------------------ - -{TWinCtrl} - -procedure TWinCtrl.PaintCtrls(DC: HDC; First: TControl); -begin - PaintControls(DC, First); -end; - -//------------------------------------------------------------------------------ - -{ TAdvGlowButton } - - -//------------------------------------------------------------------------------ - - -procedure TAdvCustomGlowButton.CMMouseEnter(var Msg: TMessage); -begin - inherited; - - if Assigned(FOnMouseEnter) then - FOnMouseEnter(Self); - - if (csDesigning in ComponentState) then - Exit; - - if FMouseEnter then - Exit; - - FHot := true; - - if FLeftDown then - FDown := true; - - if not Assigned(FTimer) then - begin - FTimer := TTimer.Create(self); - FTimer.OnTimer := TimerProc; - FTimer.Interval := GlowSpeed; - FTimer.Enabled := true; - end; - - if not FDown and (GlowState <> gsPush) then - begin - FTimeInc := 20; - GlowState := gsHover; - end; - Invalidate; - - FMouseInControl := true; - FMouseEnter := true; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.CMMouseLeave(var Msg: TMessage); -begin - inherited; - - if Assigned(FOnMouseLeave) then - FOnMouseLeave(Self); - - if (csDesigning in ComponentState) then - Exit; - - if not FMouseEnter then - Exit; - - FMouseEnter := false; - FMouseInControl := false; - - FHot := false; - FInButton := false; - -// Repaint; - - // down process busy - if FDown and FMouseDown then - begin - FDown := False; - FTimeInc := -20; - GlowState := gsHover; - Invalidate; - FLeftDown := true; - end - else - //if not (Style = bsCheck) then - begin - FDown := false; - FStepHover := 100; - FTimeInc := -20; - GlowState := gsHover; - Invalidate; - end; - - if not Assigned(FTimer) then - begin - FTimer := TTimer.Create(self); - FTimer.OnTimer := TimerProc; - FTimer.Interval := GlowSpeed; - FTimer.Enabled := true; - end; - -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.CMTextChanged(var Message: TMessage); -begin - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.CNCommand(var Message: TWMCommand); -begin - if Message.NotifyCode = BN_CLICKED then - begin - Click; - end; -end; - -//------------------------------------------------------------------------------ - -constructor TAdvCustomGlowButton.Create(AOwner: TComponent); -begin - inherited; - FTimer := nil; - FImageIndex := -1; - DoubleBuffered := true; - FGroupIndex := 0; - FState := absUp; - FStyle := bsButton; - FTransparent := False; - FLayout := blGlyphLeft; - FDropDownButton := False; - FDropDownPosition := dpRight; - FDropDownDirection := ddDown; - FDropDownSplit := true; - FShowCaption := true; - FFocusType := ftBorder; - FShortCutHint := nil; - FShortCutHintPos := shpTop; - FShowDisabled := true; - FOverlappedText := false; - FSpacing := 2; - FWordWrap := true; - FFirstPaint := true; - FMarginVert := 1; - FMarginHorz := 1; - FRounded := true; - FInitRepeatPause := 400; - FRepeatPause := 100; - FRepeatClick := false; - - FIPicture := TGDIPPicture.Create; - FIPicture.OnChange := PictureChanged; - - FIDisabledPicture := TGDIPPicture.Create; - FIDisabledPicture.OnChange := PictureChanged; - FIHotPicture := TGDIPPicture.Create; - - ParentFont := true; - FAppearance := TGlowButtonAppearance.Create; - FAppearance.OnChange := OnAppearanceChanged; - FInternalImages := nil; - FAntiAlias := aaClearType; - FBorderStyle := bsSingle; - - FOfficeHint := TAdvHintInfo.Create; - - Width := 100; - Height := 41; - - FDefaultPicDrawing := True; - FDefaultCaptionDrawing := True; - FTrimming := StringTrimmingNone; - - FCommandID := -1; - - FButtonSizeState := bsLarge; - FMaxButtonSizeState := bsLarge; - FMinButtonSizeState := bsGlyph; - FOldLayout := Layout; - FOldDropDownPosition := DropDownPosition; - - FNotes := TStringList.Create; - FNotesFont := TFont.Create; - FNotesFont.Name := 'Tahoma'; - FNotesFont.Size := 8; -end; - - -procedure TAdvCustomGlowButton.CreateParams(var Params: TCreateParams); -begin - inherited; -// if FTransparent then -// Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT; -end; - -procedure TAdvCustomGlowButton.CreateWnd; -begin - inherited; - FActive := FDefault; - FParentForm := GetParentForm(Self); -end; - -//------------------------------------------------------------------------------ - -destructor TAdvCustomGlowButton.Destroy; -begin - if Assigned(FShortCutHint) then - FShortCutHint.Free; - FOfficeHint.Free; - FAppearance.Free; - FIPicture.Free; - FIDisabledPicture.Free; - FIHotPicture.Free; - FNotes.Free; - FNotesFont.Free; - inherited; -end; - -procedure TAdvCustomGlowButton.DoEnter; -begin - inherited; - Invalidate; - FHasFocus := true; -end; - -procedure TAdvCustomGlowButton.DoExit; -begin - inherited; - FDown := false; - FState := absUp; - FHasFocus := false; - Invalidate; -end; - -procedure TAdvCustomGlowButton.ShowShortCutHint; -var - pt: TPoint; - SCHintPos: TShortCutHintPos; - OffsetX: Integer; -begin - if not Assigned(FShortCutHint) then - begin - FShortCutHint := TShortCutHintWindow.Create(Self); - FShortCutHint.Parent := Self; - FShortCutHint.Visible := False; - FShortCutHint.Color := clWhite; - FShortCutHint.ColorTo := Appearance.Color; - end; - - FShortCutHint.Caption := FShortCutHintText; - - pt := ClientToScreen(Point(0,0)); - - OffsetX := 6; - SCHintPos := ShortCutHintPos; - - if Assigned(FOnGetShortCutHintPos) then - FOnGetShortCutHintPos(Self, ButtonSizeState, SCHintPos); - - if (SCHintPos = shpAuto) then - SCHintPos := shpTop; - - case SCHintPos of - shpLeft: - begin - //FShortCutHint.Left := pt.X - (FShortCutHint.Width div 2); - FShortCutHint.Left := pt.X + OffsetX; - FShortCutHint.Top := pt.Y + (self.Height - FShortCutHint.Height) div 2; - end; - shpTop: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y - (FShortCutHint.Height div 2); - end; - shpRight: - begin - FShortCutHint.Left := pt.X + self.Width - (FShortCutHint.Width div 2); - FShortCutHint.Top := pt.Y + (self.Height - FShortCutHint.Height) div 2; - end; - shpBottom: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y + self.Height - (FShortCutHint.Height div 2); - end; - shpCenter: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y + (self.Height - FShortCutHint.Height) div 2; - end; - shpTopLeft: - begin - FShortCutHint.Left := pt.X + OffsetX; - FShortCutHint.Top := pt.Y - (FShortCutHint.Height div 2); - end; - shpTopRight: - begin - FShortCutHint.Left := pt.X + self.Width - FShortCutHint.Width + 1; - FShortCutHint.Top := pt.Y - (FShortCutHint.Height div 2); - end; - shpAboveTop: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y - FShortCutHint.Height; - end; - shpAboveTopLeft: - begin - FShortCutHint.Left := pt.X + OffsetX; - FShortCutHint.Top := pt.Y - FShortCutHint.Height; - end; - shpAboveTopRight: - begin - FShortCutHint.Left := pt.X + self.Width - FShortCutHint.Width + 1; - FShortCutHint.Top := pt.Y - FShortCutHint.Height; - end; - shpBottomLeft: - begin - FShortCutHint.Left := pt.X + OffsetX; - FShortCutHint.Top := pt.Y + self.Height - (FShortCutHint.Height div 2); - end; - shpBottomRight: - begin - FShortCutHint.Left := pt.X + self.Width - FShortCutHint.Width + 1; - FShortCutHint.Top := pt.Y + self.Height - (FShortCutHint.Height div 2); - end; - shpBelowBottom: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y + self.Height; - end; - shpBelowBottomLeft: - begin - FShortCutHint.Left := pt.X + OffsetX; - FShortCutHint.Top := pt.Y + self.Height - end; - shpBelowBottomRight: - begin - FShortCutHint.Left := pt.X + self.Width - FShortCutHint.Width + 1; - FShortCutHint.Top := pt.Y + self.Height - end; - shpBelowBottomCenter: - begin - FShortCutHint.Left := pt.X + (self.Width - FShortCutHint.Width) div 2; - FShortCutHint.Top := pt.Y + self.Height - end; - end; - - FShortCutHint.Visible := true; -end; - -procedure TAdvCustomGlowButton.HideShortCutHint; -begin - if Assigned(FShortCutHint) then - begin - FShortCutHint.Visible := false; - //FShortCutHint.Free; - //FShortCutHint := nil; - end; -end; - -function TAdvCustomGlowButton.GetVersion: string; -var - vn: Integer; -begin - vn := GetVersionNr; - Result := IntToStr(Hi(Hiword(vn))) + '.' + IntToStr(Lo(Hiword(vn))) + - '.' + IntToStr(Hi(Loword(vn))) + '.' + IntToStr(Lo(Loword(vn))); -end; - -function TAdvCustomGlowButton.GetVersionNr: Integer; -begin - Result := MakeLong(MakeWord(BLD_VER, REL_VER), MakeWord(MIN_VER, MAJ_VER)); -end; - -procedure TAdvCustomGlowButton.KeyDown(var Key: Word; Shift: TShiftState); -begin - inherited; - if (Key in [VK_SPACE, VK_RETURN]) then - begin - FDown := True; - FState := absDown; - Repaint; - end; - - if (Key = VK_F4) then - DoDropDown; - - if Assigned(FOnInternalKeyDown) then - FOnInternalKeyDown(Self, Key, Shift); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.WMGetDlgCode(var Message: TMessage); -begin - if Assigned(FOnInternalKeyDown) then - Message.Result := DLGC_WANTARROWS - else - inherited; -end; - - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.KeyPress(var Key: Char); -var - Form: TCustomForm; -begin - inherited; - - if (Key = #32) or (Key = #13) then - begin - Form := GetParentForm(Self); - if Form <> nil then - Form.ModalResult := ModalResult; - - if Assigned(OnClick) then - OnClick(Self); - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.KeyUp(var Key: Word; Shift: TShiftState); -begin - inherited; - FDown := False; - FState := absUp; - Repaint; -end; - -//------------------------------------------------------------------------------ - -{$IFDEF DELPHI6_LVL} -function TAdvCustomGlowButton.ActionHasImages: boolean; -begin - Result := false; - - {$IFDEF DELPHI2006_LVL} - if not self.StaticActionImageIndex then - Result := true - else - {$ENDIF} - if Assigned(Action) then - begin - if (Action.Owner is TActionList) then - Result := Assigned((Action.Owner as TActionList).Images); - end; -end; -{$ENDIF} - -procedure TAdvCustomGlowButton.Assign(Source: TPersistent); -begin - if (Source is TAdvCustomGlowButton) then - begin - Align := (Source as TAdvCustomGlowButton).Align; - Action := (Source as TAdvCustomGlowButton).Action; - Anchors := (Source as TAdvCustomGlowButton).Anchors; - AntiAlias := (Source as TAdvCustomGlowButton).AntiAlias; - AutoSize := (Source as TAdvCustomGlowButton).AutoSize; - BorderStyle := (Source as TAdvCustomGlowButton).BorderStyle; - Cancel := (Source as TAdvCustomGlowButton).Cancel; - Caption := (Source as TAdvCustomGlowButton).Caption; - Constraints := (Source as TAdvCustomGlowButton).Constraints; - Default := (Source as TAdvCustomGlowButton).Default; - Font.Assign((Source as TAdvCustomGlowButton).Font); - ImageIndex := (Source as TAdvCustomGlowButton).ImageIndex; - Images.Assign((Source as TAdvCustomGlowButton).Images); - DisabledImages.Assign((Source as TAdvCustomGlowButton).DisabledImages); - DisabledPicture.Assign((Source as TAdvCustomGlowButton).DisabledPicture); - DragMode := (Source as TAdvCustomGlowButton).DragMode; - DragKind := (Source as TAdvCustomGlowButton).DragKind; - FocusType := (Source as TAdvCustomGlowButton).FocusType; - HotImages.Assign((Source as TAdvCustomGlowButton).HotImages); - HotPicture.Assign((Source as TAdvCustomGlowButton).HotPicture); - MarginVert := (Source as TAdvCustomGlowButton).MarginVert; - MarginHorz := (Source as TAdvCustomGlowButton).MarginHorz; - ModalResult := (Source as TAdvCustomGlowButton).ModalResult; - Notes.Assign((Source as TAdvCustomGlowButton).Notes); - NotesFont.Assign((Source as TAdvCustomGlowButton).NotesFont); - OfficeHint.Assign((Source as TAdvCustomGlowButton).OfficeHint); - ParentFont := (Source as TAdvCustomGlowButton).ParentFont;; - Picture.Assign((Source as TAdvCustomGlowButton).Picture); - PopupMenu := (Source as TAdvCustomGlowButton).PopupMenu; - Position := (Source as TAdvCustomGlowButton).Position; - InitRepeatPause := (Source as TAdvCustomGlowButton).InitRepeatPause; - RepeatPause := (Source as TAdvCustomGlowButton).RepeatPause; - RepeatClick := (Source as TAdvCustomGlowButton).RepeatClick; - Rounded := (Source as TAdvCustomGlowButton).Rounded; - ShortCutHint := (Source as TAdvCustomGlowButton).ShortCutHint; - ShortCutHintPos := (Source as TAdvCustomGlowButton).ShortCutHintPos; - ShowCaption := (Source as TAdvCustomGlowButton).ShowCaption; - ShowDisabled := (Source as TAdvCustomGlowButton).ShowDisabled; - Spacing := (Source as TAdvCustomGlowButton).Spacing; - Transparent := (Source as TAdvCustomGlowButton).Transparent; - Trimming := (Source as TAdvCustomGlowButton).Trimming; - Version := (Source as TAdvCustomGlowButton).Version; - WordWrap := (Source as TAdvCustomGlowButton).WordWrap; - ShowHint := (Source as TAdvCustomGlowButton).ShowHint; - ParentShowHint := (Source as TAdvCustomGlowButton).ParentShowHint; - TabOrder := (Source as TAdvCustomGlowButton).TabOrder; - TabStop := (Source as TAdvCustomGlowButton).TabStop; - Visible := (Source as TAdvCustomGlowButton).Visible; - end; - -end; - -procedure TAdvCustomGlowButton.Click; -var - Form: TCustomForm; -begin - Form := GetParentForm(Self); - if Form <> nil then - Form.ModalResult := ModalResult; - - if Assigned(FOnInternalClick) then - FOnInternalClick(Self); - inherited; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.Loaded; -begin - inherited; - if (Down <> FInitialDown) then - Down := FInitialDown; - FIsVista := IsVista; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.DoDropDown; -var - pt: TPoint; -begin - if IsMenuButton or Assigned(FDropDownMenu) then - begin - {State := absDropDown; - Invalidate; - CheckMenuDropdown; } - - if Assigned(FDropDownMenu) then - begin - //FDown := false; - //FHot := false; - FState := absDown; - PopupBtnDown; - Invalidate; - - if DropDownDirection = ddDown then - pt := Point(Left, Top + Height) - else - pt := Point(Left + Width, Top); - - pt := Parent.ClientToScreen(pt); - FDropDownMenu.Popup(pt.X,pt.Y); - - FState := absUp; - Repaint; - end; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGlowButton.IsFontStored: Boolean; -begin - Result := not ParentFont; -end; - -function TAdvCustomGlowButton.IsMenuButton: Boolean; -begin - Result := False; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.TimerExpired(Sender: TObject); -begin - FRepeatTimer.Interval := RepeatPause; - if (FDown) and MouseCapture then - begin - try - Click; - except - FRepeatTimer.Enabled := False; - raise; - end; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.MouseUp(Button: TMouseButton; - Shift: TShiftState; X, Y: Integer); -begin - inherited MouseUp(Button, Shift, X, Y); - if FRepeatTimer <> nil then - FRepeatTimer.Enabled := False; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, - Y: Integer); -var - pt:TPoint; - InBottomDrop,InRightDrop: boolean; - InSepBtn: boolean; - -begin - inherited; - - if Button <> mbLeft then - Exit; - - if FRepeatClick then - begin - if FRepeatTimer = nil then - FRepeatTimer := TTimer.Create(Self); - - FRepeatTimer.OnTimer := TimerExpired; - FRepeatTimer.Interval := InitRepeatPause; - FRepeatTimer.Enabled := True; - end; - - - FDown := true; - FMouseDown := true; - - if TabStop then - SetFocus; - - if not Assigned(FTimer) then - begin - FTimer := TTimer.Create(self); - FTimer.OnTimer := TimerProc; - FTimer.Interval := GlowSpeed; - FTimer.Enabled := true; - end; - - //FStepPush := 0; - FTimeInc := +20; - GlowState := gsPush; - - if not DropDownButton and IsMenuButton and false then - begin - Invalidate; - DoDropDown; - end; - - InBottomDrop := (DropDownPosition = dpRight) and (X > (Width - DropDownSectWidth)); - InRightDrop := (DropDownPosition = dpBottom) and (Y > (Height - DropDownSectWidth)); - - InSepBtn := (InBottomDrop or InRightDrop); - - if (not FDropDownButton and IsMenuButton) or - (FDropDownButton and InSepBtn and DropDownSplit) or - (FDropDownButton and not DropDownSplit and (not ((Style = bsCheck) or (GroupIndex > 0)))) - then - begin - // FState := absUp; - FMouseInControl := False; - // FMouseDownInControl := False; - PopupBtnDown; - - if Assigned(FDropDownMenu) then - begin - FDown := false; - FHot := false; - SetDroppedDown(True); - FMouseEnter := true; - //FMenuSel := true; - Repaint; - - if DropDownDirection = ddDown then - pt := Point(Left, Top + Height) - else - pt := Point(Left + Width, Top); - - pt := Parent.ClientToScreen(pt); - //if Assigned(AdvToolBar) then - //FDropDownMenu.MenuStyler := AdvToolBar.FCurrentToolBarStyler.CurrentAdvMenuStyler; - FDropDownMenu.Popup(pt.X,pt.Y); - SetDroppedDown(False); - //FMenuSel := false; - - GetCursorPos(pt); - pt := ScreenToClient(pt); - if not PtInRect(ClientRect, pt) then - begin - FMouseEnter := false; - FMouseInControl := false; - FHot := false; - FInButton := false; - end; - Repaint; - end; - - Invalidate; - end - else - begin - if (Style = bsCheck) then - begin - SetDown(not FDownChecked); - end; - - if not FDownChecked then - begin - FState := absDown; - Invalidate; - end; - - if (Style = bsCheck) then - begin - FState := absDown; - Repaint; - end; - - FDragging := True; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.InternalClick; -begin - if (not FDropDownButton and IsMenuButton) or (FDropDownButton and not ((Style = bsCheck) or (GroupIndex > 0)) and - (not DropDownSplit)) then - begin - if Assigned(FDropDownMenu) then - begin - //PostMessage(Handle, WM_LBUTTONDOWN,0,0); - //PostMessage(Handle, WM_LBUTTONUP,0,0); - DoDropDown; - end - else - Click; - end - else - begin - if Style = bsCheck then - begin - SetDown(not FDownChecked); - end; - - if not FDownChecked then - begin - FState := absDown; - Invalidate; - end; - - if (Style = bsCheck) then - begin - FState := absDown; - Repaint; - end; - - Click; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.WMLDblClk(var Msg: TWMLButtonDblClk); -begin - inherited; -end; - -procedure TAdvCustomGlowButton.WMPaint(var Msg: TWMPaint); -var - DC, MemDC: HDC; - MemBitmap, OldBitmap: HBITMAP; - PS: TPaintStruct; -begin - if not FDoubleBuffered or (Msg.DC <> 0) then - begin - if not (csCustomPaint in ControlState) and (ControlCount = 0) then - inherited - else - PaintHandler(Msg); - end - else - begin - DC := GetDC(0); - MemBitmap := CreateCompatibleBitmap(DC, ClientRect.Right, ClientRect.Bottom); - ReleaseDC(0, DC); - MemDC := CreateCompatibleDC(0); - OldBitmap := SelectObject(MemDC, MemBitmap); - try - DC := BeginPaint(Handle, PS); - Perform(WM_ERASEBKGND, MemDC, MemDC); - Msg.DC := MemDC; - WMPaint(Msg); - Msg.DC := 0; - BitBlt(DC, 0, 0, ClientRect.Right, ClientRect.Bottom, MemDC, 0, 0, SRCCOPY); - EndPaint(Handle, PS); - finally - SelectObject(MemDC, OldBitmap); - DeleteDC(MemDC); - DeleteObject(MemBitmap); - end; - end; -end; - -(* -begin - {$IFDEF VER185} - if TForm(FParentForm).FormStyle = fsMDIChild then - begin - DoubleBuffered := (Application.MainForm.ActiveMDIChild = FParentForm); - end - else - DoubleBuffered := (FParentForm.Handle = GetActiveWindow); - {$ENDIF} - inherited; -*) - -//------------------------------------------------------------------------------ -procedure TAdvCustomGlowButton.WMLButtonDown(var Msg:TWMLButtonDown); -begin - FGotButtonClick := true; - inherited; -end; - -//------------------------------------------------------------------------------ -procedure TAdvCustomGlowButton.WMLButtonUp(var Msg:TWMLButtonDown); -var - DoClick: Boolean; - inht: boolean; - -begin - FTimeInc := -20; - inht := false; - GlowState := gsPush; - - FMouseDown := false; - FLeftDown := false; - - if not Assigned(FTimer) then - begin - FTimer := TTimer.Create(self); - FTimer.OnTimer := TimerProc; - FTimer.Interval := GlowSpeed; - FTimer.Enabled := true; - end; - - if not DropDownButton and IsMenuButton then - begin - // do nothing - end - else - if FDragging then - begin - FDragging := False; - - DoClick := (Msg.XPos >= 0) and (Msg.XPos < ClientWidth) and (Msg.YPos >= 0) and (Msg.YPos <= ClientHeight); - - if (FGroupIndex = 0) then - begin - // Redraw face in-case mouse is captured - FState := absUp; - FMouseInControl := False; - //FHot := false; - - if (Style = bsCheck) then - begin - if Assigned(Action) then - begin - inherited; - inht := true; - if (FCheckLinked or FGroupIndexLinked) then - Exit; - {$IFDEF DELPHI7_LVL} - if (Action is TAction) then - if (Action as TAction).AutoCheck then - Exit; - {$ENDIF} - end; - - // ***** extension for toolbar compactbutton handling - if not DoClick and Self.Down then - begin - Self.Down := not Self.Down; - end; - - if (Style <> bsCheck) then - begin - SetDown(not FDownChecked); - end; - - //FState := absUp; - Repaint; - end; - if DoClick and not (FState in [absExclusive, absDown]) then - Invalidate; - end - else - begin - if Assigned(Action) then - if FCheckLinked or FGroupIndexLinked then - begin - inherited; - Exit; - end; - - if DoClick then - begin - SetDown(not FDownChecked); - if FDownChecked then - Repaint; - end - else - begin - if FDownChecked then - FState := absExclusive; - Repaint; - end; - - end; - - //if DoClick then - // Click; - - UpdateTracking; - end; - - if FGotButtonClick then - ControlState := ControlState + [csClicked] - else - if Assigned(OnClick) then - OnClick(Self); - - FGotButtonClick := false; - - if not inht then - inherited; - - if (Style = bsCheck) or (GroupIndex > 0) then - begin - //FState := absUp; - Repaint; - //FHot := true; - //FMouseInControl := true; - end; - - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - if (AOperation = opRemove) and (AComponent = FImages) then - FImages := nil; - - if (AOperation = opRemove) and (AComponent = FDisabledImages) then - FDisabledImages := nil; - - if (AOperation = opRemove) and (AComponent = FHotImages) then - begin - FHotImages := nil; - end; - - if (AOperation = opRemove) and (AComponent = DropdownMenu) then - DropdownMenu := nil; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.DrawGlyphCaption; -begin - -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.GetToolImage(bmp: TBitmap); -begin - -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDroppedDown(Value: Boolean); -begin - FDroppedDown := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.Paint; -var - GradColor: TColor; - GradColorTo: TColor; - GradColorMirror: TColor; - GradColorMirrorTo: TColor; - PenColor: TColor; - GradB, GradU: TGDIPGradient; - DrawDwLn: Boolean; - ImgList: TImageList; - Pic: TGDIPPicture; - EnabledImg: Boolean; - Rgn1, Rgn2: HRGN; - R: TRect; - i, w, h: Integer; - p: TPoint; - DCaption: string; - DWideCaption: widestring; - BD: TButtonDisplay; - DrawFocused, DrawFocusedHot: boolean; - bmp: TBitmap; - sz: TSize; - gs: TGlowButtonState; - PicSize: TSize; - AFont: TFont; - -begin - if FPainting then - Exit; - - - FPainting := True; - try - - if FTransparent and not FMouseEnter then - begin - // TRANSPARENCY CODE - - R := ClientRect; - rgn1 := CreateRectRgn(R.Left, R.Top, R.Right, R.Bottom); - SelectClipRgn(Canvas.Handle, rgn1); - - i := SaveDC(Canvas.Handle); - p := ClientOrigin; - Windows.ScreenToClient(Parent.Handle, p); - p.x := -p.x; - p.y := -p.y; - MoveWindowOrg(Canvas.Handle, p.x, p.y); - - SendMessage(Parent.Handle, WM_ERASEBKGND, Canvas.Handle, 0); - // transparency ? - SendMessage(Parent.Handle, WM_PAINT, Canvas.Handle, 0); - - if (Parent is TWinCtrl) then - (Parent as TWinCtrl).PaintCtrls(Canvas.Handle, nil); - - RestoreDC(Canvas.Handle, i); - - SelectClipRgn(Canvas.Handle, 0); - DeleteObject(rgn1); - end; - - if not Enabled then - begin - FState := absDisabled; - FDragging := False; - end - else - begin - if (FState = absDisabled) then - if FDownChecked and (GroupIndex <> 0) then - FState := absExclusive - else - FState := absUp; - end; - - - if (Style = bsCheck) and (Down) then - begin - FState := absDown; - end; - - with Appearance do - begin - DrawDwLn := False; - if ((State = absDisabled) or not Enabled) and FShowDisabled then - begin - if (1>0) {Transparent} then - begin - GradColor := FColorDisabled; - GradColorTo := FColorDisabledTo; - GradColorMirror := FColorMirrorDisabled; - GradColorMirrorTo := FColorMirrorDisabledTo; - PenColor := BorderColorDisabled; - GradU := GradientDisabled; - GradB := GradientMirrorDisabled; - end - else - begin - end; - end - else if ((State = absDown) {or (FHot and (State = absExclusive))}{ or FDown}) and not ((Style = bsCheck) and (State = absDown)) then - begin - GradColor := FColorDown; - GradColorTo := FColorDownTo; - GradColorMirror := FColorMirrorDown; - GradColorMirrorTo := FColorMirrorDownTo; - PenColor := BorderColorDown; - GradU := GradientDown; - GradB := GradientMirrorDown; - DrawDwLn := True; - end - else - if (State = absExclusive) or ((Style = bsCheck) and (State = absDown)) then - begin - GradColor := FColorChecked; - GradColorTo := FColorCheckedTo; - GradColorMirror := FColorMirrorChecked; - GradColorMirrorTo := FColorMirrorCheckedTo; - PenColor := BorderColorChecked; - GradU := GradientChecked; - GradB := GradientMirrorChecked; - - if Assigned(FTimer) and not (not FMouseInControl and ((Style = bsCheck) or ((GroupIndex > 0) and (State <> absDown)))) then - begin - GradColor := BlendColor(FColorChecked, FColorDown, FStepPush); - GradColorTo := BlendColor(FColorCheckedTo, FColorDownTo, FStepPush); - GradColorMirror := BlendColor(FColorMirrorChecked, FColorMirrorDown, FStepPush); - GradColorMirrorTo := BlendColor(FColorMirrorCheckedTo, FColorMirrorDownTo, FStepPush); - //PenColor := BlendColor(BorderColorChecked, BorderColorDown, FStepPush); - end; - - end - else //if State = absUp then - begin - if FHot then - begin - GradColor := FColorHot; - GradColorTo := FColorHotTo; - GradColorMirror := FColorMirrorHot; - GradColorMirrorTo := FColorMirrorHotTo; - PenColor := BorderColorHot; - GradU := GradientHot; - GradB := GradientMirrorHot; - DrawDwLn := True; - end - else // Normal draw - begin - if (1>0) {Transparent} then - begin - GradColor := FColor; - GradColorTo := FColorTo; - GradColorMirror := FColorMirror; - GradColorMirrorTo := FColorMirrorTo; - PenColor := BorderColor; - GradU := Gradient; - GradB := GradientMirror; - end - else - begin - end; - end; - end; - - { if FHot then - begin - GradColor := FColorHot; - GradColorTo := FColorHotTo; - GradColorMirror := FColorMirrorHot; - GradColorMirrorTo := FColorMirrorHotTo; - PenColor := BorderColorHot; - GradU := GradientHot; - GradB := GradientMirrorHot; - end - else - begin - GradColor := FColor; - GradColorTo := FColorTo; - GradColorMirror := FColorMirror; - GradColorMirrorTo := FColorMirrorTo; - PenColor := BorderColor; - GradU := Gradient; - GradB := GradientMirror; - end; - - if FDown then - begin - PenColor := BorderColorDown; - GradU := GradientDown; - GradB := GradientMirrorDown; - end; - } - - if Assigned(FTimer) then - begin - if not FDown and not Transparent and not ((State = absExclusive) or ((Style = bsCheck) and (State = absDown))) then - begin - GradColor := BlendColor(FColorHot, FColor, FStepHover); - GradColorTo := BlendColor(FColorHotTo, FColorTo, FStepHover); - GradColorMirror := BlendColor(FColorMirrorHot, FColorMirror, FStepHover); - GradColorMirrorTo := BlendColor(FColorMirrorHotTo, FColorMirrorTo, FStepHover); - PenColor := BlendColor(BorderColorHot, BorderColor, FStepHover); - end - else - begin - if (Style = bsCheck) then - begin - if FDown then - begin - GradColor := BlendColor(FColorDown, FColorChecked, FStepPush); - GradColorTo := BlendColor(FColorDownTo, FColorCheckedTo, FStepPush); - GradColorMirror := BlendColor(FColorMirrorDown, FColorMirrorChecked, FStepPush); - GradColorMirrorTo := BlendColor(FColorMirrorDownTo, FColorMirrorCheckedTo, FStepPush); -// PenColor := BlendColor(BorderColorDown, BorderColorChecked, FStepPush); - end - end - else - if FDown and (State <> absExclusive) then - begin - - GradColor := BlendColor(FColorDown, FColorHot, FStepPush); - GradColorTo := BlendColor(FColorDownTo, FColorHotTo, FStepPush); - GradColorMirror := BlendColor(FColorMirrorDown, FColorMirrorHot, FStepPush); - GradColorMirrorTo := BlendColor(FColorMirrorDownTo, FColorMirrorHotTo, FStepPush); - PenColor := BlendColor(BorderColorDown, BorderColorHot, FStepPush); - end; - - end; - end; - - if Enabled or (DisabledImages = nil) then - begin - if FHot and (HotImages <> nil) then - ImgList := HotImages - else - ImgList := Images; - - EnabledImg := Enabled; - end - else - begin - ImgList := DisabledImages; - EnabledImg := True; - end; - - if Enabled or DisabledPicture.Empty then - begin - if FHot and not HotPicture.Empty then - Pic := HotPicture - else - Pic := Picture; - end - else - Pic := DisabledPicture; - - - if (ImgList = nil) then - begin - ImgList := FInternalImages; - EnabledImg := True; - end; - - if ShowCaption then - begin - DCaption := Caption; - DWideCaption := WideCaption; - end - else - begin - DCaption := ''; - DWideCaption := ''; - end; - - if (FMouseInControl or FMouseDown) and DropDownButton then - begin - if FInButton then - BD := bdDropDown - else - BD := bdButton; - end - else - BD := bdNone; - - // do not use special border color for non standalone buttons in mouse hover/down state or checked buttons - if ((Position <> bpStandalone) and FMouseDown) {or ((Style = bsCheck) and (FState = absDown))} then - begin - PenColor := BorderColor; - end; - - if ((State = absDisabled) or not Enabled) and FShowDisabled then - begin - GradColor := FColorDisabled; - GradColorTo := FColorDisabledTo; - GradColorMirror := FColorMirrorDisabled; - GradColorMirrorTo := FColorMirrorDisabledTo; - PenColor := BorderColorDisabled; - GradU := GradientDisabled; - GradB := GradientMirrorDisabled; - end; - - if (FHasFocus and (FocusType in [ftHot, ftHotBorder])) and not FDown then - begin - GradColor := FColorHot; - GradColorTo := FColorHotTo; - GradColorMirror := FColorMirrorHot; - GradColorMirrorTo := FColorMirrorHotTo; - PenColor := BorderColorHot; - GradU := GradientHot; - GradB := GradientMirrorHot; - DrawDwLn := True; - end; - - DrawFocused := (FHasFocus) and (FocusType in [ftBorder, ftHotBorder]); - DrawFocusedHot := (FHasFocus) and (FocusType in [ftHot, ftHotBorder]); - - AFont := TFont.Create; - AFont.Assign(Font); - - if (not ParentFont) and Appearance.SystemFont then - begin - if IsVista then - AFont.Name := 'Segoe UI' - else - AFont.Name := 'Tahoma'; - end; - - bmp := TBitmap.Create; - bmp.Width := 1; - bmp.Height := 1; - - GetToolImage(bmp); - - if Assigned(Action) then - begin - begin - if ((Action as TCustomAction).ImageIndex >= 0) {and (ImageIndex = (Action as TCustomAction).ImageIndex)} then - if Assigned((Action as TCustomAction).ActionList) then - if Assigned(TImageList((Action as TCustomAction).ActionList.Images)) then - begin - ImgList := TImageList((Action as TCustomAction).ActionList.Images); - EnabledImg := Enabled; - FImageIndex := (Action as TCustomAction).ImageIndex; - end; - end; - end; - - PicSize.cx := 0; // no stretch pic - PicSize.cy := 0; - if AutoSize then - begin - if (ButtonSizeState in [bsLabel, bsGlyph]) then - begin - PicSize.cx := 16; - PicSize.cy := 16; - - {if (bmp.Width = 1) then - begin - bmp.Height := Pic.Height; - bmp.Width := Pic.Width; - bmp.Canvas.Draw(0, 0, Pic); - Pic := nil; - end;} - - if Assigned(ImgList) and (ImageIndex >= 0) then - begin - Pic := nil; - end; - end; - - if (ButtonSizeState = bsGlyph) then - begin - DCaption := ''; - DWideCaption := ''; - end; - end; - - if DoAutoSize or (FFirstPaint and AutoSize) then - begin - - sz := DrawVistaButton(Canvas,ClientRect,GradColor, GradColorTo, GradColorMirror, GradColorMirrorTo, - PenColor, GradU, GradB, DCaption, DWideCaption, FDefaultCaptionDrawing, AFont, ImgList, ImageIndex, EnabledImg, Layout, FDropDownButton {and (Style <> bsCheck)}, - DrawDwLn, Enabled, DrawFocused, DropDownPosition, Pic, PicSize, AntiAlias, FDefaultPicDrawing, bmp, BD, Transparent and not (FMouseEnter or DrawFocusedHot or (State = absDown)), FMouseEnter, Position, DropDownSplit, CanDrawBorder, - FOverlappedText, FWordWrap, True, FRounded, FDropDownDirection = ddDown, FSpacing, FTrimming, FNotes, FNotesFont, FDownChecked); - - if AutoSize then - begin - W := sz.cx + Spacing * 3 + 2 + 2 * MarginHorz; - H := sz.cy + Spacing * 2 + 2 * MarginVert; - - if DropDownButton then - begin - if (DropDownPosition = dpBottom) then - H := H + DropDownSectWidth - else - W := W + DropDownSectWidth; - end; - - if Assigned(FOnSetButtonSize) then - FOnSetButtonSize(Self, w, h); - - if (W <> Width) then - Width := W; - if (H <> Height) then - Height := H; - end; - - FFirstPaint := false; - end; - - // transparent border pixels - - sz := DrawVistaButton(Canvas,ClientRect,GradColor, GradColorTo, GradColorMirror, GradColorMirrorTo, - PenColor, GradU, GradB, DCaption, DWideCaption, FDefaultCaptionDrawing, AFont, ImgList, ImageIndex, EnabledImg, Layout, FDropDownButton {and (Style <> bsCheck)}, - DrawDwLn, Enabled, DrawFocused, DropDownPosition, Pic, PicSize, AntiAlias, FDefaultPicDrawing, bmp, BD, Transparent and not (FMouseEnter or DrawFocusedHot or (State = absDown)), FMouseEnter, Position, DropDownSplit, CanDrawBorder, FOverlappedText, FWordWrap, - False, FRounded, FDropDownDirection = ddDown, FSpacing, FTrimming, FNotes, FNotesFont, FDownChecked); - - DrawGlyphCaption; - - gs := gsNormal; - - if FMouseEnter then - gs := gsHot; - - if State = absDown then - gs := gsDown; - - if Assigned(OnDrawButton) then - OnDrawButton(Self, Canvas, ClientRect, gs); - - AFont.Free; - bmp.Free; - - if not Assigned(Parent) then - Exit; - - if not FTransparent or FMouseEnter or (State = absDown) or (FHot) then - begin - R := ClientRect; - - if Position <> bpMiddle then - begin - if (Position in [bpStandalone, bpLeft]) then - begin - rgn1 := CreateRectRgn(0, 0, 1, 1); - end - else - begin - rgn1 := CreateRectRgn(R.Right - 1, 0, R.Right, 1); - end; - - if (Position in [bpStandalone]) then - begin - rgn2 := CreateRectRgn(R.Right - 1, 0, R.Right, 1); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - DeleteObject(rgn2); - end; - - if (Position in [bpStandalone, bpLeft]) then - begin - rgn2 := CreateRectRgn(0, R.Bottom - 1, 1, R.Bottom); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - DeleteObject(rgn2); - end; - - if (Position in [bpStandalone, bpRight]) then - begin - rgn2 := CreateRectRgn(R.Right - 1, R.Bottom - 1, R.Right, R.Bottom); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - DeleteObject(rgn2); - end; - - SelectClipRgn(Canvas.Handle, rgn1); - - i := SaveDC(Canvas.Handle); - p := ClientOrigin; - Windows.ScreenToClient(Parent.Handle, p); - p.x := -p.x; - p.y := -p.y; - MoveWindowOrg(Canvas.Handle, p.x, p.y); - - SendMessage(Parent.Handle, WM_ERASEBKGND, Canvas.Handle, 0); - - // transparency ? - SendMessage(Parent.Handle, WM_PAINT, Canvas.Handle, 0); - if (Parent is TWinCtrl) then - (Parent as TWinCtrl).PaintCtrls(Canvas.Handle, nil); - RestoreDC(Canvas.Handle, i); - - SelectClipRgn(Canvas.Handle, 0); - DeleteObject(rgn1); - end; - end; - end; - - finally - FPainting := False; - end; -end; - -procedure TAdvCustomGlowButton.PictureChanged(Sender: TObject); -begin - PerformResize; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDown(Value: Boolean); -begin - - if (csLoading in ComponentState) then - FInitialDown := Value; - - if (FGroupIndex = 0) and (Style = bsButton) then - Value := False; - - if (Style = bsCheck) then - begin - FDownChecked := Value; - if FDownChecked then - FState := absDown - else - FState := absUp; - Repaint; - Exit; - end; - - if (Value <> FDownChecked) then - begin - if FDownChecked and (not FAllowAllUp) then - Exit; - - FDownChecked := Value; - if Value then - begin - if FState = absUp then Invalidate; - FState := absExclusive - end - else - begin - FState := absUp; - Repaint; - end; - - if Value and not FCheckLinked then UpdateExclusive; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetGroupIndex(const Value: Integer); -begin - if FGroupIndex <> Value then - begin - FGroupIndex := Value; - UpdateExclusive; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetImageIndex(const Value: TImageIndex); -begin - FImageIndex := Value; - PerformResize; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetImages(const Value: TImageList); -begin - FImages := Value; - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDefault(const Value: boolean); -begin - FDefault := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDisabledImages(const Value: TImageList); -begin - FDisabledImages := Value; - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetSpacing(const Value: Integer); -begin - if FSpacing <> Value then - begin - FSpacing := value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - - -procedure TAdvCustomGlowButton.SetWideCaption(const Value: widestring); -begin - if (FWideCaption <> Value) then - begin - FWideCaption := Value; - - if AutoSize then - begin - DoAutoSize := true; - Repaint; - DoAutoSize := false; - end - else - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetWordWrap(const Value: Boolean); -begin - if FWordWrap <> Value then - begin - FWordWrap := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.PerformResize; -begin - if AutoSize then - begin - DoAutoSize := true; - Repaint; - DoAutoSize := false; - end - else - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetRounded(const Value: Boolean); -begin - if (FRounded <> Value) then - begin - FRounded := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetMarginVert(const Value: Integer); -begin - if FMarginVert <> Value then - begin - FMarginVert := Value; - PerformResize; - end; -end; - -procedure TAdvCustomGlowButton.SetMarginHorz(const Value: Integer); -begin - if FMarginHorz <> Value then - begin - FMarginHorz := Value; - PerformResize; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetAutoSizeEx(const Value: Boolean); -begin - if FAutoSize <> Value then - begin - FAutoSize := Value; - PerformResize; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDisabledPicture(const Value: TGDIPPicture); -begin - FIDisabledPicture.Assign(Value); - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetHotPicture(const Value: TGDIPPicture); -begin - FIHotPicture.Assign(Value); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetShowCaption(const Value: Boolean); -begin - FShowCaption := Value; - PerformResize; - Invalidate; -end; - -procedure TAdvCustomGlowButton.SetShowDisabled(const Value: boolean); -begin - FShowDisabled := Value; - Invalidate; -end; - -procedure TAdvCustomGlowButton.SetStyle(const Value: TAdvButtonStyle); -begin - if FStyle <> Value then - begin - FStyle := Value; - //if (Value = bsCheck) and DropDownButton then - // DropDownButton := false; - end; -end; - -procedure TAdvCustomGlowButton.SetVersion(const Value: string); -begin - -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.TimerProc(Sender: TObject); -begin - case GlowState of - gsHover: - begin - FStepHover := FStepHover + FTimeInc; - if ((FStepHover > 100) and (FTimeInc > 0)) - or ((FStepHover < 0) and (FTimeInc < 0)) then - begin - // outputdebugstring(pchar('hover step:'+inttostr(fstephover)+':'+inttostr(ftimeinc))); - if FStepHover > 100 then - FStepHover := 100; - - if FStepHover < 0then - FStepHover := 0; - - GlowState := gsNone; - - FreeAndNil(FTimer); - end - else - Invalidate; - end; - gsPush: - begin - // outputdebugstring(pchar('push step:'+inttostr(fsteppush)+':'+inttostr(ftimeinc))); - - FStepPush := FStepPush + FTimeInc; - - if ((FStepPush > 100) and (FTimeInc > 0)) - or ((FStepPush < 0) and (FTimeInc < 0)) then - begin - if FStepPush > 100 then - FStepPush := 100; - - if FStepPush < 0 then - FStepPush := 0; - - if FTimeInc < 0 then - begin - FDown := false; - FLeftDown := false; - end; - - GlowState := gsNone; - FreeAndNil(FTimer); - end - else - Invalidate; - end; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.WMSetText(var Message: TWMSetText); -begin - inherited; - - if AutoSize then - begin - PerformResize; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.WMEraseBkGnd(var Message: TWMEraseBkGnd); -const - delta = 3; -{ -var - DC: HDC; - i: THandle; -// rgn1,rgn2: THandle; - p,op: TPoint; - PDC : HDC; -} - -begin - // SetBkMode(Message.DC, Windows.TRANSPARENT ); - Message.Result := 1; - Exit; - - if FTransparent then - begin - if Assigned(Parent) and not (FMouseDown or FMouseInControl) then - begin - { - rgn1 := CreateRectRgn(0, 0, delta, delta); - rgn2 := CreateRectRgn(ClientRect.Right-delta, 0, ClientRect.Right, delta); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - rgn2 := CreateRectRgn(0, ClientRect.Bottom - delta, delta, ClientRect.Bottom); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - rgn2 := CreateRectRgn(ClientRect.Right - delta, ClientRect.Bottom - delta, ClientRect.Right, ClientRect.Bottom); - CombineRgn(rgn1, rgn1, rgn2, RGN_OR); - SelectClipRgn(Message.DC, rgn1); - } - - (* - DC := Message.DC; - i := SaveDC(DC); - - p := ClientOrigin; - Windows.ScreenToClient(Parent.Handle, p); - p.x := -p.x; - p.y := -p.y; - -// MoveWindowOrg(DC, p.x, p.y); - -// SetMapMode(FBmp.Canvas.Handle,mm_isotropic); - - SetMapMode(FBmp.Canvas.Handle,mm_isotropic); - SetViewPortOrgEx(FBmp.Canvas.Handle,p.x,p.y,@op); - - SendMessage(Parent.Handle, WM_ERASEBKGND, FBmp.Canvas.Handle, 0); - SendMessage(Parent.Handle, WM_PAINT, FBmp.Canvas.Handle, 0); - -// if (Parent is TWinCtrl) then -// (Parent as TWinCtrl).PaintCtrls(FBmp.Canvas.Handle, nil); - - SetViewPortOrgEx(FBmp.Canvas.Handle,op.x,op.y,nil); - RestoreDC(DC, i); - - // SelectClipRgn(Message.DC, 0); - // DeleteObject(rgn1); - *) - end; - end - else - inherited; -end; - - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.CMDialogChar(var Message: TCMDialogChar); -begin - with Message do - begin - if Caption <> '' then - begin - if IsAccel(CharCode, Caption) and CanFocus then - begin - if IsMenuButton or (Assigned(DropDownMenu)) then - DoDropDown - else - Click; - Result := 1; - end - else - inherited; - end - else - begin - if IsAccel(CharCode, WideCaption) and CanFocus then - begin - if IsMenuButton or (Assigned(DropDownMenu)) then - DoDropDown - else - Click; - Result := 1; - end - else - inherited; - end; - end; -end; - -procedure TAdvCustomGlowButton.CMDialogKey(var Message: TCMDialogKey); -begin - with Message do - if - (((CharCode = VK_RETURN) and FActive) or - ((CharCode = VK_ESCAPE) and FCancel)) and - (KeyDataToShiftState(Message.KeyData) = []) and CanFocus then - begin - //Click; - InternalClick; - FState := absUp; - Result := 1; - end - else - inherited; -end; - -procedure TAdvCustomGlowButton.CMEnabledChanged(var Message: TMessage); -begin - inherited; - Invalidate; -end; - -procedure TAdvCustomGlowButton.CMFocusChanged(var Message: TCMFocusChanged); -begin - with Message do - if Sender is TAdvCustomGlowButton then - FActive := Sender = Self - else - FActive := FDefault; - //SetButtonStyle(FActive); - inherited; -end; - -//------------------------------------------------------------------------------ - -{$IFNDEF TMSDOTNET} - -procedure TAdvCustomGlowButton.CMButtonPressed(var Message: TMessage); -var - Sender: TAdvGlowButton; -begin - if Message.WParam = FGroupIndex then - begin - Sender := TAdvGlowButton(Message.LParam); - if Sender <> Self then - begin - if Sender.Down and FDownChecked then - begin - FDownChecked := False; - FState := absUp; - { if (Action is TCustomAction) then - TCustomAction(Action).Checked := False; } - Invalidate; - end; - //FAllowAllUp := Sender.AllowAllUp; - end; - end; -end; -{$ENDIF} - -//------------------------------------------------------------------------------ - -{$IFNDEF TMSDOTNET} - -procedure TAdvCustomGlowButton.UpdateExclusive; -var - Msg: TMessage; -begin - if (FGroupIndex <> 0) and (Parent <> nil) then - begin - Msg.Msg := CM_BUTTONPRESSED; - Msg.WParam := FGroupIndex; - Msg.LParam := Longint(Self); - Msg.Result := 0; - Parent.Broadcast(Msg); - {if Assigned(FAdvToolBar) and not (Parent is TAdvCustomToolBar) then - FAdvToolBar.Broadcast(Msg) - else if Assigned(AdvToolBar) and (Parent is TAdvCustomToolBar) and Assigned(AdvToolBar.FOptionWindowPanel) then - FAdvToolBar.FOptionWindowPanel.Broadcast(Msg); } - end; -end; -{$ENDIF} - -//------------------------------------------------------------------------------ - -{$IFDEF TMSDOTNET} -procedure TAdvCustomGlowButton.ButtonPressed(Group: Integer; Button: TAdvGlowButton); -begin - if (Group = FGroupIndex) and (Button <> Self) then - begin - if Button.Down and FDownChecked then - begin - FDownChecked := False; - FState := absUp; - if (Action is TCustomAction) then - TCustomAction(Action).Checked := False; - Invalidate; - end; - //FAllowAllUp := Button.AllowAllUp; - end; -end; - -procedure TAdvCustomGlowButton.UpdateExclusive; -var - I: Integer; -begin - if (FGroupIndex <> 0) and (Parent <> nil) then - begin - for I := 0 to Parent.ControlCount - 1 do - if Parent.Controls[I] is TSpeedButton then - TAdvToolButton(Parent.Controls[I]).ButtonPressed(FGroupIndex, Self); - end; -end; -{$ENDIF} - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.UpdateTracking; -var - P: TPoint; - FNewMouseInControl: boolean; -begin - //if FFlat then - begin - if Enabled then - begin - GetCursorPos(P); - - FNewMouseInControl := not (FindDragTarget(P, True) = Self); - - if FNewMouseInControl <> FMouseInControl then - begin - FMouseInControl := FNewMouseInControl; - if FMouseInControl then - Perform(CM_MOUSELEAVE, 0, 0) - else - Perform(CM_MOUSEENTER, 0, 0); - end; - end; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetAllowAllUp(const Value: Boolean); -begin - if FAllowAllUp <> Value then - begin - FAllowAllUp := Value; - UpdateExclusive; - end; -end; - -procedure TAdvCustomGlowButton.SetAntiAlias(const Value: TAntiAlias); -begin - if (FAntiAlias <> Value) then - begin - FAntiAlias := Value; - Invalidate; - end; -end; - -procedure TAdvCustomGlowButton.SetTrimming(const Value: TStringTrimming); -begin - if (FTrimming <> Value) then - begin - FTrimming := Value; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.MouseMove(Shift: TShiftState; X, Y: Integer); -var - NewState: TAdvButtonState; - FOldInButton: Boolean; -begin - inherited; - - if (csDesigning in ComponentState) then - Exit; - - {$IFNDEF DELPHI2006_LVL} - UpdateTracking; - {$ENDIF} - - FOldInButton := FInButton; - FInButton := false; - - if DropDownButton then - begin - case DropDownPosition of - dpRight: if X > Width - 12 then FInButton := true; - dpBottom: if Y > Height - 12 then FInButton := true; - end; - end; - - if (FInButton <> FOldInButton) then - begin - Invalidate; - end; - - if FDragging then - begin - if (not FDownChecked) then NewState := absUp - else NewState := absExclusive; - - if (X >= 0) and (X < ClientWidth) and (Y >= 0) and (Y <= ClientHeight) then - if FDownChecked then NewState := absExclusive else NewState := absDown; - - if (Style = bsCheck) and FDownChecked then - begin - NewState := absDown; - end; - - if (NewState <> FState) then - begin - FState := NewState; - Invalidate; - end; - end - else - if not FMouseInControl then - UpdateTracking; - -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetLayout(const Value: TButtonLayout); -begin - FLayout := Value; - Invalidate; -end; - -procedure TAdvCustomGlowButton.SetOfficeHint(const Value: TAdvHintInfo); -begin - FOfficeHint.Assign(Value); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetPicture(const Value: TGDIPPicture); -begin - FIPicture.Assign(Value); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetTransparent(const Value: Boolean); -begin - FTransparent := Value; -// ReCreateWnd; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDropDownButton(const Value: Boolean); -begin - if FDropDownButton <> Value then - begin - //if (Value and not (Style = bsCheck)) or not Value then - FDropDownButton := Value; - AdjustSize; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDropDownDirection(const Value: TDropDownDirection); -begin - if FDropDownDirection <> Value then - begin - //if (Value and not (Style = bsCheck)) or not Value then - FDropDownDirection := Value; - Invalidate; - end; -end; - - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.PopupBtnDown; -begin - if Assigned(FOnDropDown) then - FOnDropDown(self); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetDropDownPosition( - const Value: TDropDownPosition); -begin - if FDropDownPosition <> Value then - begin - FDropDownPosition := Value; - if FDropDownButton then - AdjustSize; - Invalidate; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.OnAppearanceChanged(Sender: TObject); -begin - Invalidate; - if Assigned(FShortCutHint) then - begin - FShortCutHint.Color := clWhite; - FShortCutHint.ColorTo := Appearance.Color; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetAppearance( - const Value: TGlowButtonAppearance); -begin - FAppearance.Assign(Value); - if Assigned(FShortCutHint) then - begin - FShortCutHint.Color := clWhite; - FShortCutHint.ColorTo := Appearance.Color; - end; -end; - -procedure TAdvCustomGlowButton.SetBorderStyle(const Value: TBorderStyle); -begin - FBorderStyle := Value; - Invalidate; -end; - -procedure TAdvCustomGlowButton.SetButtonPosition(const Value: TButtonPosition); -begin - FButtonPosition := Value; - Invalidate; -end; - -procedure TAdvCustomGlowButton.SetComponentStyle(AStyle: TTMSStyle); -begin - if (Astyle in [tsOffice2003Blue, tsOffice2003Silver, tsOffice2003Olive, tsWhidbey]) then - begin - Appearance.ColorHot := $EBFDFF; - Appearance.ColorHotTo := $ACECFF; - Appearance.ColorMirrorHot := $59DAFF; - Appearance.ColorMirrorHotTo := $A4E9FF; - Appearance.BorderColorHot := $99CEDB; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $76AFF1; - Appearance.ColorDownTo := $4190F3; - Appearance.ColorMirrorDown := $0E72F1; - Appearance.ColorMirrorDownTo := $4C9FFD; - Appearance.BorderColorDown := $45667B; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - Appearance.ColorChecked := $B5DBFB; - Appearance.ColorCheckedTo := $78C7FE; - Appearance.ColorMirrorChecked := $9FEBFD; - Appearance.ColorMirrorCheckedTo := $56B4FE; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - - end; - - case AStyle of - tsOffice2003Blue: - begin - Appearance.Color := $EEDBC8; - Appearance.ColorTo := $F6DDC9; - Appearance.ColorMirror := $EDD4C0; - Appearance.ColorMirrorTo := $F7E1D0; - Appearance.BorderColor := $E0B99B; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - end; - tsOffice2003Olive: - begin - Appearance.Color := $CFF0EA; - Appearance.ColorTo := $CFF0EA; - Appearance.ColorMirror := $CFF0EA; - Appearance.ColorMirrorTo := $8CC0B1; - Appearance.BorderColor := $8CC0B1; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - end; - tsOffice2003Silver: - begin - Appearance.Color := $E6E9E2; //$EDD4C0; - Appearance.ColorTo := $00E6D8D8; - Appearance.ColorMirror := $E6E9E2; //$EDD4C0; - Appearance.ColorMirrorTo := $C8B2B3; - Appearance.BorderColor := $927476; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - end; - tsOffice2003Classic: - begin - Appearance.Color := clWhite; - Appearance.ColorTo := $C9D1D5; - Appearance.ColorMirror := clWhite; - Appearance.ColorMirrorTo := $C9D1D5; - Appearance.BorderColor := clBlack; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - Appearance.ColorHot := $EBFDFF; - Appearance.ColorHotTo := $ACECFF; - Appearance.ColorMirrorHot := $59DAFF; - Appearance.ColorMirrorHotTo := $A4E9FF; - Appearance.BorderColorHot := $99CEDB; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $76AFF1; - Appearance.ColorDownTo := $4190F3; - Appearance.ColorMirrorDown := $0E72F1; - Appearance.ColorMirrorDownTo := $4C9FFD; - Appearance.BorderColorDown := $45667B; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - Appearance.ColorChecked := $B5DBFB; - Appearance.ColorCheckedTo := $78C7FE; - Appearance.ColorMirrorChecked := $9FEBFD; - Appearance.ColorMirrorCheckedTo := $56B4FE; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - - end; - tsOffice2007Luna: - begin - Appearance.Color := $EEDBC8; - Appearance.ColorTo := $F6DDC9; - Appearance.ColorMirror := $EDD4C0; - Appearance.ColorMirrorTo := $F7E1D0; - Appearance.BorderColor := $E0B99B; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - Appearance.ColorHot := $EBFDFF; - Appearance.ColorHotTo := $ACECFF; - Appearance.ColorMirrorHot := $59DAFF; - Appearance.ColorMirrorHotTo := $A4E9FF; - Appearance.BorderColorHot := $99CEDB; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $76AFF1; - Appearance.ColorDownTo := $4190F3; - Appearance.ColorMirrorDown := $0E72F1; - Appearance.ColorMirrorDownTo := $4C9FFD; - Appearance.BorderColorDown := $45667B; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - Appearance.ColorChecked := $B5DBFB; - Appearance.ColorCheckedTo := $78C7FE; - Appearance.ColorMirrorChecked := $9FEBFD; - Appearance.ColorMirrorCheckedTo := $56B4FE; - Appearance.BorderColorChecked := $45667B; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - end; - tsOffice2007Obsidian: - begin - Appearance.Color := $DFDED6; - Appearance.ColorTo := $E4E2DB; - Appearance.ColorMirror := $D7D5CE; - Appearance.ColorMirrorTo := $E7E5E0; - Appearance.BorderColor := $C0BCB2; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - Appearance.ColorHot := $EBFDFF; - Appearance.ColorHotTo := $ACECFF; - Appearance.ColorMirrorHot := $59DAFF; - Appearance.ColorMirrorHotTo := $A4E9FF; - Appearance.BorderColorHot := $99CEDB; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $76AFF1; - Appearance.ColorDownTo := $4190F3; - Appearance.ColorMirrorDown := $0E72F1; - Appearance.ColorMirrorDownTo := $4C9FFD; - Appearance.BorderColorDown := $45667B; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - Appearance.ColorChecked := $B5DBFB; - Appearance.ColorCheckedTo := $78C7FE; - Appearance.ColorMirrorChecked := $9FEBFD; - Appearance.ColorMirrorCheckedTo := $56B4FE; - Appearance.BorderColorChecked := $45667B; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - - end; - tsOffice2007Silver: - begin - Appearance.Color := $F3F3F1; - Appearance.ColorTo := $F5F5F3; - Appearance.ColorMirror := $EEEAE7; - Appearance.ColorMirrorTo := $F8F7F6; - Appearance.BorderColor := $CCCAC9; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - Appearance.ColorHot := $EBFDFF; - Appearance.ColorHotTo := $ACECFF; - Appearance.ColorMirrorHot := $59DAFF; - Appearance.ColorMirrorHotTo := $A4E9FF; - Appearance.BorderColorHot := $99CEDB; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $76AFF1; - Appearance.ColorDownTo := $4190F3; - Appearance.ColorMirrorDown := $0E72F1; - Appearance.ColorMirrorDownTo := $4C9FFD; - Appearance.BorderColorDown := $45667B; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - Appearance.ColorChecked := $B5DBFB; - Appearance.ColorCheckedTo := $78C7FE; - Appearance.ColorMirrorChecked := $9FEBFD; - Appearance.ColorMirrorCheckedTo := $56B4FE; - Appearance.BorderColorChecked := $45667B; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - end; - tsWindowsXP: - begin - Appearance.Color := clWhite; - Appearance.ColorTo := $B9D8DC; - Appearance.ColorMirror := $B9D8DC; - Appearance.ColorMirrorTo := $B9D8DC; - Appearance.BorderColor := $B9D8DC; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - Appearance.ColorHot := $EFD3C6; - Appearance.ColorHotTo := $EFD3C6; - Appearance.ColorMirrorHot := $EFD3C6; - Appearance.ColorMirrorHotTo := $EFD3C6; - Appearance.BorderColorHot := clHighlight; - Appearance.GradientHot := ggVertical; - Appearance.GradientMirrorHot := ggVertical; - - Appearance.ColorDown := $B59284; - Appearance.ColorDownTo := $B59284; - Appearance.ColorMirrorDown := $B59284; - Appearance.ColorMirrorDownTo := $B59284; - Appearance.BorderColorDown := clHighlight; - Appearance.GradientDown := ggVertical; - Appearance.GradientMirrorDown := ggVertical; - - - Appearance.ColorChecked := $B9D8DC; - Appearance.ColorCheckedTo := $B9D8DC; - Appearance.ColorMirrorChecked := $B9D8DC; - Appearance.ColorMirrorCheckedTo := $B9D8DC; - Appearance.BorderColorChecked := clBlack; - Appearance.GradientChecked := ggVertical; - Appearance.GradientMirrorChecked := ggVertical; - - end; - tsWhidbey: - begin - Appearance.Color := clWhite; - Appearance.ColorTo := $DFEDF0; - Appearance.ColorMirror := $DFEDF0; - Appearance.ColorMirrorTo := $DFEDF0; - Appearance.BorderColor := $99A8AC; - Appearance.Gradient := ggVertical; - Appearance.GradientMirror := ggVertical; - - end; - tsCustom: - begin - end; - end; - Invalidate; - - if Assigned(FShortCutHint) then - begin - FShortCutHint.Color := clWhite; - FShortCutHint.ColorTo := Appearance.Color; - end; - -end; - - -//------------------------------------------------------------------------------ - -//------------------------------------------------------------------------------ - -{$IFDEF DELPHI6_LVL} -procedure TAdvCustomGlowButton.ActionChange(Sender: TObject; CheckDefaults: Boolean); -begin - inherited ActionChange(Sender, CheckDefaults); - if Sender is TCustomAction then - with TCustomAction(Sender) do - begin - - if CheckDefaults or (Self.GroupIndex = 0) then - Self.GroupIndex := GroupIndex; - if (csDesigning in ComponentState) - {$IFDEF DELPHI2006_LVL} - or not self.StaticActionImageIndex - {$ENDIF} - then - begin - if ActionHasImages then - Self.ImageIndex := ImageIndex; - end; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGlowButton.GetActionLinkClass: TControlActionLinkClass; -begin - Result := TAdvGlowButtonActionLink; -end; -{$ENDIF} - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetButtonSizeState( - const Value: TButtonSizeState); -begin - if (FButtonSizeState <> Value) {and AutoSize} then - begin - if (FButtonSizeState = bsLarge) then - begin - FOldLayout := Layout; - FOldDropDownPosition := DropDownPosition; - end; - - FButtonSizeState := Value; - - if (FButtonSizeState = bsLarge) and AutoSize then - begin - Layout := FOldLayout; - DropDownPosition := FOldDropDownPosition; - end - else if AutoSize then - begin - Layout := blGlyphLeft; - DropDownPosition := dpRight; - end; - FFirstPaint := True; - Paint; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetMaxButtonSizeState( - const Value: TButtonSizeState); -begin - if (FMaxButtonSizeState <> Value) {and AutoSize} then - begin - FMaxButtonSizeState := Value; - ButtonSizeState := FMaxButtonSizeState - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGlowButton.GetNotes: TStrings; -begin - Result := TStrings(FNotes); -end; - - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetNotes(const Value: TStrings); -begin - FNotes.Assign(Value); - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetNotesFont(const Value: TFont); -begin - FNotesFont.Assign(Value); - Invalidate; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvCustomGlowButton.SetMinButtonSizeState( - const Value: TButtonSizeState); -begin - if (FMinButtonSizeState <> Value) then - begin - FMinButtonSizeState := Value; - if (FMinButtonSizeState > ButtonSizeState) then - ButtonSizeState := FMinButtonSizeState; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvCustomGlowButton.GetButtonSize(BtnSizeState: TButtonSizeState): TSize; -var - DCaption: string; - DWideCaption: widestring; - ImgList: TImageList; - Pic: TGDIPPicture; - EnabledImg: Boolean; - BD: TButtonDisplay; - bmp: TBitmap; - DrawFocused, DrawFocusedHot, DrawDwLn: boolean; - PicSize: TSize; - LayOt: TButtonLayout; - DpDwPosition: TDropDownPosition; -begin - if Enabled or (DisabledImages = nil) then - begin - if FHot and (HotImages <> nil) then - ImgList := HotImages - else - ImgList := Images; - - EnabledImg := Enabled; - end - else - begin - ImgList := DisabledImages; - EnabledImg := True; - end; - - if Enabled or DisabledPicture.Empty then - begin - if FHot and not HotPicture.Empty then - Pic := HotPicture - else - Pic := Picture; - end - else - Pic := DisabledPicture; - - - if (ImgList = nil) then - begin - ImgList := FInternalImages; - EnabledImg := True; - end; - - if ShowCaption then - begin - DCaption := Caption; - DWideCaption := WideCaption; - end - else - begin - DCaption := ''; - DWideCaption := ''; - end; - - if (FMouseInControl or FMouseDown) and DropDownButton then - begin - if FInButton then - BD := bdDropDown - else - BD := bdButton; - end - else - BD := bdNone; - - DrawFocused := (FHasFocus) and (FocusType in [ftBorder, ftHotBorder]); - DrawFocusedHot := (FHasFocus) and (FocusType in [ftHot, ftHotBorder]); - - bmp := TBitmap.Create; - bmp.Width := 1; - bmp.Height := 1; - - GetToolImage(bmp); - - if Assigned(Action) then - begin - begin - if ((Action as TCustomAction).ImageIndex >= 0) and (ImageIndex = (Action as TCustomAction).ImageIndex) then - if Assigned((Action as TCustomAction).ActionList) then - if Assigned(TImageList((Action as TCustomAction).ActionList.Images)) then - begin - ImgList := TImageList((Action as TCustomAction).ActionList.Images); - EnabledImg := Enabled; - end; - end; - end; - - LayOt := Layout; - DpDwPosition := DropDownPosition; - - PicSize.cx := 0; // no stretch pic - PicSize.cy := 0; - if AutoSize then - begin - if (BtnSizeState in [bsLabel, bsGlyph]) then - begin - PicSize.cx := 16; - PicSize.cy := 16; - - if (bmp.Width = 1) then - begin - bmp.Height := Pic.Height; - bmp.Width := Pic.Width; - bmp.Canvas.Draw(0, 0, Pic); - Pic := nil; - end; - - if Assigned(ImgList) and (ImageIndex >= 0) then - begin - Pic := nil; - end; - end; - - if (BtnSizeState = bsGlyph) then - begin - DCaption := ''; - DWideCaption := ''; - end; - - if (BtnSizeState = bsLarge) then - begin - LayOt := FOldLayout; - DpDwPosition := FOldDropDownPosition; - end - else - begin - LayOt := blGlyphLeft; - DpDwPosition := dpRight; - end; - end; - - DrawDwLn := False; - - with Appearance do - Result := DrawVistaButton(Canvas,ClientRect,FColor, FColorTo, FColorMirror, FColorMirrorTo, - BorderColor, Gradient, GradientMirror, DCaption, DWideCaption, FDefaultCaptionDrawing, Font, ImgList, ImageIndex, EnabledImg, LayOt, FDropDownButton, - DrawDwLn, Enabled, DrawFocused, DpDwPosition, Pic, PicSize, AntiAlias, FDefaultPicDrawing, bmp, BD, Transparent and not (FMouseEnter or DrawFocusedHot or (State = absDown)), FMouseEnter, Position, DropDownSplit, CanDrawBorder, - FOverlappedText, FWordWrap, True, FRounded, FDropDownDirection = ddDown, FSpacing, FTrimming, FNotes, FNotesFont, FDownChecked); - - Result.cx := Result.cx + Spacing * 3 + 2 + 2 * MarginHorz; - Result.cy := Result.cy + Spacing * 2 + 2 * MarginVert; - if DropDownButton then - begin - if (DpDwPosition = dpBottom) then - Result.cy := Result.cy + DropDownSectWidth - else - Result.cx := Result.cx + DropDownSectWidth; - end; - //if Assigned(FOnSetButtonSize) then - //FOnSetButtonSize(Self, w, h); - - bmp.Free; -end; - -//------------------------------------------------------------------------------ - -{ TGlowButtonAppearance } - -constructor TGlowButtonAppearance.Create; -begin - inherited; - Color := clWhite; - ColorTo := clWhite; - ColorMirror := clSilver; - ColorMirrorTo := clWhite; - - ColorHot := $F5F0E1; - ColorHotTo := $F9D2B2; - ColorMirrorHot := $F5C8AD; - ColorMirrorHotTo := $FFF8F4; - - ColorDown := BrightnessColor($F5F0E1,-10,-10,0); - ColorDownTo := BrightnessColor($F9D2B2, -10,-10,0); - ColorMirrorDown := BrightnessColor($F5C8AD, -10,-10,0); - ColorMirrorDownTo := BrightnessColor($FFF8F4, -10,-10,0); - - ColorChecked := BrightnessColor($F5F0E1,-10,-10,0); - ColorCheckedTo := BrightnessColor($F9D2B2, -10,-10,0); - ColorMirrorChecked := BrightnessColor($F5C8AD, -10,-10,0); - ColorMirrorCheckedTo := BrightnessColor($FFF8F4, -10,-10,0); - - ColorDisabled := BrightnessColor(clWhite,-5,-5,-5); - ColorDisabledTo := BrightnessColor(clWhite, -5,-5,-5); - ColorMirrorDisabled := BrightnessColor(clSilver, -5,-5,-5); - ColorMirrorDisabledTo := BrightnessColor(clWhite, -5,-5,-5); - - BorderColor := clSilver; - BorderColorHot := clBlue; - BorderColorDown := clNavy; - BorderColorChecked := clBlue; - BorderColorDisabled := clGray; - - Gradient := ggVertical; - GradientMirror := ggVertical; - - GradientHot := ggRadial; - GradientMirrorHot := ggRadial; - - GradientDown := ggRadial; - GradientMirrorDown := ggRadial; - - GradientChecked := ggRadial; - GradientMirrorChecked := ggVertical; - - GradientDisabled := ggRadial; - GradientMirrorDisabled := ggRadial; - - FSystemFont := true; -end; - -procedure TGlowButtonAppearance.SetSystemFont(const Value: boolean); -begin - if (FSystemFont <> Value) then - begin - FSystemFont := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.Assign(Source: TPersistent); -begin - if (Source is TGlowButtonAppearance) then - begin - Color := (Source as TGlowButtonAppearance).Color; - ColorTo := (Source as TGlowButtonAppearance).ColorTo; - ColorMirror := (Source as TGlowButtonAppearance).ColorMirror; - ColorMirrorTo := (Source as TGlowButtonAppearance).ColorMirrorTo; - - ColorHot := (Source as TGlowButtonAppearance).ColorHot; - ColorHotTo := (Source as TGlowButtonAppearance).ColorHotTo; - ColorMirrorHot := (Source as TGlowButtonAppearance).ColorMirrorHot; - ColorMirrorHotTo := (Source as TGlowButtonAppearance).ColorMirrorHotTo; - - ColorDown := (Source as TGlowButtonAppearance).ColorDown; - ColorDownTo := (Source as TGlowButtonAppearance).ColorDownTo; - ColorMirrorDown := (Source as TGlowButtonAppearance).ColorMirrorDown; - ColorMirrorDownTo := (Source as TGlowButtonAppearance).ColorMirrorDownTo; - - ColorChecked := (Source as TGlowButtonAppearance).ColorChecked; - ColorCheckedTo := (Source as TGlowButtonAppearance).ColorCheckedTo; - ColorMirrorChecked := (Source as TGlowButtonAppearance).ColorMirrorChecked; - ColorMirrorCheckedTo := (Source as TGlowButtonAppearance).ColorMirrorCheckedTo; - - ColorDisabled := (Source as TGlowButtonAppearance).ColorDisabled; - ColorDisabledTo := (Source as TGlowButtonAppearance).ColorDisabledTo; - ColorMirrorDisabled := (Source as TGlowButtonAppearance).ColorMirrorDisabled; - ColorMirrorDisabledTo := (Source as TGlowButtonAppearance).ColorMirrorDisabledTo; - - BorderColor := (Source as TGlowButtonAppearance).BorderColor; - BorderColorHot := (Source as TGlowButtonAppearance).BorderColorHot; - BorderColorDown := (Source as TGlowButtonAppearance).BorderColorDown; - BorderColorChecked := (Source as TGlowButtonAppearance).BorderColorChecked; - BorderColorDisabled := (Source as TGlowButtonAppearance).BorderColorDisabled; - - Gradient := (Source as TGlowButtonAppearance).Gradient; - GradientMirror := (Source as TGlowButtonAppearance).GradientMirror; - - GradientHot := (Source as TGlowButtonAppearance).GradientHot; - GradientMirrorHot := (Source as TGlowButtonAppearance).GradientMirrorHot; - - GradientDown := (Source as TGlowButtonAppearance).GradientDown; - GradientMirrorDown := (Source as TGlowButtonAppearance).GradientMirrorDown; - - GradientChecked := (Source as TGlowButtonAppearance).GradientChecked; - GradientMirrorChecked := (Source as TGlowButtonAppearance).GradientMirrorChecked; - - GradientDisabled := (Source as TGlowButtonAppearance).GradientDisabled; - GradientMirrorDisabled := (Source as TGlowButtonAppearance).GradientMirrorDisabled; - - SystemFont := (Source as TGlowButtonAppearance).SystemFont; - end - else - inherited Assign(Source); -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.Changed; -begin - if Assigned(FOnChange) then - FOnChange(Self); -end; - -procedure TGlowButtonAppearance.SetBorderColor(const Value: TColor); -begin - if (FBorderColor <> Value) then - begin - FBorderColor := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetBorderColorChecked(const Value: TColor); -begin - if (FBorderColorChecked <> Value) then - begin - FBorderColorChecked := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetBorderColorDisabled( - const Value: TColor); -begin - if (FBorderColorDisabled <> Value) then - begin - FBorderColorDisabled := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetBorderColorDown(const Value: TColor); -begin - if (FBorderColorDown <> Value) then - begin - FBorderColorDown := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetBorderColorHot(const Value: TColor); -begin - if (FBorderColorHot <> Value) then - begin - FBorderColorHot := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColor(const Value: TColor); -begin - if (FColor <> Value) then - begin - FColor := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorChecked(const Value: TColor); -begin - if (FColorChecked <> Value) then - begin - FColorChecked := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorCheckedTo(const Value: TColor); -begin - if (FColorCheckedTo <> Value) then - begin - FColorCheckedTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorDisabled(const Value: TColor); -begin - if (FColorDisabled <> Value) then - begin - FColorDisabled := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorDisabledTo(const Value: TColor); -begin - if (FColorDisabledTo <> Value) then - begin - FColorDisabledTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorDown(const Value: TColor); -begin - if (FColorDown <> Value) then - begin - FColorDown := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorDownTo(const Value: TColor); -begin - if (FColorDownTo <> Value) then - begin - FColorDownTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorHot(const Value: TColor); -begin - if (FColorHot <> Value) then - begin - FColorHot := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorHotTo(const Value: TColor); -begin - if (FColorHotTo <> Value) then - begin - FColorHotTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirror(const Value: TColor); -begin - if (FColorMirror <> Value) then - begin - FColorMirror := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorChecked(const Value: TColor); -begin - if (FColorMirrorChecked <> Value) then - begin - FColorMirrorChecked := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorCheckedTo( - const Value: TColor); -begin - if (FColorMirrorCheckedTo <> Value) then - begin - FColorMirrorCheckedTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorDisabled( - const Value: TColor); -begin - if (FColorMirrorDisabled <> Value) then - begin - FColorMirrorDisabled := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorDisabledTo( - const Value: TColor); -begin - if (FColorMirrorDisabledTo <> Value) then - begin - FColorMirrorDisabledTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorDown(const Value: TColor); -begin - if (FColorMirrorDown <> Value) then - begin - FColorMirrorDown := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorDownTo(const Value: TColor); -begin - if (FColorMirrorDownTo <> Value) then - begin - FColorMirrorDownTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorHot(const Value: TColor); -begin - if (FColorMirrorHot <> Value) then - begin - FColorMirrorHot := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorHotTo(const Value: TColor); -begin - if (FColorMirrorHotTo <> Value) then - begin - FColorMirrorHotTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorMirrorTo(const Value: TColor); -begin - if (FColorMirrorTo <> Value) then - begin - FColorMirrorTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetColorTo(const Value: TColor); -begin - if (FColorTo <> Value) then - begin - FColorTo := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradient(const Value: TGDIPGradient); -begin - if (FGradient <> Value) then - begin - FGradient := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientChecked( - const Value: TGDIPGradient); -begin - if (FGradientChecked <> Value) then - begin - FGradientChecked := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientDisabled( - const Value: TGDIPGradient); -begin - if (FGradientDisabled <> Value) then - begin - FGradientDisabled := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientDown( - const Value: TGDIPGradient); -begin - if (FGradientDown <> Value) then - begin - FGradientDown := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientHot(const Value: TGDIPGradient); -begin - if (FGradientHot <> Value) then - begin - FGradientHot := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientMirror( - const Value: TGDIPGradient); -begin - if (FGradientMirror <> Value) then - begin - FGradientMirror := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientMirrorChecked( - const Value: TGDIPGradient); -begin - if (FGradientMirrorChecked <> Value) then - begin - FGradientMirrorChecked := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientMirrorDisabled( - const Value: TGDIPGradient); -begin - if (FGradientMirrorDisabled <> Value) then - begin - FGradientMirrorDisabled := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientMirrorDown( - const Value: TGDIPGradient); -begin - if (FGradientMirrorDown <> Value) then - begin - FGradientMirrorDown := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TGlowButtonAppearance.SetGradientMirrorHot( - const Value: TGDIPGradient); -begin - if (FGradientMirrorHot <> Value) then - begin - FGradientMirrorHot := Value; - Changed; - end; -end; - -//------------------------------------------------------------------------------ - -{$IFNDEF TMS_STD} - -{ TDBATBButtonDataLink } - -constructor TDBGlowButtonDataLink.Create; -begin - inherited Create; - FOnEditingChanged := nil; - FOnDataSetChanged := nil; - FOnActiveChanged := nil; -end; - -//------------------------------------------------------------------------------ - -procedure TDBGlowButtonDataLink.ActiveChanged; -begin - if Assigned(FOnActiveChanged) then FOnActiveChanged(Self); -end; - -//------------------------------------------------------------------------------ - -procedure TDBGlowButtonDataLink.DataSetChanged; -begin - if Assigned(FOnDataSetChanged) then FOnDataSetChanged(Self); -end; - -//------------------------------------------------------------------------------ - -procedure TDBGlowButtonDataLink.EditingChanged; -begin - if Assigned(FOnEditingChanged) then FOnEditingChanged(Self); -end; - -//------------------------------------------------------------------------------ - -{ TDBAdvToolBarButton } - -constructor TDBAdvGlowButton.Create(AOwner: TComponent); -begin - inherited; - FAutoDisable := True; - FDBButtonType := dbCustom; - FDisableControls := []; - FDataLink := TDBGlowButtonDataLink.Create; - with FDataLink do - begin - OnEditingChanged := OnDataSetEvents; - OnDataSetChanged := OnDataSetEvents; - OnActiveChanged := OnDataSetEvents; - end; - FConfirmActionString := ''; -end; - -//------------------------------------------------------------------------------ - -destructor TDBAdvGlowButton.Destroy; -begin - FDataLink.Free; - FDataLink := nil; - if (FInternalImages <> nil) then - FInternalImages.Free; - inherited; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.CalcDisableReasons; -begin - case FDBButtonType of - dbPrior: FDisableControls := [drBOF, drEditing, drEmpty]; - dbNext: FDisableControls := [drEOF, drEditing, drEmpty]; - dbFirst: FDisableControls := [drBOF, drEditing, drEmpty]; - dbLast: FDisableControls := [drEOF, drEditing, drEmpty]; - dbInsert, - dbAppend: FDisableControls := [drReadonly, drEditing]; - dbEdit: FDisableControls := [drReadonly, drEditing, drEmpty]; - dbCancel: FDisableControls := [drNotEditing]; - dbPost: FDisableControls := [drNotEditing]; - dbRefresh: FDisableControls := [drEditing]; - dbDelete: FDisableControls := [drReadonly, drEditing, drEmpty]; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.Click; -begin - inherited; - DoAction; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.CMEnabledChanged(var Message: TMessage); -begin - inherited; - if (not FInProcUpdateEnabled) and - (not (csLoading in ComponentState)) and - (not (csDestroying in ComponentState)) then - begin - UpdateEnabled; - end; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.DoAction; -var - DoAction: Boolean; - ShowException: Boolean; -begin - if not DoConfirmAction then - Exit; - - DoAction := (FDBButtonType <> dbCustom); - try - DoBeforeAction(DoAction); - if DoAction and (DataSource <> nil) and (DataSource.State <> dsInactive) then - begin - with DataSource.DataSet do - begin - case FDBButtonType of - dbPrior: Prior; - dbNext: Next; - dbFirst: First; - dbLast: Last; - dbInsert: Insert; - dbAppend: Append; - dbEdit: Edit; - dbCancel: Cancel; - dbPost: Post; - dbRefresh:Refresh; - dbDelete: Delete; - end; - end; - end; - ShowException := false; - except - ShowException := true; - if Assigned(FOnAfterAction) then - FOnAfterAction(self, ShowException); - if ShowException then - raise; - ShowException := true; - end; - if not ShowException and DoAction and Assigned(FOnAfterAction) then - FOnAfterAction(self, ShowException); -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.DoBeforeAction(var DoAction: Boolean); -begin - if (not (csDesigning in ComponentState)) and Assigned(FOnBeforeAction) then - FOnBeforeAction(self, DoAction); -end; - -//------------------------------------------------------------------------------ - -function TDBAdvGlowButton.DoConfirmAction: Boolean; -var - Question: string; - QuestionButtons: TMsgDlgButtons; - QuestionHelpCtx: Longint; - QuestionResult: Longint; -begin - DoGetQuestion(Question, QuestionButtons, QuestionHelpCtx); - if (Question <> '') then - begin - QuestionResult := MessageDlg(Question, mtConfirmation, QuestionButtons, QuestionHelpCtx); - Result := (QuestionResult = idOk) or (QuestionResult = idYes); - end - else - Result := true; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.DoGetQuestion(var Question: string; - var Buttons: TMsgDlgButtons; var HelpCtx: Integer); -begin - Question := ''; - if FConfirmAction then - begin - Question := FConfirmActionString; - Buttons := mbOKCancel; - HelpCtx := 0; - if Assigned(FOnGetConfirm) then - FOnGetConfirm(self, Question, Buttons, HelpCtx); - end; -end; - -//------------------------------------------------------------------------------ - -function TDBAdvGlowButton.GetDataSource: TDataSource; -begin - Result := FDataLink.DataSource; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - inherited; - if (AOperation = opRemove) and (FDataLink <> nil) and (AComponent = DataSource) then - DataSource := nil; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.SetDataSource(const Value: TDataSource); -begin - FDataLink.DataSource := Value; - if not (csLoading in ComponentState) then - UpdateEnabled; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.SetDBButtonType(const Value: TDBGlowButtonType); -begin - if (Value = FDBButtonType) then - Exit; - - if (Value = dbDelete) and (FConfirmActionString = ''){and ConfirmAction} then - FConfirmActionString := SDeleteRecordQuestion; //'Delete Record?'; - - if (csReading in ComponentState) or (csLoading in ComponentState) then - begin - FDBButtonType := Value; - CalcDisableReasons; - exit; - end; - - FDBButtonType := Value; - LoadGlyph; - CalcDisableReasons; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.UpdateEnabled; -var - PossibleDisableReasons: TDBBDisableControls; - GetEnable: Boolean; - WasEnabled: Boolean; -begin - if (csDesigning in ComponentState) or (csDestroying in ComponentState) or not FAutoDisable then - Exit; - - FInProcUpdateEnabled := true; - try - WasEnabled := Enabled; - if FDataLink.Active then - begin - PossibleDisableReasons := []; - if FDataLink.DataSet.BOF then - Include(PossibleDisableReasons, drBOF); - if FDataLink.DataSet.EOF then - Include(PossibleDisableReasons, drEOF); - if not FDataLink.DataSet.CanModify then - Include(PossibleDisableReasons, drReadonly); - if FDataLink.DataSet.BOF and FDataLink.DataSet.EOF then - Include(PossibleDisableReasons, drEmpty); - if FDataLink.Editing then - Include(PossibleDisableReasons, drEditing) - else - Include(PossibleDisableReasons, drNotEditing); - - GetEnable := ((FDisableControls - [drEvent])* PossibleDisableReasons = []); - if (drEvent in FDisableControls) and (Assigned(FOnGetEnabled)) then - FOnGetEnabled(Self, GetEnable); - Enabled := GetEnable; - end - else - Enabled := false; - - if (WasEnabled <> Enabled) and Assigned(FOnEnabledChanged) then - FOnEnabledChanged(self); - finally - FInProcUpdateEnabled := false; - end; - LoadGlyph; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.Loaded; -begin - inherited; - //if not Assigned(Images) then - LoadGlyph; - - UpdateEnabled; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.OnDataSetEvents(Sender: TObject); -begin - UpdateEnabled; -end; - -//------------------------------------------------------------------------------ - -procedure TDBAdvGlowButton.LoadGlyph; -var - Glyph: TBitMap; -begin - if (csLoading in ComponentState) or Assigned(Images) or (not Enabled and Assigned(DisabledImages)) then - Exit; - - if (FDBButtonType = dbCustom) then - Exit; - - if (FInternalImages = nil) then - FInternalImages := TImageList.Create(self); - - FInternalImages.Clear; - Glyph := TBitMap.Create; - Glyph.Width := 16; - Glyph.Height := 16; - Glyph.Transparent := True; - - case FDBButtonType of - dbPrior: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGPRIOR') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGPRIORD'); - end; - dbNext: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGNEXT') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGNEXTD'); - end; - dbFirst: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGFIRST') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGFIRSTD'); - end; - dbLast: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGLAST') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGLASTD'); - end; - dbInsert: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGINSERT') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGINSERTD'); - end; - dbAppend: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGINSERT') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGINSERTD'); - end; - dbEdit: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGEDIT') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGEDITD'); - end; - dbCancel: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGCANCEL') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGCANCELD'); - end; - dbPost: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGPOST') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGPOSTD'); - end; - dbRefresh: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGREFRESH') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGREFRESHD'); - end; - dbDelete: - begin - if Enabled then - Glyph.LoadFromResourceName(HInstance, 'DBIMGDELETE') - else - Glyph.LoadFromResourceName(HInstance, 'DBIMGDELETED'); - end; - end; - - FInternalImages.DrawingStyle := dsTransparent; - FInternalImages.Masked := true; - FInternalImages.AddMasked(Glyph, clFuchsia); - FImageIndex := 0; - Glyph.Free; - Invalidate; -end; - -//------------------------------------------------------------------------------ - - -procedure TDBAdvGlowButton.SetConfirmActionString(const Value: String); -begin - if FConfirmActionString <> Value then - begin - FConfirmActionString := Value; - end; -end; - -{$ENDIF} - -//------------------------------------------------------------------------------ - -{$IFDEF DELPHI6_LVL} - -{ TAdvGlowButtonActionLink } - -procedure TAdvGlowButtonActionLink.AssignClient(AClient: TObject); - -begin - inherited AssignClient(AClient); - FClient := AClient as TAdvCustomGlowButton; -end; - -//------------------------------------------------------------------------------ - -function TAdvGlowButtonActionLink.IsCheckedLinked: Boolean; -begin - Result := inherited IsCheckedLinked {and (FClient.GroupIndex <> 0) and - FClient.AllowAllUp} and (FClient.Down = (Action as TCustomAction).Checked); - - FClient.CheckLinked := Result; -end; - -//------------------------------------------------------------------------------ - -function TAdvGlowButtonActionLink.IsGroupIndexLinked: Boolean; -begin - Result := (FClient is TAdvCustomGlowButton) and - (TAdvCustomGlowButton(FClient).GroupIndex = (Action as TCustomAction).GroupIndex); - - FClient.GroupIndexLinked := Result; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvGlowButtonActionLink.SetImageIndex(Value: Integer); -begin - if IsGroupIndexLinked then - begin - FImageIndex := Value; - TAdvCustomGlowButton(FClient).Invalidate; - - if (csDesigning in FClient.ComponentState) - {$IFDEF DELPHI2006_LVL} - or not TAdvCustomGlowButton(FClient).StaticActionImageIndex - {$ENDIF} - then - begin - if TAdvCustomGlowButton(FClient).ActionHasImages then - TAdvCustomGlowButton(FClient).ImageIndex := Value; - end; - end; -end; - -//------------------------------------------------------------------------------ - -function TAdvGlowButtonActionLink.IsImageIndexLinked: boolean; -begin - Result := inherited IsImageIndexLinked and - (FImageIndex = (Action as TCustomAction).ImageIndex); -end; - -//------------------------------------------------------------------------------ - -procedure TAdvGlowButtonActionLink.SetChecked(Value: Boolean); -begin - if IsCheckedLinked then - TAdvCustomGlowButton(FClient).Down := Value; -end; - -//------------------------------------------------------------------------------ - -procedure TAdvGlowButtonActionLink.SetGroupIndex(Value: Integer); -begin - if IsGroupIndexLinked then - TAdvCustomGlowButton(FClient).GroupIndex := Value; -end; - -{$ENDIF} - -{ TShortCutHintWindow } - -procedure TShortCutHintWindow.CreateParams(var Params: TCreateParams); -const - CS_DROPSHADOW = $00020000; -begin - inherited; - Params.Style := Params.Style and not WS_BORDER; - if (Win32Platform = VER_PLATFORM_WIN32_NT) and - ((Win32MajorVersion > 5) or - ((Win32MajorVersion = 5) and (Win32MinorVersion >= 1))) then - if Params.WindowClass.Style and CS_DROPSHADOW <> 0 then - Params.WindowClass.Style := Params.WindowClass.Style - CS_DROPSHADOW; -end; - -procedure TShortCutHintWindow.Paint; -var - r: TRect; -begin - r := ClientRect; - DrawGradient(Canvas, Color, ColorTo, 16, r, false); - Canvas.Brush.Style := bsClear; - Canvas.Font.Assign(self.Font); - - DrawText(Canvas.Handle,PChar(Caption),Length(Caption),r, DT_CENTER or DT_SINGLELINE or DT_VCENTER); - - Canvas.Pen.Color := clGray; - RoundRect(Canvas.Handle, R.Left, R.Top, R.Right, R.Bottom, 3,3); -end; - - -procedure TShortCutHintWindow.Resize; -var - ow: integer; -begin - inherited; - ow := Canvas.TextWidth('O') + 8; - if Width < ow then - Width := ow; -end; - -procedure TShortCutHintWindow.WMEraseBkGnd(var Message: TWMEraseBkGnd); -begin - Message.Result := 1; -end; - -function TAdvCustomGlowButton.CanDrawBorder: Boolean; -begin - Result := (BorderStyle = bsSingle); -end; - -function TAdvCustomGlowButton.CanDrawFocused: Boolean; -begin - Result := (FHasFocus) and (FocusType in [ftBorder, ftHotBorder]); -end; - -{$IFDEF FREEWARE} -{$I TRIAL.INC} -{$ENDIF} - - - - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbuttondb.res b/TAdvTaskDialog/internal/1.5.1.2/1/Source/advglowbuttondb.res deleted file mode 100644 index 5a25528296f4590dd8050e55dafba629fb016ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5716 zcmdT|y^_-~5MCIHP-G^LKuJkKK?}qOnK_P|90hOU$}{eg#_yCzaA!B_c?8DVSDv^iNzfK(0WJmJ#E67}kGRmM=ak`+EoUmGv_Oe2PzXU5K~7B! ze8h!5jm_3qngXmT^5o4zM*6b8{>l^j6&!C4Rf7hv;}X zob0hVFuwyg!H3dIh>7l8@MDn1V{A=hbC2_s?uiYV%;%I&DeU*K(QAS%8|uKu+f5Jt z5I+VYF;3TE!{!F&Q(U`Ibp0BR>KmjS*IJ%U4}RdH{wpnwO98g*Ze)E53F>kb_rq#~ zf$4{G!_)c|IHEf}mkgI1nM;-pmZ9@rSdB1L-WkdbPwL+C4_z9Y9lqK;VPCV)oi}y> zpUE+QlsKlxs#bErb{rpF`sEdGD+*@HKCU`_!BeOKUp z%WMs=QBl$A6*J>5*!4m6-vZ&$?>PQ!wc;78m!`J5v{GL6vT`g;e9p8_^Jj{WF(@;9 fW+f%4krfpa?eHx}U9fkQ)wwol3~G~8nQngpYeVT% diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advhintinfo.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/advhintinfo.pas deleted file mode 100644 index 72d2354..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advhintinfo.pas +++ /dev/null @@ -1,91 +0,0 @@ -{***************************************************************************} -{ TAdvHintInfo component } -{ for Delphi & C++Builder } -{ } -{ written by TMS Software } -{ copyright © 2006 - 2008 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit AdvHintInfo; - -interface - -uses - Classes, GDIPicture; - -type - TAdvHintInfo = class(TPersistent) - private - FPicture: TGDIPPicture; - FShowHelp: boolean; - FNotes: TStrings; - FTitle: string; - FWideTitle: widestring; - FWideNotes: widestring; - procedure SetNotes(const Value: TStrings); - procedure SetPicture(const Value: TGDIPPicture); - public - constructor Create; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - property WideTitle: widestring read FWideTitle write FWideTitle; - property WideNotes: widestring read FWideNotes write FWideNotes; - published - property Title: string read FTitle write FTitle; - property Notes: TStrings read FNotes write SetNotes; - property Picture: TGDIPPicture read FPicture write SetPicture; - property ShowHelp: boolean read FShowHelp write FShowHelp default false; - end; - -implementation - -{ TAdvHintInfo } - -procedure TAdvHintInfo.Assign(Source: TPersistent); -begin - if (Source is TAdvHintInfo) then - begin - Title := (Source as TAdvHintInfo).Title; - Notes.Assign((Source as TAdvHintInfo).Notes); - ShowHelp := (Source as TAdvHintInfo).ShowHelp; - Picture.Assign((Source as TAdvHintInfo).Picture); - WideTitle := (Source as TAdvHintInfo).WideTitle; - WideNotes := (Source as TAdvHintInfo).WideNotes; - end; -end; - -constructor TAdvHintInfo.Create; -begin - inherited; - FNotes := TStringList.Create; - FPicture := TGDIPPicture.Create; -end; - -destructor TAdvHintInfo.Destroy; -begin - FNotes.Free; - FPicture.Free; - inherited; -end; - -procedure TAdvHintInfo.SetNotes(const Value: TStrings); -begin - FNotes.Assign(Value); -end; - -procedure TAdvHintInfo.SetPicture(const Value: TGDIPPicture); -begin - FPicture.Assign(Value); -end; - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advstyleif.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/advstyleif.pas deleted file mode 100644 index e392d1e..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/advstyleif.pas +++ /dev/null @@ -1,63 +0,0 @@ -{***************************************************************************} -{ TAdvStyleIF interface } -{ for Delphi & C++Builder } -{ version 1.0 } -{ } -{ written by TMS Software } -{ copyright © 2006 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit AdvStyleIF; - -interface - -uses - Classes; - -type - TTMSStyle = (tsOffice2003Blue, tsOffice2003Silver, tsOffice2003Olive, tsOffice2003Classic, - tsOffice2007Luna, tsOffice2007Obsidian, tsWindowsXP, tsWhidbey, tsCustom, tsOffice2007Silver); - - // - // ['{E1199D64-5AF9-4DB7-B363-FABE5D1EEE0F}'] - // function GetComponentStyle: TTMSStyle; - - ITMSStyle = interface - ['{11AC2DDC-C087-4298-AB6E-EA1B5017511B}'] - procedure SetComponentStyle(AStyle: TTMSStyle); - end; - -function IsVista: boolean; - -implementation - -uses - Windows; - -//------------------------------------------------------------------------------ - -function IsVista: boolean; -var - hKernel32: HMODULE; -begin - hKernel32 := GetModuleHandle('kernel32'); - if (hKernel32 > 0) then - begin - Result := GetProcAddress(hKernel32, 'GetLocaleInfoEx') <> nil; - end - else - Result := false; -end; - - -end. diff --git a/TAdvTaskDialog/internal/1.5.1.2/1/Source/gdipicture.pas b/TAdvTaskDialog/internal/1.5.1.2/1/Source/gdipicture.pas deleted file mode 100644 index 7cdbee7..0000000 --- a/TAdvTaskDialog/internal/1.5.1.2/1/Source/gdipicture.pas +++ /dev/null @@ -1,420 +0,0 @@ -{***************************************************************************} -{ TGDIPPicture class } -{ for Delphi & C++Builder } -{ } -{ written by TMS Software } -{ copyright © 2006 - 2008 } -{ Email : info@tmssoftware.com } -{ Web : http://www.tmssoftware.com } -{ } -{ The source code is given as is. The author is not responsible } -{ for any possible damage done due to the use of this code. } -{ The component can be freely used in any application. The complete } -{ source code remains property of the author and may not be distributed, } -{ published, given or sold in any form as such. No parts of the source } -{ code can be included in any other component or application without } -{ written authorization of the author. } -{***************************************************************************} - -unit GDIPicture; - -interface - -uses - Windows, Classes, Graphics, Controls , SysUtils, AdvGDIP, ComObj, ActiveX; - -{$I TMSDEFS.INC} - -type - - TGDIPPicture = class(TGraphic) - private - { Private declarations } - FDatastream: TMemoryStream; - FIsEmpty: Boolean; - FWidth, FHeight: Integer; - FDoubleBuffered: Boolean; - FBackgroundColor: TColor; - FOnClear: TNotifyEvent; - protected - { Protected declarations } - function GetEmpty: Boolean; override; - function GetHeight: Integer; override; - function GetWidth: Integer; override; - procedure SetHeight(Value: Integer); override; - procedure SetWidth(Value: Integer); override; - procedure ReadData(Stream: TStream); override; - procedure WriteData(Stream: TStream); override; - public - { Public declarations } - constructor Create; override; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - procedure DrawImage(Graphics: TGPGraphics; X,Y: integer); - procedure Draw(ACanvas: TCanvas; const Rect: TRect); override; - procedure LoadFromFile(const FileName: string); override; - procedure LoadFromStream(Stream: TStream); override; - procedure SaveToStream(Stream: TStream); override; - procedure LoadFromResourceName(Instance: THandle; const ResName: String); - procedure LoadFromResourceID(Instance: THandle; ResID: Integer); - procedure LoadFromURL(url:string); - procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; - APalette: HPALETTE); override; - procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; - var APalette: HPALETTE); override; - property DoubleBuffered: Boolean read FDoubleBuffered write FDoubleBuffered; - property BackgroundColor: TColor read FBackgroundColor write FBackgroundColor; - function GetImageSizes: boolean; - published - { Published declarations } - property OnClear: TNotifyEvent read FOnClear write FOnClear; - end; - - -implementation - - -{ TGDIPPicture } - -procedure TGDIPPicture.Assign(Source: TPersistent); -var - st: TMemoryStream; -begin - FIsEmpty := True; - if Source = nil then - begin - FDataStream.Clear; - FIsEmpty := true; - if Assigned(OnChange) then - OnChange(Self); - if Assigned(OnClear) then - OnClear(self); - end - else - begin - if Source is TGDIPPicture then - begin - FDataStream.LoadFromStream(TGDIPPicture(Source).FDataStream); - FIsEmpty := fdatastream.Size = 0; - if Assigned(OnChange) then - OnChange(self); - end - else - if Source is TBitmap then - begin - st := TMemoryStream.Create; - (Source as TBitmap).SaveToStream(st); - st.Position := 0; - FDataStream.LoadFromStream(st); - st.Free; - FIsEmpty := false; - if Assigned(OnChange) then - OnChange(self); - end - else - if (Source is TPicture) then - begin - st := TMemoryStream.Create; - (Source as TPicture).Graphic.SaveToStream(st); - st.Position := 0; - FDataStream.LoadFromStream(st); - st.Free; - FIsEmpty := false; - if Assigned(OnChange) then - OnChange(self); - end; - - GetImageSizes; - end; -end; - -constructor TGDIPPicture.Create; -begin - inherited; - FDataStream := TMemoryStream.Create; - FIsEmpty := True; -end; - -destructor TGDIPPicture.Destroy; -begin - FDataStream.Free; - inherited; -end; - -procedure TGDIPPicture.DrawImage(Graphics: TGPGraphics; X,Y: integer); -var - multi: TGPImage; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - -begin - if Empty then - Exit; - - if FDataStream.Size = 0 then - Exit; - - hGlobal := GlobalAlloc(GMEM_MOVEABLE, FDataStream.Size); - if (hGlobal = 0) then - raise Exception.Create('Could not allocate memory for image'); - - try - pstm := nil; - - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(FDataStream.Memory, FDataStream.Size,@pcbWrite); - - multi := TGPImage.Create(pstm); - - graphics.DrawImage(multi, x,y); - - multi.Free; - - finally - GlobalFree(hGlobal); - end; -end; - -procedure TGDIPPicture.Draw(ACanvas: TCanvas; const Rect: TRect); -var - dc: HDC; - multi: TGPImage; - graphic: TGPgraphics; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - bmp: tbitmap; - -begin - if Empty then - Exit; - - if FDataStream.Size = 0 then - Exit; - - hGlobal := GlobalAlloc(GMEM_MOVEABLE, FDataStream.Size); - if (hGlobal = 0) then - raise Exception.Create('Could not allocate memory for image'); - - try - pstm := nil; - - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(FDataStream.Memory, FDataStream.Size,@pcbWrite); - - dc := ACanvas.Handle; - graphic:= TGPgraphics.Create(dc); - multi := TGPImage.Create(pstm); - - if multi.GetFormat = ifBMP then - begin // use this alternative for easy bitmap auto transparent drawing - bmp := TBitmap.Create; - FDataStream.Position := 0; - bmp.LoadFromStream(FDataStream); - bmp.TransparentMode := tmAuto; - bmp.Transparent := true; - ACanvas.Draw(Rect.Left,Rect.Top, bmp); - bmp.Free; - end - else - begin - FWidth := multi.GetWidth; - FHeight := multi.GetHeight; - graphic.DrawImageRect(multi, Rect.Left, Rect.Top, Rect.Right - Rect.Left, Rect.Bottom - Rect.Top); - end; - - multi.Free; - graphic.Free; - finally - GlobalFree(hGlobal); - end; - -end; - -function TGDIPPicture.GetImageSizes: boolean; -var - multi: TGPImage; - pstm: IStream; - hGlobal: THandle; - pcbWrite: Longint; - -begin - Result := false; - - if Empty then - Exit; - - if FDataStream.Size = 0 then - Exit; - - hGlobal := GlobalAlloc(GMEM_MOVEABLE, FDataStream.Size); - if (hGlobal = 0) then - raise Exception.Create('Could not allocate memory for image'); - - try - pstm := nil; - // Create IStream* from global memory - CreateStreamOnHGlobal(hGlobal, TRUE, pstm); - pstm.Write(FDataStream.Memory, FDataStream.Size,@pcbWrite); - multi := TGPImage.Create(pstm); - - FWidth := multi.GetWidth; - FHeight := multi.GetHeight; - - Result := true; - - multi.Free; - finally - GlobalFree(hGlobal); - end; - -end; - -function TGDIPPicture.GetEmpty: Boolean; -begin - Result := FIsEmpty; -end; - -function TGDIPPicture.GetHeight: Integer; -begin - Result := FHeight; -end; - -function TGDIPPicture.GetWidth: Integer; -begin - Result := FWidth; -end; - -procedure TGDIPPicture.LoadFromFile(const FileName: string); -begin - try - FDataStream.LoadFromFile(Filename); - - FIsEmpty := False; - - if Assigned(OnClear) then - OnClear(self); - - GetImageSizes; - - if Assigned(OnChange) then - OnChange(self); - - - except - FIsEmpty:=true; - end; -end; - -procedure TGDIPPicture.LoadFromStream(Stream: TStream); -begin - if Assigned(Stream) then - begin - FDataStream.LoadFromStream(Stream); - FIsEmpty := False; - - GetImageSizes; - - if Assigned(OnChange) then - OnChange(self); - end; -end; - -procedure TGDIPPicture.ReadData(Stream: TStream); -begin - if Assigned(Stream) then - begin - FDataStream.LoadFromStream(stream); - FIsEmpty := False; - end; -end; - -procedure TGDIPPicture.SaveToStream(Stream: TStream); -begin - if Assigned(Stream) then - FDataStream.SaveToStream(Stream); -end; - - -procedure TGDIPPicture.SetHeight(Value: Integer); -begin - {$IFDEF DELPHI6_LVL} - inherited; - {$ENDIF} -end; - -procedure TGDIPPicture.SetWidth(Value: Integer); -begin - {$IFDEF DELPHI6_LVL} - inherited; - {$ENDIF} -end; - -procedure TGDIPPicture.LoadFromResourceName(Instance: THandle; const ResName: string); -var - Stream: TCustomMemoryStream; -begin - if FindResource(Instance,PChar(ResName),RT_RCDATA) <> 0 then - begin - Stream := TResourceStream.Create(Instance, ResName, RT_RCDATA); - try - LoadFromStream(Stream); - finally - Stream.Free; - end; - end; -end; - -procedure TGDIPPicture.LoadFromResourceID(Instance: THandle; ResID: Integer); -var - Stream: TCustomMemoryStream; -begin - Stream := TResourceStream.CreateFromID(Instance, ResID, RT_RCDATA); - try - LoadFromStream(Stream); - finally - Stream.Free; - end; -end; - -procedure TGDIPPicture.WriteData(Stream: TStream); -begin - if Assigned(Stream) then - begin - FDataStream.SaveToStream(stream); - end; -end; - -procedure TGDIPPicture.LoadFromURL(url: string); -begin - if (pos('RES://',UpperCase(url))=1) then - begin - Delete(url,1,6); - if (url<>'') then - LoadFromResourceName(hinstance,url); - Exit; - end; - - if (pos('FILE://',uppercase(url))=1) then - begin - Delete(url,1,7); - if (url<>'') - then LoadFromFile(url); - end; -end; - -procedure TGDIPPicture.LoadFromClipboardFormat(AFormat: Word; - AData: THandle; APalette: HPALETTE); -begin -end; - -procedure TGDIPPicture.SaveToClipboardFormat(var AFormat: Word; - var AData: THandle; var APalette: HPALETTE); -begin -end; - - -end.