From 0f3f2a350bb5adafbee31cbccb439f2eb05f6f25 Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Thu, 10 Jan 2019 18:22:14 +0100 Subject: [PATCH] tantalum cap improvements --- .../components/passive/TantalumCapacitor.java | 41 ++++++------------ diylc/diylc-swing/library/main.jar | Bin 479893 -> 479726 bytes 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/diylc/diylc-library/src/org/diylc/components/passive/TantalumCapacitor.java b/diylc/diylc-library/src/org/diylc/components/passive/TantalumCapacitor.java index 6d14db8a..dc50caa7 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/TantalumCapacitor.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/TantalumCapacitor.java @@ -58,8 +58,7 @@ public class TantalumCapacitor extends AbstractRadialComponent { public static Color BORDER_COLOR = BODY_COLOR.darker(); public static Color MARKER_COLOR = BODY_COLOR.darker(); public static Color TICK_COLOR = Color.white; - public static Size HEIGHT = new Size(0.4d, SizeUnit.in); - public static Size EDGE_RADIUS = new Size(1d, SizeUnit.mm); + public static Size HEIGHT = new Size(0.4d, SizeUnit.in); private Capacitance value = null; private org.diylc.core.measures.Voltage voltageNew = null; @@ -153,31 +152,17 @@ public class TantalumCapacitor extends AbstractRadialComponent { finalTickColor = tickColor; } g2d.setColor(finalTickColor); - g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1)); - if (folded) { - int tickLength = height / 7; - for (int i = 0; i < 3; i++) { - g2d.drawLine((int) (totalDiameter * (!invert ? 0.08 : 0.92)), -height / 2 + tickLength + i * tickLength * 2, - (int) (totalDiameter * (!invert ? 0.08 : 0.92)), -height / 2 + tickLength + i * tickLength * 2 - + tickLength); - } - } else { - g2d.drawLine((int) (totalDiameter * (!invert ? 0.1 : 0.9)), totalDiameter / 2 - (int) (totalDiameter * 0.06), - (int) (totalDiameter * (!invert ? 0.1 : 0.9)), totalDiameter / 2 + (int) (totalDiameter * 0.06)); - g2d.drawLine((int) (totalDiameter * (!invert ? 0.04 : 0.84)), totalDiameter / 2, - (int) (totalDiameter * (!invert ? 0.16 : 0.96)), totalDiameter / 2); - } - // int coverDiameter = getClosestOdd(totalDiameter * 3 / 4); - // g2d.setColor(coverColor); - // int position = (totalDiameter - coverDiameter) / 2; - // g2d.fillOval(position, position, coverDiameter, coverDiameter); - // g2d.setColor(coverColor.darker()); - // g2d.drawLine(position + coverDiameter / 5, position + coverDiameter / - // 5, position + 4 - // * coverDiameter / 5, position + 4 * coverDiameter / 5); - // g2d.drawLine(position + coverDiameter / 5, position + 4 * - // coverDiameter / 5, position + 4 - // * coverDiameter / 5, position + coverDiameter / 5); + g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1)); + int tickLength = (int) (totalDiameter * 0.12); + int centerX = (int) (totalDiameter * (!invert ? 0.1 : 0.9)); + int centerY; + if (folded) { + centerY = (int) (-height / 2 + tickLength * 3.5); + } else { + centerY = totalDiameter / 2; + } + g2d.drawLine(centerX - tickLength / 2, centerY, centerX + tickLength / 2, centerY); + g2d.drawLine(centerX, centerY - tickLength / 2, centerX, centerY + tickLength / 2); } @Override @@ -256,7 +241,7 @@ public class TantalumCapacitor extends AbstractRadialComponent { double diameter = (int) getLength().convertToPixels(); if (folded) { return new RoundRectangle2D.Double(0f, -height / 2 - LEAD_THICKNESS.convertToPixels() / 2, - getClosestOdd(diameter), getClosestOdd(height), EDGE_RADIUS.convertToPixels(), EDGE_RADIUS.convertToPixels()); + getClosestOdd(diameter), getClosestOdd(height), diameter / 2, diameter / 2); } return new Ellipse2D.Double(0f, 0f, getClosestOdd(diameter), getClosestOdd(diameter)); } diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index d59a8bd15126612da1f88853a86356b469d627c4..75a9dbc6128a580379cc7bc9d0c79fe7c94f84e4 100644 GIT binary patch delta 10328 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 G-2VXtvY@>H delta 10360 zcmZu%cOX_@+<*2Zd+)96QAYMi_FfUP8g^S{J`^f4B3+@-uq%olr9>)JW<*q4LMke0 zq4%D1dn>>9?GN93zMs!`obNg3-gC~=hcjZi=fqf@Y{`^m1OgL*(4KXaRe{u&b#!$G z_}eB4{!XqSwP)pU5my4SmS_M(EJ-e>TNlZxAua>W4_LFPfjQ?Lkr_0<5{-aZO)|r| zIzR|f95_L&9%u*MC3S<+UD#x=cIAHtcU26X(m2-})1>h%SecY2a5Y7};Ok7T+ z6mbD5&F@MEa<9;R3Xp5XAF#2vXDK>(`qUVXkO%}SEhll8^koy}A0&Vqs7W&c>A%_n zw##*Mpfof%4dn}?bbf$uch?7fynNp8BIw*@-w;07j@-2c@}5Q>5&-(3baOT!FXUfm z0W!Rl4f>C{&`bku!+Kqq-@b-W=;w6{2gJX0h{JsOx<+Ap?$IX%@ZUbmf^lLe^Pyhw zQz&dF&FervO}{2U97Z_{(HSJd_{m0e0ZfJ?Kk))^!T2RcTtk925c4B?FfkJdHN2?P zewqlnjT_-GhaK`M+~1!5}j$&gYZUSb6g1G>a|&>O}POX4mNmO*qO`ol0A-H4N* z;0%W?L_esx7)%`H1DdROqA%3UBoH$|@fZmxkp+5A&nL3Mhr*M@S;)yQCccFa@n?u7 z@Ik7SxK0>YMKu$zLXBoC@g)z?2o4f`pk~iwqA@5pgE2#t<^~TVB$6NWY(OL7g~((g zW#QdnC0&PBqwJ)!LV%nsPjZEtVMS6X%+SIVo239sGb2?%huZ5%&!I+eJ!vKMW9vgo z;fHmkGz0|@u(_m5MtgEdGUx|Mgo&|i7l|7hh)0qZpn+Hv$x{$G-FuW|3!&RNq|LBK zN)^8|NT?#kLGrH)q;klqs3jqyFpO^{w@C>Hfgmq|5@pDejAxysIu79P*i%wH9An!z zBr#|mI!R)J1GM`y=`?&0TqMDjz=$A{i`jt{2Pb(QBnR=3k8ogXn(;-Nd=tz{#uWu} zG8H@+s*!m)VQ?8uD~(^+%OINvtw|uuphI$qAS2(H%nawsIVt-sg_t^YvskfNj7PDBG*t#?*}X4x<;Al z4B6(8zW&2IULGseefwO;l1JZWp=#*beeKO8L9wua7IB0;OjjF;^U>$|SnnRzbCEPwU6 z?`k27-uXpVpIt*1E%S@4Ki}+|_sRd|Iw>G^Eiqp3)@xMiZK>_5gu0OE4JjO)ppn%s`SjwO}N*>>AuTqv&!20HHSKsA1mZ;x#HB#-0Rz9YO%TRfxB?i z9-DY^SGsWgYxXrhU3|poRqda@S)6#_adp*N#;5(9YOfVT_?a8;*tBZ2`91#V_ML3g zD$?rrZBOvjf=%n?kS)fG*XCo*LiW9#-*A!c|1s*^i^G~9!}=uX<{|r5-uP5%OHTj9 zJ+Z%Pvs>w>Rh#v%8efXe(Y$Zg-=gFej~4q?>`d>Qv8SW5x2qbo+aqHy`|OBJ7))w7 zHE6TTma|ju+>1t4J*jK%Vj}L4~4SCO-@G(FsK=z&6 zLd_|g6K5>qI8HGQX2y8zb`us5aP^n&-}S-?Mi) zQPAJ-^U!>4_vXo;46lxw6T%sjZF%=fnA^SuMh6x*jX2~VCR*hUL`)qmVUHW?)eFpe zB_L8GWw(=ctW+s@RhVK^k~rcy;7u&(chkNf)MSyL<|D;v|8^rif=j8Tu6V_irhfL1 znPMU9^DNu8hVfi`nHX8ql)9gH=EzEoP>x%ABmQaXFNr+!v2p8of0REsC8S=xFV0qZ z3ws≻QQ7gJZ`n`|~t+zw=njW-=IYMmHkMUbXv{6Nk>-i?5U=A0J2w4)$#lj^4B( zylm8NqV`mEW-T+yR}@BH%}w4}z#Vowqa|5SbX)%B)~vt)o@hq8?5c!&BJNFMH)k}j z2MkRNS_aNNy|AM4;!LV$2NB~kdk*j4A#$`MM zL09Z8S5ID!@ZDGNp1tzmdBHVk+=H>>&-ktf@;^QBqvmKCXAs-67d3g&7HNE1x~jvE z_uf7)S&$^MXSFFc2b&`UYdw?Fg|mmja4 zR2k&me#P2i@`^<^*O`H14Tkh>URJ&`OrK?h>FMJ)Y2F{ya{)qP2N_-mUCd^-fo& z+gx9FUwQvQx4%E8U5IdG(v8BkarLt>$G(ZxnJ=jYFS49DE-QQtrP?qzRMExL#Hup9 ztrRWlh8_H5vUjDwI@wWv)a^?5$50l<7A0Aig>|b`@2YD}-hQ=?v`$bWWAgzA$K$b= zEv8HT9?DxQq=yUl%A2lCw>VdORw(C_noPp@U^IURm zN|T9?j#~+Cy`t$Nyn2U*>g|AZ?*_j7BJt$SjqYP&Od+nT8=n)KMenEf?vrDL$iLka z@}%p$a9plK*prq0{0D z=`r6E?jqmC)4P~7ax%(e)v6^q_*kX9n1TPk37 zDysD}>T_<*j;U3S&(k%A8oW)l+LQ(Bo(e@?a@@zajH`ad5s5O{iPalxE3S6ivtC-S zduDywx1&auH#z-W%hz@sb8-nyYrmq+@cq;wy-Gk)sl&zak@)9wE?eCW?jwUi+t|nG zU*xzZ?pD8cihE*bZV|4rVuxPuHufX3PdzK-irJ$$<&>`V9-YikFuxnAp1sN-M%`>Y z_8{?9^=z3(ch_%(jch{M7rb{>5rXKEm%X(&S(kFPx2iPlG)NSwXK1FB2*s*> z*gAPPD4?fSW3X@M6IHPt?&DRpm;EX;wqNk_Ar)6Pxg9hz#%}aBPTyh?r_+5Q9f%|pO}=`@%BsyUCYpjkGjkJMGY*agi!zLlV{dX*mU=X zqoG|PmhCZPnXYF`Zsf$)iES6DIF?_r|CXCMUBzjw(m)Tpmwn@ec4%2=zo~s)LA;op zrogfrnenX^mRaL1&i;>Vqb;W|#-*g5>SA&!ymO(jHGX;qnYl<&;&?H7n91-6yY>CX zS#43Z>{s=X4cqzmwy%GRtk|osJbu+p+*auDJ!*%{Y(VDV0k?Nd&!Q8zPMkb@X_z@* z-*k-5*Btnsq(ac;DchtS{u_(@^O7* zcaVSu#W~eSEwL+tOD?tSO{|Poij|x3_8z-9!$!AowCg#o@XFfjdWWCKWKr>Qf%0pN zK4WX!)e5<(cB(y>eEE*;Y*L)=w=XUz9^)K4P=3vZ%Bt?XNqTovYufxux~9H?fvHlV z7`=Z(){B53d42WBgB%Ihm8w$gYa&jY`rJ>l$>>qpej|PR^A$SNoTA#yL58VwH);x8 zojTUb)5mmm-m+|WaUOB-kP@ojKpEKBHRW^GvG-Mmi`uP3iGxu|!P!RXM>$-K))bX= zula8Od|vm*hVl{1qB6CH)H%a7m*okEKKq9%$(6r(eZ}j@x&X@4@ELbQi_wESC=R^~ zr_I9$QeE!&+lZeTwxN45oWgVm*ibgPh)M*}MhD_!d*3sF%7*CKN0h5IGl z4P(4K_nvyx%D&pJ$HGI*lE2e=qsXzBY@x}Ov8Uz+4{y*@KQOlYr;fr{UC6|1=@E%4 zCw7l=zI*gy`pk@0uYBN!X^*J+Pw3srIM;7mcXWk|=&gUzDs=VfTuDxEm5a`seA|K7 zPRSZ>C(_piZ7gd{bS=|pc_X!U;~Fm}X|V?f#*~}ix(tm8550=^d~JB><}`7@Y&YrS zhX6_;$E`&pihfLz?;4Y6KBaB9_~|LdA6b4-kO}8g_Vl9HtMu-Co^-vQCqC{z8{%tQ z^nz`6{np~{kJhsiWpdw~qqFHIugv*&cYREHb;u@c!YG>b=-t6%3m=#a+@rIbtd{8r zJk*)LpLy}lf!XCf<|`etsuMqIP#nAK zTAY79ucH3FQ7HQ}b?AoV_cQz3`(rnaUe&u~Z1FWVU{k2krRl_uuR$i-Z=`d=S5B!(8tVwJPax3KYgkb`68k7>n&^X*=&AJzs|fnTQ6=s#o|Qnv1<{>oa(u)>p*mvPoXzvtz>dG7bOZm452KqD;+? zzgGG*?m>Tv_AHnOL>zxD(@0ryGoSdFoS_}}X|G!5;Af}Id4V8V`i7dqp-DbvImaiH zZ{BAY>nfv^t2|r*pzs3_KGSSA5?5 zRb5lr_@`RWvu8Vp_nw+7l8Q|d)v;~7$9}3TrYrkR|BJ7u&h^a_xIQ&qKHFf)J|@b1 zuP;2vbT9u0z4xA#&)2`>t!1>9PZuZ4A4XrD*{T&$;$4!qZs>64;-i*DHR{?Lw-Gao%ix9c_T{mPn@LNAp#JK;Bx%e$bo;GMU4(l@<_e#u~vRNj=D zHiRUryy7mKetxd+m+}8z=rLipj90#s>F`1#ah@Cs5AE+4$@k%T{u&46BfQ2qFH9+c z94B##1h^q%?2x9I!~3BI1IiqP&4I0k%v+EyeX@oD{FsBvls}+5>F9@H*5-rDN-;cyBvxp z4MtfLrFp3Zi_%N|8>Qg{L~GwuMM1u(h%Um-5N@aNL7SD`zdI>3K*5WZJV?1tfq8uN2@jPKBoN#* z&=j*8l-NA9Ft*c4Ak6sfz<~TK>s!M3-q&U zina{iMAX@ab8Ay2csBs(eO-e@X(TQ^SOwdG5e`ld061> z6=uzX9%%9x z+LzAiJ)8u>q6~Ueo+OfELZLFAE7J1dI*rz+Rl~I8jcCPi9Pe4u)Zlvg=|aP=iZ{5^ z79nSYC#?yNm6#6=fmehp_R&P)np(S`HV8Rl$uthgQ9VQ(g&K}DnghK3^*cr5RDo}R z`!rMVOF(WNqKjQ)=1wCfm_Sz&5p^Ip5)o|-MGJ_CDUi>Ih#ip1B*Y5HZ)8Li%_bqh z7urHX9Dw8^Bd)(mqUe4yq6``}WW)kU%)%N-GYaDLhg3_!Nuw0R94J>%5nCWJBT+Py ziYS6cBNYKZf}lUC$a)~x(GV9PD{06UAh{958^~=4vH{301n~q?o(b^+GKmQZ0`ff* z5(cCfGmh6W^MJ;9p^p!EsZ&F`$7&J|H6Ui>CB1yxz36E5#_@D#B<^8XIwZ>j~kcA zx$%C?a3g^ro*NII_hlZ$2ei3(ab5&35)9gdym-Bg`S5y_^C6poo`WC9qxfOC3c)JK*4+T-& z?)Yy>7Q^!o6#HFAF}xp=*mV|&8!e8k1F}yXub-L(?k`^gAD=J3rIRG?zg7~j?=mTz zA0&nIZb|(fA8EWl+0sY^@Jp1z;|9nej-Y)>2IsTM;&JxL;(7GRBF+F`z8s(K(aZ66 z=W@gy=w(-6dTb3vt-$@T@LqCAcxm=Q4WviE06d4hCE)kGk4|D8<~T_B?Y;uJ|# z{1=%Gy*W>2LZ>h*kk@zM>(H;iI1g&8jzjC!v3Hp}C%RGt5x{>isF}yi&!{83!15}9 ztwjETi=`>N=!`Ih30-D~yO3Ooai+xo%gGU^aH9nRIOizfu*xju2*Ykkf^JQ0Ey%lo zbxRR@|11CP72#~6tKmOJqs9~j{a}Cvw{gH7JFUVT+nOxpu%Y>@aJU@68WsRvfp(cw zgwSbwgcXMTyU8LDw3dWCX$$yfkfo3kIhKcg@%-5d1dSyubqBywK)dWItSFn#Z?6&V z2a3h8jznYQvuX)nXdRvf-Je23TX+#(=-+PB$oEc+PsKiF#!L7qp8xRWJSluiPPRl6 zFB$yG4fdak4g+iKW}i|B1aC~GyTrBzZPCO(7c5#>0bcv#t{k-xu-QRFfU-0mSNa{M zP|-_T2>3-3y$_JvhjD~M8xaReHEm2ep7RfVpEe>0)Bn4N{BIG(@^L=4qvS$$uxSAK zKe8^9s<7@BW8Klyjd_3KmKLtI*QXJAMnNUeiHDAob4{mhHcpMYQ8oY)1>rp|6XD zdeDt4>AHxt1Q-m{OQ~L>|L?%pq0PF8DGYK!ZsB|oHey?_AM}=vnB)*DrH5F8u7v7g z{+~TTTXYd+6x#>WP;V`~9PI#c`~na;luaLzg-!#n9ymWsBoKCCQ%-M5O>O59)nheUt7r`<^%7{n&X z4{SazeRJC-0{$AKMc>wDOqRbfd-Ba;AYIm(elrJ;)^_^_~=V)3fe@p#7R zRF1##bcYZA0&k+U|MR8Tn+y1Y=z=Ns&cDTr@W9BmhLs($*xWpYt(B$I=neXZuMRq? zwgwA&t?-YMAB|aqfHNYR36Kq!aYWnV&21|TCMv3P5_SnH3^Wob2kB@C#R6gi~8N3CCRG-}! zMg1(X2^})@59`+;Rp?J5q86Bwk>RB<7s_sh7cl|Ao-hA_Z(87+_4fdI^m-{Gh=yC> zhMtxf+&T3RykLoNp`1hil(PwNOg}8;$iSNJTbwHcTZ=B@ zVrNl#z!kK^v?{WHwY-0ZD*=N@j!I~=J$B^6&ZL5H7Xgf(1BA~2M}+P1vz|3ZBefd+ zQL>re~@LUs`Kx)P1*M(ss{`EZ3BTIyCm-)sGl>U0aGjqZa4ddO`7?g|0S_L VK>eK&KD5mlk)qiXvHc+7e*k}R3rPR~