From 1cb269131bc52f0b1a1e69cef0466f2d994d52a8 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Sat, 19 Dec 2015 21:54:29 -0500 Subject: [PATCH 1/3] Allow negative render of soldermask per #50 Update example code and rendering to show change --- examples/cairo_example.png | Bin 110829 -> 104949 bytes examples/cairo_example.py | 19 ++++-- gerber/cam.py | 10 ++- gerber/common.py | 9 ++- gerber/excellon.py | 7 +- gerber/exceptions.py | 31 +++++++++ gerber/render/cairo_backend.py | 121 +++++++++++++++++++++++---------- gerber/render/render.py | 23 +++++-- gerber/render/theme.py | 50 ++++++++++++++ gerber/rs274x.py | 66 ++++++++++-------- gerber/tests/test_common.py | 5 +- gerber/tests/test_excellon.py | 42 ++++++------ 12 files changed, 276 insertions(+), 107 deletions(-) create mode 100644 gerber/exceptions.py create mode 100644 gerber/render/theme.py diff --git a/examples/cairo_example.png b/examples/cairo_example.png index 485586e08ab83f977eefc83ab59e8d19e6543fba..fc4536aead1e876e7b8186382d94d2db40d3b8ed 100644 GIT binary patch literal 104949 zcmeAS@N?(olHy`uVBq!ia0y~yU|Pn&z<7v*iGhJ()08=q3=9lxN#5=*4F5rJ!QSPQ z85k58JY5_^D(1YITV5mlRr>h+-7#sC-`%~mH={8~qjl5v1x8#U0<4Y#6PH@lX?1an zh%0euaGaW8%PN|3-stq3dnNCunmnF#=kGs`wl9;GoqT#p?8NV@(=VO=KJWLp*}H$& z9RFM^$8xV)F6YLE#KXrP`)?^<5TSS3wrSxSw#wkvCG&~`4m>nFwe*)*gof6W57JM3 zXT{HDb>d$**=gw&-Q@F+?`zjP2(Vnfx;?RU!?$$}ywYYlHxe51=g<9l?*ZqpLF`M0ime?;8s zV=G&4fSp$Mn$?p%>-JQ*Y(I11LEhxu{68KaEswjm_0qCm{o-aPws4nw`{lR% z_H$FsuDz1GU;qBn(aQTv_G~`)xjVDes58=Rsh8{4ErpM_KHkM{9%o&*S>^Zc=W$=l zi~8e#uX}2`{bJgJx3P>MFK$S54btWckGDFMnCPU}uQ~hveETV}v8U3DXBcHH&fU-p zaXjbpH5>UDuJl;l3H6d%;>Fs`mb-;b{^mxA&VB-R#bgKb^$ZLiv;NyYweXxYd0Tz0f$GTzk&Bh9{(XLxuD&U+ z|JEN(&meWCLw9RpSQg#kuUjgkpS?zU$G=*y0DEa!dAK=Yp`0&T9~FvQg?LFtUHUyS z(U5(a?#c;Q`gyt|&FkL%IlMoBOXO;JxYsMwg%uGRzuf+8j6JB0w`)f)A4k`s*xfE4D{8tv&nZ`zXYf##Ugi05@#05O3@?Pmmq%Z^dv@;OwEdQ8 zr_5{B#k*FE$Nfky%6M=7X#UraUxHRlm1xU6y*S2aP0&5%Y(|DF2KJf9r`M|Sa=tUm zzHx(jr}^5S;Zfp~RJgmlPn|k-d$&^V+2AMp#HEBj{di@|upuBUB17Y=hNIJ75iO|& zaa=6T_bk^&@Nt`ZPR+b>)8%v+E2F>%R>#K1x6!=PW;{YNB1f)Yt}cGKVMG3JzdD6= zaTO2y*8j# z#j^}z(=Y2rOE)&$zZbe8@i0SKS(#W=!Q*ZhnL4-Fo3q9L3p_45d$4!q^9T+r+ePy0 z!Xz!j7yr_JBz(V9QaAMBak)F2HyFKTW$I|q&j={%sJv|USaZ^!W5?Xg!>@l^*XsJf zf{!5}hWr1$Vn>U~LPBi(QW9cPk6yfph>xE?b#C#yKdpb;`L3#@9yY#v;QGxs+%s|{ zj~D74U!o~o{5oe>YIbn=_l%X3&K|oVaog;C{^D4Nz>t+eT2uL_?pU~R-t%`0<8}6L z)LOjGr|0w+`$ZR)gj_kP+O79TG4NDr|Nl8fY8US5Ub-1wt+I8Q%fjo-0Yb0%*T0Fr zl|5(v2g7?y+$SxGNQyhwsLsH0uX^9!*B8oKTHCBFEtNh*9P1BQ8S*_S=)-Kw6Dy}& zPdgW3Qa{f@;ex)}RIlr6qW`~sAARCs?1I_zCB=7yXY5M#%kkK*7i+L)s-AMM)$EL$ zx2{~ho|=}*+|azYHY0=MSXGzRaWgA5t*u(t>f0ACWMtS?`c~_~?X-m%&RPYjd2w;< zg}qtc^Yl)#Gw{uR`}pW^`g8cs53VYX5+Z)FOM*0;7MU6qK6%w@ zq?)(KVE$Rp>d)%My5-T^EjDFOnV7aD_Ia3Y^z2KUHXT}|#30bwGI6f8ecbl0UUdnf z6I;HNY>Z%Hm}~X(S4HLaDy~+wm0MP=TD5JRpLJ^Mq7|DrPu@LycEkNs!nfk4NxG~H z2nh`h4Gp)SQ(N<^f=6Zk;X_rw+BQT+#Q*PL+j-^sK~{#Y*Q;fJlzFmBdO1yvnUh@e z(Nlim1;58k$#b=g{ezPqui6*f?s`OHs+aKBb`?*v_F}8Y-)6i$-MhkW{#i?_x5-u0 z#MR$!*}Q$b+uYvhZCa&Yzs`(|WKa;`SfpgVeYgHXUg=#cI7_plc7ckggtl z{rwW7%(}Y92%WY~RT^vBZm9*VWK3?{Ec;_;)AYqB?%5d}nBQg-ecq^ff`grgj*k9% zgYPcc90Ass1XbftJnZf4@qQunUa{!aUCo}eNeep+r|UJTOv(DX_0SnE&%X<&XuDrt z=UuRK;-{!TfB)Frxf^(;p>UFl>LoQb=8##;-A6CY-I~1k#qzuJ z>niCu;T2n9PR@GnO3m|szwJC|_HeVMdzy}{+^xCuo_7CS>HS{jV*IPkd(Qouw$x~5 z)LOHn9i0gh-NzpXx_!9yv!>DEf~C@&+}0CM%yJ?+f|mN6KXGM6U4}qv7)N*YBT|RaF7= zxLMa7C{%4fyzIx#2@cbyhtEj9IXTF@H+5MQn`@w5|MLG{(@!mV`BKtrs^_6QX-rr2 zN)%4Me=0ref@)n>zhhlrf7)HnNoUsSISM?fN)%&Hettb{1*a*fP+PFsdR@@*pRJQr zBwxL1{x|($Bg>`@>$0A|{oEe3{*J~ev${aBuBz(l>dMMjH7kGh`&1uFO^p9G>%w{S zKZlNTZxv0wcz4&#x_5JTm%E-@cetI`e8sP*z1xp``g&;&|2p{zD`%ZmG6+gR54Dkb#_7Ae^pC>*F@U6VdjbBb1|-#h2_ z#_?1!Ud=EGt3NCz0PH9XS;Fpf_0aiPBZ$wo8Mova(jHm zj@kSS9ip3xE5E0|`?=9g%dBYH^ySOv&yPPY`5=4i=OD*hE2ay#TeGkI^)I@(SEufK zz51%+zMQ+JHd}UweU*P%8+U5+W%cN!pX=XNx3QI9&N6N;T^3<>y(99*mwU$^d#qm7 zuU(jL`TIoA(hkeaJkLooyHg`I{ZA$qM`3>_ROR?d$Sqj_K=HHuE^UQ}YSy7hjl~(-C&0Gv^Z7%-r4WB%fb3Rtmr~R|y z^~*WCgUf2P!zAu)j|z)h7og$f>}=iiDtqf^ztV>{)}Efd>h+#Qdopf({Pbl?s%rn; zO+Jf1*6;uIa>-lmGQZmQ3-A5^wzGAbdd~k>PxgrJy~AAp;{T)e@NcyjtC@mJuWii< zy*mA5s?=U_uD4e1E?b_gUmmow=+mbso35GL-rjIfAx2JL#o|PQ`IO#`*6uCYA^UeM zIpUY`{KrV?^JGs)W^F3n{ zcu)5zO!W-D9K|!^t|9A++>Gp#?gCHRpQoSglGc3m=_<>|t26h$UjHZfQb6+3({oSm ztX6ye&i(lI^RIuu`Q5B;D=irP>EpDs=6?HXOEw>TIqTN0U32ElneZUt?mBJGB~A+i zW8Mz} zKYZ4S?|sR+yN3Jg6@wp5i>`bB>D~L^zMZA~HWpQi@{bK7($_xqbxuELwRLCI83!qT zvF@e2gPU25Om$@$WMpKN4jqoV)xX?&&Zfl0x)ZfUGG9v0RaUZi6Bc4`Y`nVIWk>Vg z=4XrVy>pEJ?#t42XKV5EhJAZ|_dk+9-nak9r_<3wVt?L0dY66m=P%YOi}EPT0@!{Ju@{g&I; z2PNf9ZPoOW%C@uGSNrv-@_YWdTPhCx*#4_uT1w{cuY+5|hym8*|I6`?d+?LoVtBn!fyA8;|wKcAF1H8ixew6rJW*vXS8@1FHt8|In1>Dw*cq{Yn#o)+zl@vC)quB>eJ zQS&};;Q95kvC-eZf9A}cTeX|L_U?C9k%U)Q#O?n*u-&XDD}48B>k;v9ayS0pZP1jD zx2{;YwMD`JNn$r`^mkyM1APnx5BGBWv~L8!vtkIh3sEaBbOJmHN8-&+8QZZPfERY@ttj+Ejm*uzVhLPRfg-=?kVWd+l_%eq$S=(lJ{Gw0D#L-a&Cy-!m#_XV_%N~WthyiLfs+>v{~v7b z;@bTEchH9qA2_~z-+rN^SDnY5-QAtNz2}V1<ul zih43{-mccx7M`YKu_fv5Cp%&LeN_&t&wiYz7=K)yiQ(}yUH6qi_xwF`HIJQ3R&fYh zs;e@;dt?8Z2rDBUx0OM8JF4FFI@@o*K8KA#MRdvcxZm&2bAC?yCbh5Z&z+4E_a4uS zTow>$-WC>qy}%;IKK_2$$|bW@7#v(}?zG*z)D=?bdGe$1@=L}>(npi3C$1=V`LSZ+ z;pn0}R~3#HzOC;~*p-@l*TieR?EUDt^tG(M))}{23a5C>mHpu;ZBP z;X_W_L)6*8N&XD&an z^2Or&?rle}oK!iV^RMLH!LM&`+>!E_G^e`Y?h4=eS5B%ZA5QAB`*kk z;W@wG{}&7IEstexJr(Do-nDe^2|1Bf!jaqW?cX$A<>b>^wS8iy5sSae$KL%P{;QNt zm;Vdj@V|h3``i6L9DM10=Z(y!Ro+!=D|ZLpYuq#c+_QW9 z5r(giEs{SJQ@c*@N8O=qqT9WSG*XR>jGLL5@7}#r!avDjRfyK4n@_%+Rg5yOdwc9` zZ1p!utBE(Zme1e2S3_@``d;tyh|?^dk9>686gW;@J9{&E%hJ>$ONNTdDyyvq`>qEB z1#x*sepoQ8ZtI^|@0i%;<|ZHewlMvmeSoz5aFbj*nSQGdBI+t(C|4S)P=MBUR?cj zM>YI=z3~4-tLL(>;C%E~yIOyGs&U58*FVJfy_@~x=2qwWr}xb6GNnrDnd|Rgxzcn0 zlgD}v*A8?|l7I20u<)KalUe!YufoOr>w?So99i63l=a~IdzVVT}tcp`Zv8(YKW-5Z0z$VQG;|)>m719c}yN=EwQ=Z~nttsjZtXUMwgo;o;>ydG1`M=U3)8v4RbU zf1YH`nCzgCkkx$h>83ZuOC=B2D4(C2W^<*wZAZ+sS_}Kipn~-Z?B&7pT$-<3yB-=Y z{UX<1lIe)WwMl;@=0EWMyiah$PWQ{}_HX;It{r={=nBinTmQDoIW0GwSg84a&FlT| z{@z}?a~G?}q%&tvr*Dk#>&rF&?$p?78lCBP`h>~8M*;UQOqe(Gs;SncJKPsH_^gcf zJ}$ZCjLx!L<(#A4lY0}58dj`0A$d7|Sz!C6O`EhmU2`T|2Q_|M7yosp$?rG$t&iMi zcL!yA?|b|EP|xMrv!?KyTl0SHog-^mkbkc9Oh!wAbibgU-?=Woxm?{{Jge$BN(%PS)1StUf;16J;*!@X7DG;6rown0#FP#`4en;Bzvke6NW)FzoA@f938~|6lQqcO%2=z4vEy z73S;fGh}#v-I@`ye^s#D(;Y5KH@78+e|l?uOEs6pF{%29&ulAK4Ur(O**{8*Gj7J5 zI(2GlRsRQJHHR~Y_B<&zEIW1kb^qg67Zf+_6D$cD_Z5&sm&HkU|)!@B(Q9@M8O_T4or*$W*tV~MUZQrEu z|LApPMuFBnUl|nsPpzDh@9Dcjkj1sM+0^jyzUyZ=94E0PS`;tn3RunQwBK}#JBvhm zQO2D;#nG!%lbRGbE;&3rF6m-_XZEas*ZY6@wwz5{tl@QY;_9H)(S=_!7)2(0ukM}r z;8XhlKXIGS9_h^9p7)_da@~*B5Bip!IrKu1gY&#x85+RxuUZB;nYeCSYE=>Km2Y1i&nJ>l1%=&|q5v)^5((il@cC+(S7vwFjdAB(@= zUz)Y~Rz8$$5?NlUj0>L+r4{Rlr&)i`SKZ&Or_r=P_s?F5Q%3isEIiLx?q+2$5Nlhc(G_ra?mPo7IU9}b zIg^(xZ+Cb2ynsWEZQ|8*pM>x0^yV&`f2(7G2Ac*$M`)M1{<|9Wv@0JMi7*sAzis`w zWqyo3%m3QWBB!t4md^d{u5S}LCro?#j3QBefB!~@3G*f@PCjX5WE}0qqbPEdSLU-u z_o;2NyERs=S-NOb(eHD2^UuumeeA#Oj#2M&>F`IAGb4W;pC7`Q#MKth^7*%&xslGY zIJK8s(+b&3rW^FlQm9%R`RBpmv&x5)o_(+Nv-fcF%v`y8wYT+==b87IJ9;?EO9~7& znY?@PKtNE;?Xgvf&h{(T8~2>sqNa7m)jmPJ*XY;JotXzZCN39X?VFzd?C>@2X%d?A z?GBti-R*t7*=M@cOqH$MS~Bdq)&`r@)_h&~J8S8hkEdt5Yo>cn>5|%cWKAV2d-d-H z2M+A{Q{#JK?>WJ>Ii;&tt@7Jfd)%XO_V&DBH&ZpcyFO87yh11T{Hgh?@WOu^gCW!8 zN%HUIKOUZOb4QeE;_YzREbEq+Ca0DPZ>#4%5UL)3W>XX&>l$ntR!gE-nbuS00 z$Zt+Kaw3?+Q^;Xb!|J-*Ke+qP8-Fj^>GSW^oShDnmXs#h&OE{J-avibfjb^o-{s|L zORInFQDx@DnOAF+E-zU=+wrtoP;_*7yuYly%}1sq96g?P zO$zq@Gma-F+Q7%>9zg>Q0f@5Hb*P|tIw$&H*P1`w*w{3sIl5@I|X<}#3{SG^w5j<6*<(rn# zW4C!u1xF8O@D}b(VrAMaE4tPCW&!KD$FuGxC$vq&v$*}+7md%^#2Ea zpPN@$T_?P|ckrDPyS=+PgT|Wmt8%h-1W)pgIM|r??_qq^ueM{QTz?<_jO^~uyYzR( zx_xmvg551jZv~fnX__BoJ)`3@bCQ%@Nr6kni~Z{U%hS`$OiZjSZj|%!%bOPM=-p z+qCoY{FsFS497e!mkI=kY`r|OEcjc@45p)glS6I=`M5nk@uX;JP-ay#{|Cz1#>cu`*!o{5<)@vgS*9ahxl52`;hX6v z&z-zD|5Cjd%ZZ{H6Ke#g|IfO^!BFw}gd1D6YK~ZTNyVGp%|eT8{>=H|RJ+`4lFI9p zNmsfKy+1E+HLWuE2 zo=;3j}x4X>e%RDRG8N+v6%J;fs!YTHq zq~quQa5D4O$n~F1n|*R z$YS`Z&P_l?Y0f#3WlyI?YGgf{zdl4W`>Rm6T_{tE;u(*B@23AtKQH>H;^TR3o>b-% zajTp;I}%DH8UxFTQwtUay!_ZL9rk1m#YR<%zs#&`V zBX3;UP{B~4sq?Skp03-gHCt^ISEw_v+}ORfj7^s1&$at+)=tZOy!B62jMeWm&%QP< z|Nfn;R$(1ugF>~r`M!*QKi^92eZFbK%(?6thdf#=tBN8e_#ZPccuu-)tnYnhzU{jc zAI`?_-@Z!r^2JxRnZnHLb=W8F-Mm?t;l$Ifo}M!oE(mn-@0mS2JEwn!^vUf}n*?qv zw+UG;U%Gro(HzIqYdn)nTVaS6M!Oy(y-=YF1yv;kzFn?M_y% z&i-zD{mPX&HkF@VU0q#SS(&sk!Z^2e(FzY0E zW$Uuv+Wpit?BArKV@Z?S)+GfUXb9sr_#iqnbqVA2y~UN^9o~P)n#sbD^<+}8Yo^ds z=lv|I3;ot>Co5_&hY*0S*J9TGr0=?UQhpCX!z~g$!<;g(Cb%LteN?4gXhYMuV0=?PyM;^U86l; zg=a${gR?KE)Z+daHTIsP>BW6#BCK>&emTW?J?IMePrWZGCRAHEsA zE`LjjUp>*jN>f0ka-WLx=Zh2n+-5J%&-z!pO(piGQ^ow_;>&C@XKX57X0g?CWyRvt z0dEEEj{RHsKjbd&_iGobb??Q^i_sHjnBo;07+C21Sh-h(t5v@CL)`j#wk5x(b2NQ< zb@TCJ{(G1C4R210ZUBX{w0ooWm%TCboftQ)> z8~?qsm*?@6k+{;@Uif5H8uOz&fBt+3xO-JINNe)N-Thx5e*VeT@LliyzjgPg#J&5Q zeqa`CEkI*?{LddZgUe5!I-NN~YyFA`*0<$nZY-(D_zs$f`1h?+SWkX;>da>+?ys-= zb?4{FX%Ti7xt{vp4_IGq&5ysO8LTO}#`x%_SplbgCOi*I+-P9uZ{6B0pvLk~3_4RJfc}@W=SHGS~&q`-M+83gwnvr{ZGQ*z2qR-O;i@)0% z?-!iT*f4$W<8?ht=D(kJNu;CbW31r(h#L`mb@H0tb$U6Oe*VE${5wTQ?AYVN((rec zHgP^BC6%tO2b}xuI zZ%PYC?k;=VCu?n%fA7tcCnoy;b|#3gzc|}|@!Jc5w*q$m{dQB*wtcOH?c7(p;=}dB zPn4E@Ramx$Yj&&C+DjTQ8X8XQufO;2*OHYcJxi9R%iR3lzV04#gHNY@Q0-|Qe%^P> zLQ~UT`)oYp6zOFBtoDMB=RIf5#g~&eC`q(&ZdAYayw7pQtLnfv7jC>?etHl0?Kd}K zdacd59bbzEy}kR}A#VPM^HQRoQ_GrEcGlQkZ|bh%l3{Szyyn5fhk+3xSAymrJ$v=4 z&dmN&{wsgJ7sPdQfBT}7o%LF|#OUeEb*mTqb=hoXa*_5{|K{FO%HEKBQf%$!dGj{M zT)wkC@9r#vM5edTt_6gLo7esMVO{=?;ec_Xt>5{`yw0t;=I0p>bZn6L+b=ciy~$QK zDb~GF(~LKG_w(-0+f)61UgYxoJFCn8>f7_bzZV_;-ZUfRf5I`IMW$#ib#lyIv^=umMdHLK$IG~SKYcjAM$2+`_Py-b>1!w7mlL|f%W!VK{r-xN zNz0O^@B8^|wzyslLxbYMyW9L0?iVXE`yQ7T>N%x7eoa2d)5Vh}1$Ad-N^xy{^;f&v z@A(~Bi-d#(j~y@HHY<26Kk(q;;kMVW_qMsO^1uG+=$|X)lgeJM-t@FI@8qV=4+h&h z4jVsp?C&aCb}h3QSQI&x?ioK>Z8w=i!F+ja!2k4_DjdsnCOhn# zzvX*H;_HLOOM+hQx)-eH@MS}WpN^uI9K*UO0g(?!-!(7$D#OIEJ@4+XCzJgpc#QiN zy|}d0JA8fI-M!V{Gi}@C&hOd!`dekyvUOr=)L=gy&82)B=M^z7YImLVKj@4C!;d#l{Hm6B@Awn1uIs>%m6bK) zRou%(FSBH=N>1Fo`SW@w_kXY5e)`J}rmL6jyHtF`+pyW*YTw*X6GODF-d(Fc{j_Hk zr}@{!jS({67B^Vt&6De_-oM-Qd$st!4wa5DajB)CiFMV|P`58}%|4y|H}~1RJv;x* z);T-A@7{2N<8FV5*3@@RD`qdZ-fQ(b`qS;Uzy}Y zx>ic1 zKWY;1wos-wcdzl)vW9D%DHSVz#(A9Wt48LgE2g)E1Q@oRGmpr>|KUN{tk&X3F+H|- z_OD*-7m>PDDF6Pw3H@^~Puvr&rgrV}fyYIHELT_kJ12g>R&lMx>odMm;pfksk^B2* zb9H=GeE8J0=`$5LPc5-+QrPvezfkqwitQ7!gcYPNOs^4~{{HzBwXhRhuXvvOEr1f;`Ok=UL^V0)dmIl3?RrCMwDbNFW1@Sk;yWC&OvbY(?U#eolMZ|${H zc`LU*mEk+S@}$G7dw*_m$s9k}=x!nz{USHyL`6(@SW{(8-eRX~X+f`+gfTG8KYsko zls}#i_da*wT{j`}ZuilWDOp!%c8lxy*bBXQ^)+t3;hVlGNjIAF&nIr)p00M$B7E`L z_~YvD{w7`Zz8NenB`tfVbII)sH(tDZx%2ty`4JjklC9Avjk*>bYmRzl{q819huoL^ zkI${YJ2Bj>elN85vUALyV{XS75A3V`{pt&ohLMM_@7aaU?LtCA$6UYi6@EOmQgd-) z%KN+Bn;*H^-QRhAo%Px0`L_!c8a77ERX%i?G34B#UiR;D79|xyPKO?C7t2y-E>PX~ z>iGO`@>U_vk3Klbe<(G3&vf^X$7P*l#&>g-5BYj(P zmj7eoJ?(SQ)Nxg`mhu6MWai|gyUf?EZ%rtbJEqjYji9o)kmMY z&?a+CbFx{8hqSuvdxx1Po^n;XRW59GGdjgB-1qNBTxKcHrur*QMw+$un^r&F`9AjE z-`x8rt;^or*qojI|Hr*$^Q)i7otn3|IzZ&FLZ*LEW!~&av!*ovJ$h!0i`Z*V`o9q3 zXPBBaYoW?Cdt+WlfhL75x8>I!pJkeTtXH~y(Th!im*ehy)aB)#I*ED#e)Zzxwmf>zES%6mg(f#SHHy1HP87e8}i@sUxLPuT^Tyuu7@^k zFz~x=wQjairJv?uw@Btahwr~IIuiUqAzYjL$ko&5-u?Z3{OtMGlI5|zc9ZAV=Y4!* z&fYg$)Uu%N`opJ}e$5X)7pHT!=9AKMgYNzdnitMmb{C&M6ta?uuY5;-$i6k(jyx*R zlWmut%6j?x`hUrnqJx+13keQQO!ALf8n)jg*Q)ctmfF=^hKK8fu5Hc{5c2rD;};~f zz6)3~9>_QMyJR8mI-zCVM}~q249to`z7H=fbQV_k^LZiEuf)MSed+!DdA|xW7VSPU zv1re}g$L&^l$yoSeUyuz`}E1vtK9@&y!l-A(Q>_&yW+8lD?V&mR^?%`_;{{_NaHy> z-N>@iQeI9jqw6Z|XWvPQ-n^i(uBdoz=NHwhEGDNM7P9C`zxm0*U0PUJR$jVz`q9%) zKAk(4={{E6Fke9AcTmNikk0#S&cxS#PYJ3tbDUKE?(XF9&?Z*7t*N0?*^SmMU6CEg z()pdI@|^vz=6UC9FIp$MKbzWIX|BCQHbZIe-H)PHuDgHPzP_(}=wx(5;V0=;eDf{R z7RFEBzWDW?cgjq%ca~_`EZ+8I{-Nsf)!kjb-nrK&dQK1bzq9YriJqnN?(JJP-*wWH z8@i{tE~qI_RMgoxr{ApeOs8ezW3Rt|MIeFr{;p<^!pS>PRu8YH9qqlcMEl0BQth`~ zGmcKvjaKuUb0Rfy^CP!^Rd3^q{m-w|RQA~9zr5g7Vefu9<8u$6J$U^%I5w7-fn`Ey zMX>0-B|puZryFG4yneiWo$Zl>_wF6MXJ=vIp*GoDMM%hl#nHt{QB^o2I{DO8!4JYa z_lQ|$R4iXHW!9t8@BZ>9b~YND|GRcZJ$q80uuA1lo!>=~X6&iH9PdoeZ2$bFqi%Uu zP`$5pyv8#5oF|+LHxAaOEZ4KW!@SGl_Y`mGyl~qcVH3ZXAH2Kf61(M8RWYgaD|IT< z&QDLg_wW2qcXq2C`@}3yI6s&W6kW7>(*u`4uRP|nS09zRYltih58wak_^A#l1=UaD z>grN2Bh1ar-rd^FFZjtQ=0u5W@5c_SYn#{fhh!xP9anSsvOx2vjM%ZXjhj|^zc?x? zC4E&IRKcnUaVl$iM!D*UUB7nC%G$cW_l@u3qn@BOL7b&upKUO>`(%lV=c=n&YtHVi zTO<4SYSndD2Eh+MnS_}hY~fv-cIfN2@_)H+{yb!iT|eddp6bf)PdDZKH4^*v&&Igu z$F0rvT2sC5+RnFFcyDfPY5BLSb#V)Yo07lV7{9N{eD-~Nf9Pom?+qU#4!A`cTk*em z^+@`)T)^@P?@sUh=lkitC9mi$CY!b*$O^$Rz4RKMRBZ}#Wb zgF~&)t1DL3GXII5zi-RDRIXp=r~5W!IDh87ciEi9H6SdT^KSH__3l!aooCW{>1BZ?gAD^huf92ZCjRz{++$>^|qh!*}fa5 zF~8d+@a4GS=J?m9pYlQGgkWb{WI6r=O6y-`phgVT72-LnfLya8IBt#-wv30J7A~k z-=Gc6zo%TdclproKJK2KG1K;%KAvP+^e{rSzTRHwM3?8AwkwbF&HjFRJZr1r#fuLg zF07G@SDT)imUe$%b-3bz1@#&(KdUNs{GPq$)W3iK(xS{V`2|`3K0mGIuw|j`sdVN8 zTb-;rkvsQ6t`^4Q{BUC^R!nG?1OoLJhQ{-ND=zIw>3{{MfI{r~a$mnRoChD^&{ps!i| z;z;+lKTNvqdUDUPbxFYff1t*X6#?w{+T#WM5c_5ZZ!aUR^r>1g{T>(BD)<$hvI zr6g|}eARhik#`~4e*3~tr)RtG-(8#IvU~+=Y`gvA>t74vJ{{ciqYYE*Fk=- ztdsv=z;Gagb>8QV<=6Jy;^N|Z5j$7z=g*%E4GJCody4~WUn|bl+z=qb@aXR${U=Lb z$gN+$zPzaBNob>XpuGizkAs(y0a zZWdpuSVva$iGw*$lx2>;W$FKvaO#PXu=+It2LrRV#2E)utA#wK1}zO*DZ!btP>h1w~U|Jq+(poH2d*^2Ljr-xV*k_5R=5mMGDld%|el3hoUjHi?P2 zmhO)KbvrAE$whkBB>lh>j0*F^cv|f0_|wg1&6?FSJw>dydde~;*RN^c-w=wRZU0T*^4+V_uQ_H_{IMx(|D-MSoRpn@ea$ux?wyjH z4d!||-QRhBE_=^i7^nC??q2M2gWr~q3V$*vJm5YvwMMVKTWN(U)8$1RMrH=j?#{S) zbkeT=b?^2E%;H?8YMZ3h!FANn`=?O;H4#6neR&JYf9zRzIL(ds*S~KYm49wuE4W?4 zH9)WZv`cXC`#Aq{{>PiccBMy|j0`Pr_H{xNfd+-u=`Gs<72uYF}NEx0@TRW(Dvmw1L-TTU&ie#$DXruSk~QQh1( zfiC{#3lHyV*?GNtQ&IM*MYVUoWFN}ewz03l;e$uWuHC=>TO?#f<(~XeA9nrJY@TU` z9j)0vrM4t12k!`)XZ&ye)zek}HecQ>Ix1d%XWcdvG2h>pPAh+Sd}CvbSatEO*0qw; z&jbZ5E0Ua@`rIk=+0spG!j*oVe`{2d_MGu_zRb?Rndd!Bb6za|&v1*S!)(j{1nxa@ zw`?b~+g@M(?Y8?er7NtxSKB}5W!CdOyHk^PdHL%}|K{D>`Cojm`U|mt)_;%Pv0H5J z7qejI9x2g#pAUTDH(u?<;2@n7zcOs^rs}Dy=l<MsFH{MPfq=r`Zr!i*ukDF z;P;{9H$Ly?`@Qi06|I>SpFWoEUmkB#edNp(_GvTAI41qE{rl+2U-kdr12aE?b$1h%E&4h&+i%qc?r$l3cl>fY zAj&mKMf~5+g`O)PY@B8Kc;c4V@pEq3TIW4E*2(SeenhS+)w9a=V@qy)pw1oL)A5CA z_rJ_@KJNbYqRdPg+k~L&b@S)km>6~O(FDQkpBGo&nRqIN;X}}ONAINh_h%RXoqKxs z*SQauR%O2uk@$FTL86PV(EFHsd(EH!YTtOi|J(btO4(Zy_7hK^o0#vz(^vcZ(Yc%H zb=e1A9^ntym@zYLar$z`>1XXe-@ZM)%#Y*M&f+K1bxPuHTFK7hGkbnry}{B^XZm8U z+LI3q3Ku&4sxGf?<^L{mh7E5oEA<9V%*G8P{htK@!l)bRJ(viZ3+Jdw+Sk) z{2^JQ3=>o|Lm!$}?c8Q(yOEi}PSP&b?ac=3rIpHcu~`KyJO6x{XE?F&weUTQ`O^+g`FY8iUW<^-ny?b5j zR$KS?e0{XXE#H&edXrBZ@+3!FnlyPWoitm`>3+QRthmrUd+u{5Ds9(a|2OlLW>6mo zgNm;11}RZGh>6o$w_Wjg(jxW``@zbxJR5{1Qd^w1BwKthBpF3aH zRKq)_^o`@|^HYv#`edk^gnz2Ek?UIEWNo}?>8ry|7h3PS`Eb0eH2D6kzucdJUAX9l zbc&Xa=uyAbJLhRmV2D?d&kQ)3?#8?2`OUv2@0YZ06b@i{`msXHtn~CT#>XbRS4)1j zc567gCH3zENl?jncDd`yFh++t@e;kooJ}hxd(Zi~=-=Pp+f%#wWh?|3UZo02RVy(n ztP7T4SmCkv-?9r@=a&@vybM+O_px+!>bq%A*IVrVKlx!W!-MAfZBjEYng89@FDTrc zeE*$Y)~$C_e+RGs^5Wj3qKehh!Z&7EdOAg!C7pa3ZKOBV>$UxB)3}C0z9*MFQ|_5@ z+`O~)@biuvdo0uI&#zcKIkbl*s^fvwD~b}oF}mC^%G-I5lvw@up#mAt(>SCDkl}4+ZY^#)_RIED0nm}bUsPS z`o|Y0{j26xNZZD;-#<^;dpWHQSzWjPW>phcc8*(?{w|B(XWm==`TqNP**&}bJt?dE zHQur}Mk=dw1(&78#$G6`5EnN#n!80+kxy9lz_k96E)W^gnp_BTpZU%W2o z*-PJ~n18P?ggeW;IAe2r!2(D*Z1R*VeD##9(iyY)ZR4MUR=*v%c{5UFk!1hL7#F39 zlP3!^$awB`dtAce=oDK!CCgNmOQK0Z!}+7#*(S~Dstggvd3|ZKUe8WX-}bchws`uy zySolvULX3Tt}ZWsb?aB>M*$12=WcJCxb?e#?CKM-_8Gg3*B@THvqZ@1zfFae4grrj+& zDpJFz&#Hd+?6rEGl>PM6hvF)qPAz?X?c%!TmuKc!3NsXJ&HDUR*u;;&^sAeo%l)@a zlUV(HSF9D}n$8k*x903r!AgdP!oa=4yTAVba3hRy_U@7&Qx2~T|7TL=9<*+?r^*Qr zUkR7iO$-i=r&HVF9%-D~^!VexSCeN%MSuEu_3yHh&zh+s7JVBddfps0Z;D!bY--87 zrQ6T{-B@?y%=+IxRbP*+*VVnM{iBFs!pYQU>z+Qg@SCvYV4JC5{Q3*)fBEl=nDq1G z(^@gTB4v(6(zDKbEw0(=ly_1ffNj%}#jB@(_x@9Q;tapu+nq@o(!tta6+LB+XPSH! zX6Qb8DfZv<&%71qZ-B?bCS)JqExRh4V=PiYhrhA<1Lcz zk++v);JdruDL<>q?R+9bfM(_bndM7*lNRbMW4iRRiQ!O|+}_5+M`rC>J@;>0CwJcT zCu{cpE83fBNCpFR?m(b!wMxX5YD=eMRNu zvn~4q+k@IpFZ`txnH+D|ee}`hjCrcwGDG#=(aL5jtW=^Y4Q?&-R+N8c(?xc5ur^>1Iw?dVKq2heaB@ zGA=6JDm9pBe!oW8HE@!O{l9W+TkdyC?myo9Upwm2m9hFzS~7#elMin!Yi>n1Uhl0x zJTcw8_B_AWR<7{X%ihO5O-tWjbY@N1`ri?kk1JQ?B%Jx}`P-y0t5QuPV0Eg*%?-yN ztlMwpdU^NsvR>Xd7q1&n(VV@7v-ry$lP_17e9Ac+WB&M?WcTHq*4SGtp66`0tFE+3 zzkDJ5u#Bzb_Wx5F7#_WHsyz)J$5j2l{)@EA1br9&1?5$KzBAMKDi5`A>Q%+7H}BZ7 zBcm$9{nEPUTP74O3yphmZ9Yqoy;AM$r*TUbgspCsxwrA={LO*awsKiXUOndewN7!@ z|L5xEOQ+ahkl7hL>-*WA%*M&>{e3SopX@TpzGHYGpd|Coj^Cz7!%xXq9n|=G>D7zN zS(2*43o9fH7d>@L{r7j)qW+}g32z_9t#Uo_O!u|z!mxW=-W(Iu{#j>K>L2y;o|;F| z&0b~GqLZ8Kgj?S9S!jQYNKjw$YZ*8-#&Vk=CzcBdzuw8uDqv;ExwWNp z<JSd+}}_R-u2>x42gynIgiuc3R?*_tOiXKP=aOujcXS>k7p)vrJ{py8hYaluhYa7q(vw7F$ZanUu+^n2hlPauG6;bm4?T%VL z20LlXsrOzcwZ7TPY(J5qudgrr`nuFT)7OTr4qqSl_RSj~rajy0b>Dvbm2)J7;YMPH z_Vk?}tzKMQa!7V(Q=DAmt@#!61JWBaPHxOy-W9abHH()PMiC^{$&mA*+1sUHx!lnf{>ZWn3Hc<%+g`TD+QFW@i)YUAKsj zM*ey^X3_RcUA_$&2@{`WPZQg+lOuD(>u*2bZa>H1aD83ubp7~q3E|#r!|H!Noql(B zIeWv~lj-Gm7v7Jn{iDqAAV8~Bw)OPG4H-{ejHZ9AUoTf%@^ndZ_E!7zvT-M)jT(*I z!dFb)m@O8s<#BoYf{@i!|G%7jIcN8*_~PtSi^6qHBr2YVdFFjt)q0e-?XqR@%nzAa z`eLQh69dDynJ$jJOxqbbXL3}a#Jgw4 zDl_W5`oqiCTg|TKXJF%#*-`a1YuPr7^|8Cl4m2<_6qtR#r(IpQAUDgSV0(f2{3~7T z=G`l9=h#G@=gHNLcq_=WKz4n$rCphy^50$mCeC!3X=|<;lf9ZPK7IjgEdZ!cNM9OT zzkAaR9w4|0hPed)_bH^Q5Hh(OZeem1Ud1t@CE^Sg&n8Wx9>-p7pxF z`FOu9519{|YFnEBVRGbl#)PUj0p2}4w|{)xAGw`jLG|}{?fmlBT67llPM&=E;oiq9@koc=b1$R3kSAwf+_^7xj5q1{vvsfRzs3|ETV?%!+rg(Zx>^!@JEVTC z+4cGT&PhF?f0y6dIDf^BtGNuv4t+^anwQ47sD0`0COeyLxnXxsWEwi#S?yc9rO|I2 z1A~HR(UoQX*HzEV75_hH^5n}0o7ws0Y<8rbm6H1Rp<7JX%fsWspX%C6_MiFx`>gkp z+VeJc*;fgruoHGRZg+pZeDdT<&1oIYsVCQn?-O(s@YNFG&HY?;iT!xt-4LswnOhF0 zU7CC{)%Q|+=6l;WGV}Of*!}-9O)XQn`{<>+MY&$;Z9#79CL~L=ZIrXM?lECJ+Tpb} z$Y9Eqb<^Rx^5cVA|Ak2Z6ITIS@P3oAspEFFbzwV9rny|>-E=*RrHd)HIu za(w1!dbKR_aADdmFA?jYnLS(jPCr~e{rlWmTT;q?G^}4I?Op9Lp~Xqj{N5FR8yUX# zUfWwXFQ2@K2#Z@6{a~f2!mS9cpGBf|iuzA?p4h?ynqLQaL3tzT60kaoW>CagGF|ASQ#HV}0m$SU{!fiL)3)OhBJTg1pdRf8#Wfohv zJ^6f(Gx=ZCSCyr!HksMz^`CyIG3$JxT`SX*Cod$##JU)qn5ImdCMGIAJMWsx$?u=O zeEIy@nZZNh@+IRVNgLlSHx2sua?bAaZb#}2DlR=*JlkjgHpeA9loDT0f9G_(SNM5< zU&qr82I=X~Pfk|%pJ#LPN9T^HQk}=o<}hbVc6xCz$n(rR;dHTnbKX^tqf`2A?qt4W zN#!~+>-RAOp4T#h3vX|{8n@0jO1rycYU6n^$DN>^A!V#cpEJ_`*t z+$uVGH_!2x{jK=VyKXig3(pGTKCL;?_;>H2bJHSb<=^H=W==K` zskLAE)yI`5>6H16X=Of7_Aarlo&tD9GP1JTTH2-kHmyt|A|fj))s-3U z#l@ZR-Zwv9{p{rihD(-8e}3_1nZ47r-lzMo;&e3gvA286U!G!SbNV0d_3C*3-$`ea zdinZm%LAOIw9glgUtz!7X;R8upGi@HKmPu7K5mq+HS>0a(|?ret!7EIbmIW^Un7v zlU3rsr?x1qSiIP|wsv!0PlV#{x4%wqXY2W0_-2k>_Wi_DOTAZy$$Rcz=2_CA_;5BQBtij}YX}bG8)kMubTXN>DpL?0#{J)^N?HSRQ zjkA{81+9)Qzqn}1#FMF6ritn57i#t7%60`FxxYR*H+F5=5&bDEkMC&RUBto=(CTfz z+`g;t%+sPjf2}0H%v5O1N!peB|CDE(`H2y z&wj4V$LF{EMU=i}U%6<+*jmm1r*KQFg6zR6MyU7liw_lYpBsR^gF&^&Bo--wYkIn#$!kVa17aXU}JR(4#VT+HGu(pK~YlcVyJ9gMXgPHrT_>QOWm>PnY$Z z^O_6W%(J;uv;MT6*!R0=-R+O83<{fsXKA0Wk>hs__@9c-#_!HS#4Fj z72?l*uS)vzZ?pY>e`&k7x6cfJB`x*u`#~Wu#;f(p#$Km1cAIgo+4=3?%Jsi|b_GnF zdp*GQCx>f*UH|nHq2-`UBY(h|CfC;&%Ah58`_$HxRaU1m(+uRVND^R)j-Zw>qQ)kb__%d+eE!c$*}TP)XU z- zK>c`Gw{;5VKc(wmzn_=TOz_&EyP2s-Q-muB!xZp$=#_ z(k&)p({P)$&guF3X|;WeGD1VY`oFH9`Tg1L&-ZGo-=3FVwQ6;w&b6+m@jpJvKJasN zbiAFL#@w*mv^B5hcLICc_t|H9r4|Kfub+0=^U)cO8aaCn1%m_k_ow^x)O`}=J5=

