From c98a3a701aa131b322ad7aab8e4e017f84c16ec5 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 11 Sep 2019 23:25:29 +0200 Subject: [PATCH] Add SVGs for overlays and make Icons with overlays 20% smaller. Replace ReferenceFolder icon. --- ILSpy/ILSpy.csproj | 8 +- ILSpy/Images/Images.cs | 19 +++-- ILSpy/Images/OverlayInternal.png | Bin 331 -> 342 bytes ILSpy/Images/OverlayInternal.svg | 73 +++++++++++++++++ ILSpy/Images/OverlayInternal.xaml | Bin 2054 -> 2238 bytes ILSpy/Images/OverlayPrivate.png | Bin 312 -> 303 bytes ILSpy/Images/OverlayPrivate.svg | 80 ++++++++++++++++++ ILSpy/Images/OverlayPrivate.xaml | Bin 722 -> 1438 bytes ILSpy/Images/OverlayProtected.png | Bin 291 -> 303 bytes ILSpy/Images/OverlayProtected.svg | 72 +++++++++++++++++ ILSpy/Images/OverlayProtected.xaml | Bin 647 -> 1290 bytes ILSpy/Images/OverlayStatic.xaml | 2 +- ILSpy/Images/ReferenceFolder.Closed.png | Bin 711 -> 0 bytes ILSpy/Images/ReferenceFolder.Open.png | Bin 596 -> 0 bytes ILSpy/Images/ReferenceFolder.png | Bin 0 -> 472 bytes ILSpy/Images/ReferenceFolder.svg | 90 +++++++++++++++++++++ ILSpy/Images/ReferenceFolder.xaml | Bin 0 -> 2824 bytes ILSpy/TreeNodes/ReferenceFolderTreeNode.cs | 6 +- ILSpy/TreeNodes/ResourceListTreeNode.cs | 4 +- 19 files changed, 338 insertions(+), 16 deletions(-) create mode 100644 ILSpy/Images/OverlayInternal.svg create mode 100644 ILSpy/Images/OverlayPrivate.svg create mode 100644 ILSpy/Images/OverlayProtected.svg delete mode 100644 ILSpy/Images/ReferenceFolder.Closed.png delete mode 100644 ILSpy/Images/ReferenceFolder.Open.png create mode 100644 ILSpy/Images/ReferenceFolder.png create mode 100644 ILSpy/Images/ReferenceFolder.svg create mode 100644 ILSpy/Images/ReferenceFolder.xaml diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj index 01d7a6caf..b8bdfd230 100644 --- a/ILSpy/ILSpy.csproj +++ b/ILSpy/ILSpy.csproj @@ -341,6 +341,7 @@ + @@ -376,8 +377,7 @@ - - + @@ -524,6 +524,10 @@ MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/ILSpy/Images/Images.cs b/ILSpy/Images/Images.cs index 6fe4bb002..eedb1de24 100644 --- a/ILSpy/Images/Images.cs +++ b/ILSpy/Images/Images.cs @@ -66,8 +66,7 @@ namespace ICSharpCode.ILSpy public static readonly object Library = Load("Library"); public static readonly object Namespace = Load("Namespace"); - public static readonly BitmapImage ReferenceFolderOpen = LoadBitmap("ReferenceFolder.Open"); - public static readonly BitmapImage ReferenceFolderClosed = LoadBitmap("ReferenceFolder.Closed"); + public static readonly object ReferenceFolder = Load("ReferenceFolder"); public static readonly BitmapImage SubTypes = LoadBitmap("SubTypes"); public static readonly BitmapImage SuperTypes = LoadBitmap("SuperTypes"); @@ -386,16 +385,24 @@ namespace ICSharpCode.ILSpy { var group = new DrawingGroup(); - if (baseImage is ImageSource img) - group.Children.Add(new ImageDrawing(img, iconRect)); - else - group.Children.Add((DrawingGroup)baseImage); + Drawing baseDrawing; + if (baseImage is ImageSource img) { + baseDrawing = new ImageDrawing(img, iconRect); + } else { + baseDrawing = (DrawingGroup)baseImage; + } if (overlay != null) { + var nestedGroup = new DrawingGroup { Transform = new ScaleTransform(0.8, 0.8) }; + nestedGroup.Children.Add(baseDrawing); + group.Children.Add(nestedGroup); + if (overlay is ImageSource overlayImage) group.Children.Add(new ImageDrawing(overlayImage, iconRect)); else group.Children.Add((DrawingGroup)overlay); + } else { + group.Children.Add(baseDrawing); } if (isStatic) { diff --git a/ILSpy/Images/OverlayInternal.png b/ILSpy/Images/OverlayInternal.png index e6bbf2ef5b4e2256a8dfc69dd4f821d682701072..f364dbf5783a71e8868345fe5942df7c9cb561af 100644 GIT binary patch delta 240 zcmVEm z3n5tSCv3ldL5loB8ViZ2ycvWCH%%5&zU}uk0~hX@8Q{*H8zC9|&HXhqK1Ef1AbBGB z0$>4fFvgs>ZF~3HEFzbtX_)6Z`@UzEWo+A)*4huR3+8#YMQKqSNFoRVIOh;W5xTDX z-uVc^F#L?;7y#g$0{|pR0%OdV*9+F#r)ip&vMiaVDXXgDx~_w&K6(iNKvj>!Fl=>Q qa~ww%k!SDnKgpYj{D{cwHTwle&T6dbMM>rW0000jDQFI8su(8&%u4~QnT$`rRWm&#N + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ILSpy/Images/OverlayInternal.xaml b/ILSpy/Images/OverlayInternal.xaml index 0547b6dca8a8293652bf49c251ba9bf861e75ad1..5daa63ca0a77365f43ac8cc07853ea669e02debe 100644 GIT binary patch delta 670 zcmaJDC09nxRi!%RaJA5*KU z2hF31;nEs~0CHK&p)MjC#aooxXsi&?qJRf(B8Lzc8<9NJu1KP+7F@wS^DOLw3Y1** zcR0;JvsR-0$qH}j%_UD2IY@O4ODhnc+T*E*b^3%=IWTC_HJTO~9gq$fNn?RwncZ%; z^O~I<$ku3YpPApe4cYn5?Kr=<6DDnnq|z>GcytJpol1WrDnH8D=R-cd9$zUBjkk$8 Y9jlA);U)jh*bmEM8ohOT8dk;q4|iZxw*UYD delta 528 zcmZuuF;2uV5ZvgvkP-@XLY#C#6cm7o?Zk;|zQ7OY_yG;q(NOM3km&gWJuMHQ-~ljW zCpzwgBFoO~%gU7>QzKkOq4%UTXYVpe-=>`co8zRZ- ZT%iMbJ>p^nJbTWl-Tt>W)lzS(`(KH8L9hS- diff --git a/ILSpy/Images/OverlayPrivate.png b/ILSpy/Images/OverlayPrivate.png index 605b509b2b1f1320a9a9c8023046f4c4ffb4264e..089c046f42cb59207e4b867fb773e5dca48293ed 100644 GIT binary patch delta 201 zcmV;)05<=)0s5t*4$LUQfBzW{gwcmZ$#P9#@GBLHx=)*kA* zmcH*L3`41^N}?z_sy^`EKgzOX(=;50fnC?JC<>0_XqOs+F+ye&$FZboDnSrPk|g4s z6Ovo)1ZG+Gb#L2N7OD*&+^+XY{#&ry=aa0S@T+?RH8fF&1fL;K00000NkvXXu0mjf DK73aa delta 210 zcmV;@04@Ko0=NQ@Zhy5&L_t(IjqT4d4uU`s1<+Ze6cirB*imwV4cnj>pdf)Gcn1@2 zU`MMq6kGvX;|(^krP;ro-`2zs*Ph=^e&$U^WX>EBA-Q(WodG-nyZ~4LN0O@`0Klp5 zdzNKMtu>3H;4lpI-XDSh=iH;NYc@^8aU9uo9jmIM_x>KTze`j~ZIUFBEXyQ{B1zL! zthGXN8v-Z*G{$@tZQDv5$Lbfb_#Cd6TgcIAV7Jfz1{45Jl_4*@0cc}b4|UC9`2YX_ M07*qoM6N<$f`yA(v;Y7A diff --git a/ILSpy/Images/OverlayPrivate.svg b/ILSpy/Images/OverlayPrivate.svg new file mode 100644 index 000000000..1d2c52d96 --- /dev/null +++ b/ILSpy/Images/OverlayPrivate.svg @@ -0,0 +1,80 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/ILSpy/Images/OverlayPrivate.xaml b/ILSpy/Images/OverlayPrivate.xaml index 8c3064fead3b5926ad6e2a968080a378ff20ca70..c05c10fde1657998f8e7d1c2ee2afb6b7da8b79b 100644 GIT binary patch literal 1438 zcmchX%}yIZ5QOW@Q>@_3+WYG@A{-zJIfQHOmIJXRY>*uc$-^i4s>f?23+E6;(WpH= zHQhDUJ+uDx^IY$>(nQaiYpJigX7!*aJu1_S7P<#r>z$4@(>KPW&NN`GH3hjPVuGJD z&q18K#_ovBSwDaew%m8{4OD8#Xz^aiH2(n36-;YvN!|pTley%~3mu^&(_xjluFx@u z=S#3GcR4BV8dj^gg>|Lxd(~#T1byP{S=4wE>a4II$DF>;;cnchpo%PhXF82}vz=$# zl_P!-n^9w5$=|8^Adhxuhg2=Lima=^-(U^)5gTKlv4YxiR%3RC5tVlH@UJ2==boyF zY}5rlCZ_`(gLe$G8Y@v{w8cuW4$Qq9#YrWr8hn4}({8sRua3No_mUBrliT49u_{h* zB?X?(H?PqO-xXEZzw2>->z)tw*f;MEx_8#;PUrN){hHzxczzG|N^s8|h$~A`smg|0 z+Ba}_%T>C5=agi-+h(kTGvQT4y|Vfh`d(YcG<++p!y7UCENf{PNnaCu$*(!jv8fiH zll(Gbtft@dtM*;Ex*i+t6eiB}MWmNda6b!Jtj#y*D*ReD^vQ7z-f8$vM7mS1HgRmi mD41|EWJ^Toj(Op#nsnjG@5}@$)Ttkb>0z@po=5c&I z&g80Jysp}(o4$MA(6(8(!!)VKadVcY!?LcL#lX#K*>^+tIP$V*O-^L@CA5#2CNs@R z^ZHct7xWsF=I;rme}c-g%wszQHB^u)y--HCBy>+I96}}zQZmHjyx^NaN$9_ZjrBAXt)NGXg-5AI|3?8zxh_jREIXY=BAM2;%`~#M!y6OM` diff --git a/ILSpy/Images/OverlayProtected.png b/ILSpy/Images/OverlayProtected.png index 823c0b9b0f1ac8be3b49d6d0aa92b425b3251717..60ca955b91b77dc93b5c1339b1fcaaf0e8d280fc 100644 GIT binary patch delta 201 zcmV;)05<=l0Fdld1;&_s7zRknqeGHb zBt=rwG^wg8Ip;LHSImMpfM?(LD9aM#IHD*DbX^Ak_t+I1l0w(Iu9an(nx+xSi==hz z2L!OS)}n1&q-hEOyCg|MT$()0@87)lN0JYca?b5P2)AkhD*(0u00000NkvXXu0mjf Dg78;@ delta 189 zcmV;u07Cz-0;2+uZhxRjL_t(IjqQ*z4uVh+MCaR5{m#Twa0x1n9VFDo>-;lt3mOi9 z)_4Z`pP6=SpcWEKUbQ>PWM39IIQS~BY=1Tx*e)c!Q%bI?$|)sFdN$cEHW>gAfOCuyUDqMT r2mqHQ{|(7<`Tj)mPI6lIa!daUW;$r$I_dQw00000NkvXXu0mjffCW?a diff --git a/ILSpy/Images/OverlayProtected.svg b/ILSpy/Images/OverlayProtected.svg new file mode 100644 index 000000000..931b970ee --- /dev/null +++ b/ILSpy/Images/OverlayProtected.svg @@ -0,0 +1,72 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/ILSpy/Images/OverlayProtected.xaml b/ILSpy/Images/OverlayProtected.xaml index d5cb089b5941b24f42e09cc27887ea774a9741b2..399719a34993bf7fc046098656ab345384858114 100644 GIT binary patch literal 1290 zcmb_cO;3YB5PfG8{{yM#Lg@zuQ$47$9`x$H(N;+Mm14E}oo_I@eeX|a>V zJ8eDISyl75ysn`UZRftcW|mWr9Y_#U@h+#bY!m5mrA&Qvc-k@CXQf>`X%X)e?Gu-^ zPEw`3=+!7CsL-D(IBBVpxo@L_E zzFw2_tLnNphLBIi2(3!_i>+lExEQM5RVfD9JKn_flAkaaxlO;Q$R#1Fx>b$(E>)$B zlnTit>_2<0zLoQEucguVURQmtR#K|kX(c5}R8^_ls@>g?xVQ;YO&zNuRLa-2j;UjL n+v++siT+egu}ei=yfV7WO84V8JqP@f_WiT={RL< literal 647 zcma)4%TB{U47~FdRyfD|-eghQ1E98ta^)VCEs2yzm84Mkdb~*}?Eyhn(c1EOJY#M4 z*yZnK^SbWZ;{i@})%1&~7>2_gWBso1b>3rL?z*;b_XFBNow`a}NX6%>8a9vn_0mde$tpET3 diff --git a/ILSpy/Images/OverlayStatic.xaml b/ILSpy/Images/OverlayStatic.xaml index a0a893f2c..525b65af6 100644 --- a/ILSpy/Images/OverlayStatic.xaml +++ b/ILSpy/Images/OverlayStatic.xaml @@ -1,5 +1,5 @@ - + diff --git a/ILSpy/Images/ReferenceFolder.Closed.png b/ILSpy/Images/ReferenceFolder.Closed.png deleted file mode 100644 index e992520163824451214537ed3303c0b0dfe5271d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 711 zcmV;&0yzDNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc00(qQO+^RP3=N2bPDNB8b~7$DE-^4L^m3s900JXPL_t(I zPmNMdh>}qh9a^^v+6*mPv}_l&tW6X_w24}#v(adiZNv-_qYzRINl7N06jMJ^X>tN< zAxThUqA2KR{^CYN^8XiSAt&!8&5v<04-WU;@1AqM`|f*NTmP2XY~ESGa6;@Xb*pGH znV$9geRR8B^m;weemERrG#W8zPu~a@i{<%B2;dYYHk<7wiQDZqn~-2So#N=|2(#IY z_k+QJ4eWNiY2Dy7C4wOAQjtiL$pi<#3bmZ(x&~Pxn|D zt^=VOAe83VzV(O=LZQ(6V;w}J(SwgavN(I=A$LG+lh7m1;7kwUNOW-Knv!SZ_xnA^ zX5e=_J(OKh^d1*6gEsMTtyR4Sm@ zXf*gnmXoKe&E;}f92N8V9D2R}{~*aor_;SD7K=<0MG=KU0p)TT)oOKR8i_TFvv&fbUGlu#6Y9bIJ4O-QmNENP;K#6K(Su0gZL5ywOZ|> zzb6ujji8#>>*elzJ|BoLF;J;gLOPx1A#DQHoK7bwE}lJzFELOk6ragGnM`g3)vQ)4 tcR*aFQh8NkAeYNu$z-x`CjoJn;=f{Kaej=pH_!k8002ovPDHLkV1k?oI2!-} diff --git a/ILSpy/Images/ReferenceFolder.Open.png b/ILSpy/Images/ReferenceFolder.Open.png deleted file mode 100644 index c986addc0daf6f59236a84478ebb0bab0d1ec5fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~OrP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005QNkldl3+cM1uSM zo_4z(O{Y^Tm&=sT=V>yT2oMM_BRdF(!*|>5me%XF0y>k)(0Du+EEWrbmyrRXQ0N}* zEtg9LbUK};(P$*VSnx73AP@*VpuO2_rhrbRQZyV61sD%rMh5u({y5T4Ekh>~3F`Oz z0{n-UxfZwJ^?H*?KUIW|$K%xPb_E#ecsvsPBEao-r;y(3^%T(jCaBZt2vFc~I1v0I zz~yqi;2pHvZ3Q%+w0aN!gOPAc@QVPa)AkEfW+<=%`&V~Nqu`SM-{@Mg_ov1nZ3 iimST~2E!BcW56f4u-IX0ja~=<00006P) + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/ILSpy/Images/ReferenceFolder.xaml b/ILSpy/Images/ReferenceFolder.xaml new file mode 100644 index 0000000000000000000000000000000000000000..de230e5ad63f099d3f46a8b4019a119e063539dc GIT binary patch literal 2824 zcmc&$O>fgc5S=p;|G_F}JMq^#Mx_Tplnd7$dW%X+BGI%;C=`A?@ZOHsYp=agg({)d zD&Ex$TzHec`Xa9gIs}f z4URRwGyHBrq3i+s2Amnrcc3pi>>J=Mq>v?+!Pg@siN65m9!Ll59pu*7TS)Gp^GsgK z3s{m!+|Eqi!ICYIK3kmKKuRUgflN!TfxMTWfyarw1@!^?H`dQr)vj# z(3jo*h~FH3C34Y!k;eN=@Fwund-HF0eGo3w@0eY;)`AKdXr+P$MjBaxR)EsL${Z(y zn+mimY}%Mx?v<1{)!5`Gy|i=#{v78V@=C8e^cJ)l$n-q5C=I>~tEcFAQ;R~b8afNB zm)I%J8O|%L96Yr};f>xdaXZzlT1v>VmP)L)mk7P!O$x5edg~+M@xAUkz?svaw#}hY z#}LcKi57)O$2?$;G&iBOu}r8h)T7ZY5&L4`3+0&43iJv*F0(04)TO!7n$S83?WKm8 zUB|2%$Gz!o3S;H+7sg60eM+=r2#)Ua?d!?(_Du8PV-!{tZ%Ff1u3b+JjD@fAvajY? zmH&FixuAW;-YP6=Y+lipC3t+TB(@H;lU9fcXFwvHU5%{|#;L+)pX+oZoqgxH^NxQG z`x1AYlbjxu(mvN-W4yFlwR1R+HrV5u;uPUbW#o0rPLZ6JRcD!-VYHZ5akfyWR<`1_ zpc_zKEU2A&4CtJ6-f!if!~Q>$o%Lr1KB>)|^6W8Icp~3B&wcJ(R_R}fjOsLC9lJM+ zarLvu#d|KRL?3r6qo>(n^oFs%z)e^&$~%WlZbmxnQ)0&~Cw=VwbLQo#ouyM@_$JZo zcC^%Q&RtFizQCOFj5Ph`%gmc$^}3jHru)~<)jKutUy7UV1}M{5Z$KUQR1VErBjY!K s^O73paGlP%tg)BESL0a5$gh*e`5Lc?X)aIkUn=&mHTG}tn9P~{1-Uat_W%F@ literal 0 HcmV?d00001 diff --git a/ILSpy/TreeNodes/ReferenceFolderTreeNode.cs b/ILSpy/TreeNodes/ReferenceFolderTreeNode.cs index fde4630f1..e59a409f0 100644 --- a/ILSpy/TreeNodes/ReferenceFolderTreeNode.cs +++ b/ILSpy/TreeNodes/ReferenceFolderTreeNode.cs @@ -46,11 +46,7 @@ namespace ICSharpCode.ILSpy.TreeNodes } public override object Icon { - get { return Images.ReferenceFolderClosed; } - } - - public override object ExpandedIcon { - get { return Images.ReferenceFolderOpen; } + get { return Images.GetIcon(Images.ReferenceFolder); } } protected override void LoadChildren() diff --git a/ILSpy/TreeNodes/ResourceListTreeNode.cs b/ILSpy/TreeNodes/ResourceListTreeNode.cs index c67c9d4b1..8f9b21f91 100644 --- a/ILSpy/TreeNodes/ResourceListTreeNode.cs +++ b/ILSpy/TreeNodes/ResourceListTreeNode.cs @@ -43,11 +43,11 @@ namespace ICSharpCode.ILSpy.TreeNodes } public override object Icon { - get { return Images.FolderClosed; } + get { return Images.GetIcon(Images.FolderClosed); } } public override object ExpandedIcon { - get { return Images.FolderOpen; } + get { return Images.GetIcon(Images.FolderOpen); } } protected override void LoadChildren()