3M=`Z%B1qB7Ag;#AC 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ⅅe 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 VaD>a`qYMlT44$rjF6*2UngB$ZQQ`mq literal 110829 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%0Aup+=TJ2^K0Fy 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 z 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 + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +class ParseError(Exception): + pass + +class GerberParseError(ParseError): + pass + +class ExcellonParseError(ParseError): + pass + +class ExcellonFileError(IOError): + pass + +class GerberFileError(IOError): + pass diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py index 345f331..6aaffd4 100644 --- a/gerber/render/cairo_backend.py +++ b/gerber/render/cairo_backend.py @@ -25,6 +25,7 @@ import tempfile from ..primitives import * + class GerberCairoContext(GerberContext): def __init__(self, scale=300): GerberContext.__init__(self) @@ -32,42 +33,72 @@ class GerberCairoContext(GerberContext): self.surface = None self.ctx = None self.bg = False - + self.mask = None + self.mask_ctx = None + self.origin_in_pixels = None + self.size_in_pixels = None + def set_bounds(self, bounds): origin_in_inch = (bounds[0][0], bounds[1][0]) size_in_inch = (abs(bounds[0][1] - bounds[0][0]), abs(bounds[1][1] - bounds[1][0])) size_in_pixels = map(mul, size_in_inch, self.scale) + self.origin_in_pixels = tuple(map(mul, origin_in_inch, self.scale)) if self.origin_in_pixels is None else self.origin_in_pixels + self.size_in_pixels = size_in_pixels if self.size_in_pixels is None else self.size_in_pixels if self.surface is None: + self.surface_buffer = tempfile.NamedTemporaryFile() self.surface = cairo.SVGSurface(self.surface_buffer, size_in_pixels[0], size_in_pixels[1]) self.ctx = cairo.Context(self.surface) self.ctx.set_fill_rule(cairo.FILL_RULE_EVEN_ODD) self.ctx.scale(1, -1) self.ctx.translate(-(origin_in_inch[0] * self.scale[0]), (-origin_in_inch[1]*self.scale[0]) - size_in_pixels[1]) - # self.ctx.translate(-(origin_in_inch[0] * self.scale[0]), -origin_in_inch[1]*self.scale[1]) + + self.mask_buffer = tempfile.NamedTemporaryFile() + self.mask = cairo.SVGSurface(self.mask_buffer, size_in_pixels[0], size_in_pixels[1]) + self.mask_ctx = cairo.Context(self.mask) + self.mask_ctx.set_fill_rule(cairo.FILL_RULE_EVEN_ODD) + self.mask_ctx.scale(1, -1) + self.mask_ctx.translate(-(origin_in_inch[0] * self.scale[0]), (-origin_in_inch[1]*self.scale[0]) - size_in_pixels[1]) def _render_line(self, line, color): start = map(mul, line.start, self.scale) end = map(mul, line.end, self.scale) - if isinstance(line.aperture, Circle): - width = line.aperture.diameter + if not self.invert: self.ctx.set_source_rgba(*color, alpha=self.alpha) self.ctx.set_operator(cairo.OPERATOR_OVER if (line.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(width * self.scale[0]) - self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) - self.ctx.move_to(*start) - self.ctx.line_to(*end) - self.ctx.stroke() - elif isinstance(line.aperture, Rectangle): - points = [tuple(map(mul, x, self.scale)) for x in line.vertices] - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (line.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.move_to(*points[0]) - for point in points[1:]: - self.ctx.line_to(*point) - self.ctx.fill() + if isinstance(line.aperture, Circle): + width = line.aperture.diameter + self.ctx.set_line_width(width * self.scale[0]) + self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) + self.ctx.move_to(*start) + self.ctx.line_to(*end) + self.ctx.stroke() + elif isinstance(line.aperture, Rectangle): + points = [tuple(map(mul, x, self.scale)) for x in line.vertices] + self.ctx.set_line_width(0) + self.ctx.move_to(*points[0]) + for point in points[1:]: + self.ctx.line_to(*point) + self.ctx.fill() + else: + self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) + if isinstance(line.aperture, Circle): + width = line.aperture.diameter + self.mask_ctx.set_line_width(0) + self.mask_ctx.set_line_width(width * self.scale[0]) + self.mask_ctx.set_line_cap(cairo.LINE_CAP_ROUND) + self.mask_ctx.move_to(*start) + self.mask_ctx.line_to(*end) + self.mask_ctx.stroke() + elif isinstance(line.aperture, Rectangle): + points = [tuple(map(mul, x, self.scale)) for x in line.vertices] + self.mask_ctx.set_line_width(0) + self.mask_ctx.move_to(*points[0]) + for point in points[1:]: + self.mask_ctx.line_to(*point) + self.mask_ctx.fill() def _render_arc(self, arc, color): center = map(mul, arc.center, self.scale) @@ -78,7 +109,7 @@ class GerberCairoContext(GerberContext): angle2 = arc.end_angle width = arc.aperture.diameter if arc.aperture.diameter != 0 else 0.001 self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (arc.level_polarity == "dark" and not self.invert)else cairo.OPERATOR_CLEAR) + self.ctx.set_operator(cairo.OPERATOR_OVER if (arc.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) self.ctx.set_line_width(width * self.scale[0]) self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) self.ctx.move_to(*start) # You actually have to do this... @@ -112,20 +143,34 @@ class GerberCairoContext(GerberContext): def _render_circle(self, circle, color): center = tuple(map(mul, circle.position, self.scale)) - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (circle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) - self.ctx.fill() + if not self.invert: + self.ctx.set_source_rgba(*color, alpha=self.alpha) + self.ctx.set_operator(cairo.OPERATOR_OVER if (circle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) + self.ctx.set_line_width(0) + self.ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) + self.ctx.fill() + else: + self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) + self.mask_ctx.set_line_width(0) + self.mask_ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) + self.mask_ctx.fill() def _render_rectangle(self, rectangle, color): ll = map(mul, rectangle.lower_left, self.scale) width, height = tuple(map(mul, (rectangle.width, rectangle.height), map(abs, self.scale))) - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (rectangle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.rectangle(*ll,width=width, height=height) - self.ctx.fill() + if not self.invert: + self.ctx.set_source_rgba(*color, alpha=self.alpha) + self.ctx.set_operator(cairo.OPERATOR_OVER if (rectangle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) + self.ctx.set_line_width(0) + self.ctx.rectangle(*ll, width=width, height=height) + self.ctx.fill() + else: + self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) + self.mask_ctx.set_line_width(0) + self.mask_ctx.rectangle(*ll, width=width, height=height) + self.mask_ctx.fill() def _render_obround(self, obround, color): self._render_circle(obround.subshapes['circle1'], color) @@ -140,17 +185,23 @@ class GerberCairoContext(GerberContext): self.ctx.set_font_size(200) self._render_circle(Circle(primitive.position, 0.01), color) self.ctx.set_source_rgb(*color) - self.ctx.set_operator(cairo.OPERATOR_OVER if (primitive.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) + self.ctx.set_operator(cairo.OPERATOR_OVER if (primitive.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) self.ctx.move_to(*[self.scale[0] * (coord + 0.01) for coord in primitive.position]) self.ctx.scale(1, -1) self.ctx.show_text(primitive.net_name) self.ctx.scale(1, -1) def _paint_inverted_layer(self): - self.ctx.set_source_rgba(*self.background_color) + self.mask_ctx.set_operator(cairo.OPERATOR_OVER) + self.mask_ctx.set_source_rgba(*self.color, alpha=self.alpha) + self.mask_ctx.paint() + + def _render_mask(self): self.ctx.set_operator(cairo.OPERATOR_OVER) + ptn = cairo.SurfacePattern(self.mask) + ptn.set_matrix(cairo.Matrix(xx=1.0, yy=-1.0, x0=-self.origin_in_pixels[0], y0=self.size_in_pixels[1] + self.origin_in_pixels[1])) + self.ctx.set_source(ptn) self.ctx.paint() - self.ctx.set_operator(cairo.OPERATOR_CLEAR) def _paint_background(self): if not self.bg: @@ -160,21 +211,17 @@ class GerberCairoContext(GerberContext): def dump(self, filename): is_svg = filename.lower().endswith(".svg") - if is_svg: self.surface.finish() self.surface_buffer.flush() - with open(filename, "w") as f: self.surface_buffer.seek(0) f.write(self.surface_buffer.read()) f.flush() - else: self.surface.write_to_png(filename) - + def dump_svg_str(self): self.surface.finish() self.surface_buffer.flush() return self.surface_buffer.read() - \ No newline at end of file diff --git a/gerber/render/render.py b/gerber/render/render.py index 8f49796..737061e 100644 --- a/gerber/render/render.py +++ b/gerber/render/render.py @@ -23,12 +23,13 @@ Rendering Render Gerber and Excellon files to a variety of formats. The render module currently supports SVG rendering using the `svgwrite` library. """ -from ..gerber_statements import (CommentStmt, UnknownStmt, EofStmt, ParamStmt, - CoordStmt, ApertureStmt, RegionModeStmt, - QuadrantModeStmt, -) + from ..primitives import * +from ..gerber_statements import (CommentStmt, UnknownStmt, EofStmt, ParamStmt, + CoordStmt, ApertureStmt, RegionModeStmt, + QuadrantModeStmt,) + class GerberContext(object): """ Gerber rendering context base class @@ -182,3 +183,17 @@ class GerberContext(object): def _render_test_record(self, primitive, color): pass + +class Renderable(object): + def __init__(self, color=None, alpha=None, invert=False): + self.color = color + self.alpha = alpha + self.invert = invert + + def to_render(self): + """ Override this in subclass. Should return a list of Primitives or Renderables + """ + raise NotImplementedError('to_render() must be implemented in subclass') + + def apply_theme(self, theme): + raise NotImplementedError('apply_theme() must be implemented in subclass') diff --git a/gerber/render/theme.py b/gerber/render/theme.py new file mode 100644 index 0000000..5d39bb6 --- /dev/null +++ b/gerber/render/theme.py @@ -0,0 +1,50 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2013-2014 Paulo Henrique Silva + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +COLORS = { + 'black': (0.0, 0.0, 0.0), + 'white': (1.0, 1.0, 1.0), + 'fr-4': (0.702, 0.655, 0.192), + 'green soldermask': (0.0, 0.612, 0.396), + 'blue soldermask': (0.059, 0.478, 0.651), + 'red soldermask': (0.968, 0.169, 0.165), + 'black soldermask': (0.298, 0.275, 0.282), + 'enig copper': (0.780, 0.588, 0.286), + 'hasl copper': (0.871, 0.851, 0.839) +} + + +class RenderSettings(object): + def __init__(self, color, alpha=1.0, invert=False): + self.color = color + self.alpha = alpha + self.invert = False + + +class Theme(object): + def __init__(self, **kwargs): + self.background = kwargs.get('background', RenderSettings(COLORS['black'], 0.0)) + self.topsilk = kwargs.get('topsilk', RenderSettings(COLORS['white'])) + self.topsilk = kwargs.get('bottomsilk', RenderSettings(COLORS['white'])) + self.topmask = kwargs.get('topmask', RenderSettings(COLORS['green soldermask'], 0.8, True)) + self.topmask = kwargs.get('topmask', RenderSettings(COLORS['green soldermask'], 0.8, True)) + self.top = kwargs.get('top', RenderSettings(COLORS['hasl copper'])) + self.bottom = kwargs.get('top', RenderSettings(COLORS['hasl copper'])) + self.drill = kwargs.get('drill', self.background) + + diff --git a/gerber/rs274x.py b/gerber/rs274x.py index 9fd63da..d9fd317 100644 --- a/gerber/rs274x.py +++ b/gerber/rs274x.py @@ -26,7 +26,7 @@ try: from cStringIO import StringIO except(ImportError): from io import StringIO - + from .gerber_statements import * from .primitives import * from .cam import CamFile, FileSettings @@ -49,8 +49,21 @@ def read(filename): def loads(data): + """ Generate a GerberFile object from rs274x data in memory + + Parameters + ---------- + data : string + string containing gerber file contents + + Returns + ------- + file : :class:`gerber.rs274x.GerberFile` + A GerberFile created from the specified file. + """ return GerberParser().parse_raw(data) + class GerberFile(CamFile): """ A class representing a single gerber file @@ -215,7 +228,7 @@ class GerberParser(object): def parse(self, filename): with open(filename, "rU") as fp: data = fp.read() - return self.parse_raw(data, filename=None) + return self.parse_raw(data, filename) def parse_raw(self, data, filename=None): lines = [line for line in StringIO(data)] @@ -254,27 +267,10 @@ class GerberParser(object): oldline = line continue - did_something = True # make sure we do at least one loop while did_something and len(line) > 0: did_something = False - # Region Mode - (mode, r) = _match_one(self.REGION_MODE_STMT, line) - if mode: - yield RegionModeStmt.from_gerber(line) - line = r - did_something = True - continue - - # Quadrant Mode - (mode, r) = _match_one(self.QUAD_MODE_STMT, line) - if mode: - yield QuadrantModeStmt.from_gerber(line) - line = r - did_something = True - continue - # coord (coord, r) = _match_one(self.COORD_STMT, line) if coord: @@ -292,14 +288,6 @@ class GerberParser(object): line = r continue - # comment - (comment, r) = _match_one(self.COMMENT_STMT, line) - if comment: - yield CommentStmt(comment["comment"]) - did_something = True - line = r - continue - # parameter (param, r) = _match_one_from_many(self.PARAM_STMT, line) @@ -350,6 +338,30 @@ class GerberParser(object): line = r continue + # Region Mode + (mode, r) = _match_one(self.REGION_MODE_STMT, line) + if mode: + yield RegionModeStmt.from_gerber(line) + line = r + did_something = True + continue + + # Quadrant Mode + (mode, r) = _match_one(self.QUAD_MODE_STMT, line) + if mode: + yield QuadrantModeStmt.from_gerber(line) + line = r + did_something = True + continue + + # comment + (comment, r) = _match_one(self.COMMENT_STMT, line) + if comment: + yield CommentStmt(comment["comment"]) + did_something = True + line = r + continue + # deprecated codes (deprecated_unit, r) = _match_one(self.DEPRECATED_UNIT, line) if deprecated_unit: diff --git a/gerber/tests/test_common.py b/gerber/tests/test_common.py index 7c66c0f..5991e5e 100644 --- a/gerber/tests/test_common.py +++ b/gerber/tests/test_common.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # Author: Hamilton Kibbe +from ..exceptions import ParseError from ..common import read, loads from ..excellon import ExcellonFile from ..rs274x import GerberFile @@ -31,12 +32,12 @@ def test_load_from_string(): top_copper = loads(f.read()) assert_true(isinstance(ncdrill, ExcellonFile)) assert_true(isinstance(top_copper, GerberFile)) - + def test_file_type_validation(): """ Test file format validation """ - assert_raises(TypeError, read, 'LICENSE') + assert_raises(ParseError, read, 'LICENSE') diff --git a/gerber/tests/test_excellon.py b/gerber/tests/test_excellon.py index 705adc3..a9a33c7 100644 --- a/gerber/tests/test_excellon.py +++ b/gerber/tests/test_excellon.py @@ -98,60 +98,60 @@ def test_parser_hole_sizes(): def test_parse_whitespace(): p = ExcellonParser(FileSettings()) - assert_equal(p._parse(' '), None) + assert_equal(p._parse_line(' '), None) def test_parse_comment(): p = ExcellonParser(FileSettings()) - p._parse(';A comment') + p._parse_line(';A comment') assert_equal(p.statements[0].comment, 'A comment') def test_parse_format_comment(): p = ExcellonParser(FileSettings()) - p._parse('; FILE_FORMAT=9:9 ') + p._parse_line('; FILE_FORMAT=9:9 ') assert_equal(p.format, (9, 9)) def test_parse_header(): p = ExcellonParser(FileSettings()) - p._parse('M48 ') + p._parse_line('M48 ') assert_equal(p.state, 'HEADER') - p._parse('M95 ') + p._parse_line('M95 ') assert_equal(p.state, 'DRILL') def test_parse_rout(): p = ExcellonParser(FileSettings()) - p._parse('G00 ') + p._parse_line('G00 ') assert_equal(p.state, 'ROUT') - p._parse('G05 ') + p._parse_line('G05 ') assert_equal(p.state, 'DRILL') def test_parse_version(): p = ExcellonParser(FileSettings()) - p._parse('VER,1 ') + p._parse_line('VER,1 ') assert_equal(p.statements[0].version, 1) - p._parse('VER,2 ') + p._parse_line('VER,2 ') assert_equal(p.statements[1].version, 2) def test_parse_format(): p = ExcellonParser(FileSettings()) - p._parse('FMAT,1 ') + p._parse_line('FMAT,1 ') assert_equal(p.statements[0].format, 1) - p._parse('FMAT,2 ') + p._parse_line('FMAT,2 ') assert_equal(p.statements[1].format, 2) def test_parse_units(): settings = FileSettings(units='inch', zeros='trailing') p = ExcellonParser(settings) - p._parse(';METRIC,LZ') + p._parse_line(';METRIC,LZ') assert_equal(p.units, 'inch') assert_equal(p.zeros, 'trailing') - p._parse('METRIC,LZ') + p._parse_line('METRIC,LZ') assert_equal(p.units, 'metric') assert_equal(p.zeros, 'leading') @@ -160,9 +160,9 @@ def test_parse_incremental_mode(): settings = FileSettings(units='inch', zeros='trailing') p = ExcellonParser(settings) assert_equal(p.notation, 'absolute') - p._parse('ICI,ON ') + p._parse_line('ICI,ON ') assert_equal(p.notation, 'incremental') - p._parse('ICI,OFF ') + p._parse_line('ICI,OFF ') assert_equal(p.notation, 'absolute') @@ -170,29 +170,29 @@ def test_parse_absolute_mode(): settings = FileSettings(units='inch', zeros='trailing') p = ExcellonParser(settings) assert_equal(p.notation, 'absolute') - p._parse('ICI,ON ') + p._parse_line('ICI,ON ') assert_equal(p.notation, 'incremental') - p._parse('G90 ') + p._parse_line('G90 ') assert_equal(p.notation, 'absolute') def test_parse_repeat_hole(): p = ExcellonParser(FileSettings()) p.active_tool = ExcellonTool(FileSettings(), number=8) - p._parse('R03X1.5Y1.5') + p._parse_line('R03X1.5Y1.5') assert_equal(p.statements[0].count, 3) def test_parse_incremental_position(): p = ExcellonParser(FileSettings(notation='incremental')) - p._parse('X01Y01') - p._parse('X01Y01') + p._parse_line('X01Y01') + p._parse_line('X01Y01') assert_equal(p.pos, [2.,2.]) def test_parse_unknown(): p = ExcellonParser(FileSettings()) - p._parse('Not A Valid Statement') + p._parse_line('Not A Valid Statement') assert_equal(p.statements[0].stmt, 'Not A Valid Statement') From a0847ef70d85ccc62022bc22eaeca4f94f7247d2 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Sat, 19 Dec 2015 21:56:01 -0500 Subject: [PATCH 2/3] Update Readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 098b704..298cf0c 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ Rendering Examples: ------------------- ###Top Composite rendering ![Composite Top Image](examples/cairo_example.png) + Source code for this example can be found [here](examples/cairo_example.py). From 60c5906b29b6427a5190d31c7bb5511e0bf78fd4 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Sun, 20 Dec 2015 15:24:20 -0500 Subject: [PATCH 3/3] Clean up negative render code --- gerber/render/cairo_backend.py | 147 ++++++++++++++++----------------- 1 file changed, 70 insertions(+), 77 deletions(-) diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py index 6aaffd4..c8f94ff 100644 --- a/gerber/render/cairo_backend.py +++ b/gerber/render/cairo_backend.py @@ -44,18 +44,14 @@ class GerberCairoContext(GerberContext): size_in_pixels = map(mul, size_in_inch, self.scale) self.origin_in_pixels = tuple(map(mul, origin_in_inch, self.scale)) if self.origin_in_pixels is None else self.origin_in_pixels self.size_in_pixels = size_in_pixels if self.size_in_pixels is None else self.size_in_pixels - if self.surface is None: - self.surface_buffer = tempfile.NamedTemporaryFile() self.surface = cairo.SVGSurface(self.surface_buffer, size_in_pixels[0], size_in_pixels[1]) self.ctx = cairo.Context(self.surface) self.ctx.set_fill_rule(cairo.FILL_RULE_EVEN_ODD) self.ctx.scale(1, -1) self.ctx.translate(-(origin_in_inch[0] * self.scale[0]), (-origin_in_inch[1]*self.scale[0]) - size_in_pixels[1]) - - self.mask_buffer = tempfile.NamedTemporaryFile() - self.mask = cairo.SVGSurface(self.mask_buffer, size_in_pixels[0], size_in_pixels[1]) + self.mask = cairo.SVGSurface(None, size_in_pixels[0], size_in_pixels[1]) self.mask_ctx = cairo.Context(self.mask) self.mask_ctx.set_fill_rule(cairo.FILL_RULE_EVEN_ODD) self.mask_ctx.scale(1, -1) @@ -65,40 +61,27 @@ class GerberCairoContext(GerberContext): start = map(mul, line.start, self.scale) end = map(mul, line.end, self.scale) if not self.invert: - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (line.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - if isinstance(line.aperture, Circle): - width = line.aperture.diameter - self.ctx.set_line_width(width * self.scale[0]) - self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) - self.ctx.move_to(*start) - self.ctx.line_to(*end) - self.ctx.stroke() - elif isinstance(line.aperture, Rectangle): - points = [tuple(map(mul, x, self.scale)) for x in line.vertices] - self.ctx.set_line_width(0) - self.ctx.move_to(*points[0]) - for point in points[1:]: - self.ctx.line_to(*point) - self.ctx.fill() + ctx = self.ctx + ctx.set_source_rgba(*color, alpha=self.alpha) + ctx.set_operator(cairo.OPERATOR_OVER if line.level_polarity == "dark" else cairo.OPERATOR_CLEAR) else: - self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) - self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) - if isinstance(line.aperture, Circle): - width = line.aperture.diameter - self.mask_ctx.set_line_width(0) - self.mask_ctx.set_line_width(width * self.scale[0]) - self.mask_ctx.set_line_cap(cairo.LINE_CAP_ROUND) - self.mask_ctx.move_to(*start) - self.mask_ctx.line_to(*end) - self.mask_ctx.stroke() - elif isinstance(line.aperture, Rectangle): - points = [tuple(map(mul, x, self.scale)) for x in line.vertices] - self.mask_ctx.set_line_width(0) - self.mask_ctx.move_to(*points[0]) - for point in points[1:]: - self.mask_ctx.line_to(*point) - self.mask_ctx.fill() + ctx = self.mask_ctx + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + ctx.set_operator(cairo.OPERATOR_CLEAR) + if isinstance(line.aperture, Circle): + width = line.aperture.diameter + ctx.set_line_width(width * self.scale[0]) + ctx.set_line_cap(cairo.LINE_CAP_ROUND) + ctx.move_to(*start) + ctx.line_to(*end) + ctx.stroke() + elif isinstance(line.aperture, Rectangle): + points = [tuple(map(mul, x, self.scale)) for x in line.vertices] + ctx.set_line_width(0) + ctx.move_to(*points[0]) + for point in points[1:]: + ctx.line_to(*point) + ctx.fill() def _render_arc(self, arc, color): center = map(mul, arc.center, self.scale) @@ -108,26 +91,38 @@ class GerberCairoContext(GerberContext): angle1 = arc.start_angle angle2 = arc.end_angle width = arc.aperture.diameter if arc.aperture.diameter != 0 else 0.001 - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (arc.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(width * self.scale[0]) - self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) - self.ctx.move_to(*start) # You actually have to do this... - if arc.direction == 'counterclockwise': - self.ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2) + if not self.invert: + ctx = self.ctx + ctx.set_source_rgba(*color, alpha=self.alpha) + ctx.set_operator(cairo.OPERATOR_OVER if arc.level_polarity == "dark" else cairo.OPERATOR_CLEAR) else: - self.ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2) - self.ctx.move_to(*end) # ...lame + ctx = self.mask_ctx + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + ctx.set_operator(cairo.OPERATOR_CLEAR) + ctx.set_line_width(width * self.scale[0]) + ctx.set_line_cap(cairo.LINE_CAP_ROUND) + ctx.move_to(*start) # You actually have to do this... + if arc.direction == 'counterclockwise': + ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2) + else: + ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2) + ctx.move_to(*end) # ...lame def _render_region(self, region, color): - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (region.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.set_line_cap(cairo.LINE_CAP_ROUND) - self.ctx.move_to(*tuple(map(mul, region.primitives[0].start, self.scale))) + if not self.invert: + ctx = self.ctx + ctx.set_source_rgba(*color, alpha=self.alpha) + ctx.set_operator(cairo.OPERATOR_OVER if region.level_polarity == "dark" else cairo.OPERATOR_CLEAR) + else: + ctx = self.mask_ctx + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + ctx.set_operator(cairo.OPERATOR_CLEAR) + ctx.set_line_width(0) + ctx.set_line_cap(cairo.LINE_CAP_ROUND) + ctx.move_to(*tuple(map(mul, region.primitives[0].start, self.scale))) for p in region.primitives: if isinstance(p, Line): - self.ctx.line_to(*tuple(map(mul, p.end, self.scale))) + ctx.line_to(*tuple(map(mul, p.end, self.scale))) else: center = map(mul, p.center, self.scale) start = map(mul, p.start, self.scale) @@ -136,41 +131,39 @@ class GerberCairoContext(GerberContext): angle1 = p.start_angle angle2 = p.end_angle if p.direction == 'counterclockwise': - self.ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2) + ctx.arc(*center, radius=radius, angle1=angle1, angle2=angle2) else: - self.ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2) - self.ctx.fill() + ctx.arc_negative(*center, radius=radius, angle1=angle1, angle2=angle2) + ctx.fill() def _render_circle(self, circle, color): center = tuple(map(mul, circle.position, self.scale)) if not self.invert: - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (circle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) - self.ctx.fill() + ctx = self.ctx + ctx.set_source_rgba(*color, alpha=self.alpha) + ctx.set_operator(cairo.OPERATOR_OVER if circle.level_polarity == "dark" else cairo.OPERATOR_CLEAR) else: - self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) - self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) - self.mask_ctx.set_line_width(0) - self.mask_ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) - self.mask_ctx.fill() + ctx = self.mask_ctx + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + ctx.set_operator(cairo.OPERATOR_CLEAR) + ctx.set_line_width(0) + ctx.arc(*center, radius=circle.radius * self.scale[0], angle1=0, angle2=2 * math.pi) + ctx.fill() def _render_rectangle(self, rectangle, color): ll = map(mul, rectangle.lower_left, self.scale) width, height = tuple(map(mul, (rectangle.width, rectangle.height), map(abs, self.scale))) if not self.invert: - self.ctx.set_source_rgba(*color, alpha=self.alpha) - self.ctx.set_operator(cairo.OPERATOR_OVER if (rectangle.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) - self.ctx.set_line_width(0) - self.ctx.rectangle(*ll, width=width, height=height) - self.ctx.fill() + ctx = self.ctx + ctx.set_source_rgba(*color, alpha=self.alpha) + ctx.set_operator(cairo.OPERATOR_OVER if rectangle.level_polarity == "dark" else cairo.OPERATOR_CLEAR) else: - self.mask_ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) - self.mask_ctx.set_operator(cairo.OPERATOR_CLEAR) - self.mask_ctx.set_line_width(0) - self.mask_ctx.rectangle(*ll, width=width, height=height) - self.mask_ctx.fill() + ctx = self.mask_ctx + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0) + ctx.set_operator(cairo.OPERATOR_CLEAR) + ctx.set_line_width(0) + ctx.rectangle(*ll, width=width, height=height) + ctx.fill() def _render_obround(self, obround, color): self._render_circle(obround.subshapes['circle1'], color) @@ -185,7 +178,7 @@ class GerberCairoContext(GerberContext): self.ctx.set_font_size(200) self._render_circle(Circle(primitive.position, 0.01), color) self.ctx.set_source_rgb(*color) - self.ctx.set_operator(cairo.OPERATOR_OVER if (primitive.level_polarity == "dark" and not self.invert) else cairo.OPERATOR_CLEAR) + self.ctx.set_operator(cairo.OPERATOR_OVER if primitive.level_polarity == "dark" else cairo.OPERATOR_CLEAR) self.ctx.move_to(*[self.scale[0] * (coord + 0.01) for coord in primitive.position]) self.ctx.scale(1, -1) self.ctx.show_text(primitive.net_name)