├── .gitignore
├── screens
└── Xamarin Studio Sample.gif
├── src
├── Xamarin Studio
│ ├── icons
│ │ └── icon.png
│ ├── packages.config
│ ├── gtk-gui
│ │ ├── generated.cs
│ │ ├── MaterialIconsGenerator.MainDialog.cs
│ │ └── gui.stetic
│ ├── Properties
│ │ ├── AddinInfo.cs
│ │ ├── AssemblyInfo.cs
│ │ └── Manifest.addin.xml
│ ├── Commands
│ │ └── AddIconHandler.cs
│ ├── material-icons-generator-plugin.sln
│ ├── material-icons-generator-plugin.csproj
│ └── MainDialog.cs
└── Shared
│ ├── IconLocation.cs
│ ├── IconDownloader.cs
│ └── IconColors.cs
├── addin-project.xml
├── .gitattributes
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | obj/
2 | bin/
3 | material-icons-generator-plugin.userprefs
4 | ___FILES/
5 | packages/
6 | .vs/
--------------------------------------------------------------------------------
/screens/Xamarin Studio Sample.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/interisti/xs-material-icons-generator/HEAD/screens/Xamarin Studio Sample.gif
--------------------------------------------------------------------------------
/src/Xamarin Studio/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/interisti/xs-material-icons-generator/HEAD/src/Xamarin Studio/icons/icon.png
--------------------------------------------------------------------------------
/src/Xamarin Studio/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/addin-project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | src/Xamarin Studio/bin/Release/material-icons-generator-plugin.dll
4 | src/Xamarin Studio/material-icons-generator-plugin.sln
5 | Release
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # xs-material-icons-generator
2 | This plugin help you to set material design icons to your Android project in Xamarin Studio.
3 |
4 | 
5 |
6 | ## Installation
7 | * Xamarin Studio: Install from "add-in Manager": Tools -> Add-in manager
8 |
9 | ## Visual Studio
10 | * [vs-material-icons-generator](https://github.com/interisti/vs-material-icons-generator)
11 |
12 |
13 | ## Credits
14 | * Inspired by https://github.com/konifar/android-material-design-icon-generator-plugin
15 | * Icons From https://github.com/google/material-design-icons
16 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/gtk-gui/generated.cs:
--------------------------------------------------------------------------------
1 |
2 | // This file has been generated by the GUI designer. Do not modify.
3 | namespace Stetic
4 | {
5 | internal class Gui
6 | {
7 | private static bool initialized;
8 |
9 | internal static void Initialize (Gtk.Widget iconRenderer)
10 | {
11 | if ((Stetic.Gui.initialized == false)) {
12 | Stetic.Gui.initialized = true;
13 | }
14 | }
15 | }
16 |
17 | internal class ActionGroups
18 | {
19 | public static Gtk.ActionGroup GetActionGroup (System.Type type)
20 | {
21 | return Stetic.ActionGroups.GetActionGroup (type.FullName);
22 | }
23 |
24 | public static Gtk.ActionGroup GetActionGroup (string name)
25 | {
26 | return null;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/Properties/AddinInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Mono.Addins;
3 | using Mono.Addins.Description;
4 |
5 | [assembly:Addin (
6 | "material-icons-generator-plugin",
7 | Namespace = "MaterialIconsGenerator",
8 | Version = "1.4",
9 | Url = "https://github.com/interisti/material-icons-generator-plugin"
10 | )]
11 |
12 | [assembly:AddinName ("Material icons generator")]
13 | [assembly:AddinCategory ("IDE extensions")]
14 | [assembly:AddinDescription ("This plugin help you to set material design icons to your Android project.")]
15 | [assembly:AddinAuthor ("Nika Nikabadze")]
16 |
17 | [assembly:AddinDependency ("::MonoDevelop.Core", MonoDevelop.BuildInfo.Version)]
18 | [assembly:AddinDependency ("::MonoDevelop.Ide", MonoDevelop.BuildInfo.Version)]
--------------------------------------------------------------------------------
/src/Xamarin Studio/Commands/AddIconHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using MonoDevelop.Components.Commands;
4 | using MonoDevelop.Ide;
5 |
6 | namespace MaterialIconsGenerator.Commands
7 | {
8 | public class AddIconHandler : CommandHandler
9 | {
10 | protected override void Run ()
11 | {
12 | try {
13 | var dialog = new MainDialog ();
14 | MessageService.ShowCustomDialog (dialog);
15 | } catch (Exception ex) {
16 | MessageService.ShowException (ex);
17 | }
18 | }
19 |
20 | protected override void Update (CommandInfo info)
21 | {
22 | base.Update (info);
23 |
24 | info.Visible = IdeApp.ProjectOperations.CurrentSelectedProject
25 | .GetProjectTypes ().ToList ().Contains ("MonoDroid");
26 | }
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/material-icons-generator-plugin.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "material-icons-generator-plugin", "material-icons-generator-plugin.csproj", "{5E5EFD02-2DB8-431B-AA4E-94B071792704}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | Release|Any CPU = Release|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {5E5EFD02-2DB8-431B-AA4E-94B071792704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {5E5EFD02-2DB8-431B-AA4E-94B071792704}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {5E5EFD02-2DB8-431B-AA4E-94B071792704}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {5E5EFD02-2DB8-431B-AA4E-94B071792704}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(MonoDevelopProperties) = preSolution
18 | version = 1.0
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/src/Shared/IconLocation.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace MaterialIcons.UI
4 | {
5 | public static class IconLocation
6 | {
7 | public const string RESOURCES_FOLDER = "Resources";
8 | public const string ICON_EXTENSION = ".png";
9 | public const string DRAWABLE_MDPI_FOLDER = "drawable-mdpi";
10 | public const string DRAWABLE_HDPI_FOLDER = "drawable-hdpi";
11 | public const string DRAWABLE_XHDPI_FOLDER = "drawable-xhdpi";
12 | public const string DRAWABLE_XXHDPI_FOLDER = "drawable-xxhdpi";
13 | public const string DRAWABLE_XXXHDPI_FOLDER = "drawable-xxxhdpi";
14 |
15 | public static string NormalizeFileName (string icon, string color, string size)
16 | {
17 | return string.Format ("{0}_{1}_{2}",
18 | icon.Split ('/') [1],
19 | color,
20 | size
21 | );
22 | }
23 |
24 | public static void SaveIcon (byte[] data, string filepath)
25 | {
26 | if (!Directory.Exists (Path.GetDirectoryName (filepath)))
27 | Directory.CreateDirectory (Path.GetDirectoryName (filepath));
28 | File.WriteAllBytes (filepath, data);
29 | }
30 | }
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | // Information about this assembly is defined by the following attributes.
5 | // Change them to the values specific to your project.
6 |
7 | [assembly: AssemblyTitle("material-icons-generator-plugin")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("")]
11 | [assembly: AssemblyProduct("")]
12 | [assembly: AssemblyCopyright("Nika")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
19 |
20 | [assembly: AssemblyVersion("1.4")]
21 |
22 | // The following attributes are used to specify the signing key for the assembly,
23 | // if desired. See the Mono documentation for more information about signing.
24 |
25 | //[assembly: AssemblyDelaySign(false)]
26 | //[assembly: AssemblyKeyFile("")]
27 |
28 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/Properties/Manifest.addin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
23 |
24 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/Shared/IconDownloader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Newtonsoft.Json.Linq;
3 |
4 | namespace MaterialIcons.UI
5 | {
6 | public static class IconDownloader
7 | {
8 | public static string GetIconUrl (string iconFull, string folder, string color, string size)
9 | {
10 | const string urlFormat = "https://raw.githubusercontent.com/google/material-design-icons/master/{0}/{1}/{2}_{3}_{4}.png";
11 |
12 | var iconFullArr = iconFull.Split ('/');
13 | var icon = iconFullArr [1];
14 | var category = iconFullArr [0];
15 |
16 | var url = string.Format (urlFormat,
17 | category.ToLower (),
18 | folder.ToLower (),
19 | icon.ToLower (),
20 | color.ToLower ().Replace (" ", ""),
21 | size.ToLower ()
22 | );
23 | return url;
24 | }
25 |
26 | public static byte[] DownloadIcon (string icon, string folder, string color, string size)
27 | {
28 | using (var webCl = new System.Net.WebClient ()) {
29 | return webCl.DownloadData (GetIconUrl(icon,
30 | folder,
31 | IconColors.FixColor (IconColors.NormalizeColor (color)),
32 | size));
33 | }
34 | }
35 |
36 | public static List KnownSizes = new List () {
37 | "18dp",
38 | "24dp",
39 | "36dp",
40 | "48dp"
41 | };
42 |
43 | public static List DownloadIconsFromRepo ()
44 | {
45 | var result = new List ();
46 | using (var client = new System.Net.WebClient ()) {
47 | var response = client.DownloadString ("https://design.google.com/icons/data/grid.json");
48 | var json_data = JObject.Parse (response);
49 |
50 | foreach (var icon in json_data.Property("icons").Values()) {
51 | var normalized_name = icon.Value ("group_id") + "/" +
52 | icon.Value ("id");
53 |
54 | result.Add (normalized_name);
55 | }
56 | }
57 | // sort
58 | result.Sort ();
59 |
60 | return result;
61 | }
62 |
63 | // "action/ic_3d_rotation",
64 | }
65 | }
66 |
67 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/material-icons-generator-plugin.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {86F6BF2A-E449-4B3E-813B-9ACC37E5545F};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
7 | {5E5EFD02-2DB8-431B-AA4E-94B071792704}
8 | Library
9 | MaterialIconsGenerator
10 | material-icons-generator-plugin
11 | 1.0
12 |
13 |
14 | true
15 | full
16 | false
17 | bin\Debug
18 | DEBUG;
19 | prompt
20 | 4
21 | false
22 |
23 |
24 | full
25 | true
26 | bin\Release
27 | prompt
28 | 4
29 | false
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | Shared\IconColors.cs
39 |
40 |
41 | Shared\IconDownloader.cs
42 |
43 |
44 | Shared\IconLocation.cs
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll
66 |
67 |
68 |
69 |
70 |
71 | addin-project.xml
72 |
73 |
74 |
75 |
76 | gui.stetic
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/MainDialog.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Gtk;
4 | using MaterialIcons.UI;
5 | using System.IO;
6 | using System.Drawing;
7 | using System.Collections.Generic;
8 | using MonoDevelop.Ide;
9 | using MonoDevelop.Projects;
10 | using MonoDevelop.Core.ProgressMonitoring;
11 |
12 | namespace MaterialIconsGenerator
13 | {
14 | public partial class MainDialog : Gtk.Dialog
15 | {
16 | public MainDialog ()
17 | {
18 | this.Build ();
19 |
20 | this.LoadIcons ();
21 | this.LoadColors ();
22 | this.LoadSizes ();
23 |
24 | this.comboSize.Changed += this.OnComboSizeChanged;
25 | this.comboIcon.Changed += this.OnComboIconChanged;
26 | this.comboColor.Changed += this.OnComboColorChanged;
27 | this.buttonSource.Clicked += this.OnButtonSourceClicked;
28 | this.buttonOk.Clicked += this.OnButtonAddClicked;
29 | }
30 |
31 | #region Init
32 |
33 | private void LoadIcons ()
34 | {
35 | foreach (var icon in IconDownloader.DownloadIconsFromRepo()) {
36 | this.comboIcon.AppendText (icon);
37 | }
38 | }
39 |
40 | private void LoadColors ()
41 | {
42 | foreach (var color in IconColors.KnownColors) {
43 | this.comboColor.AppendText (color);
44 | }
45 | foreach (var color in IconColors.Colors.Keys) {
46 | this.comboColor.AppendText (color);
47 | }
48 | this.comboColor.Active = 0;
49 | }
50 |
51 | private void LoadSizes ()
52 | {
53 | foreach (var color in IconDownloader.KnownSizes) {
54 | this.comboSize.AppendText (color);
55 | }
56 | this.comboSize.Active = 1;
57 | }
58 |
59 | private void SetPreview ()
60 | {
61 | try {
62 | var icon = this.comboIcon.ActiveText;
63 | if (string.IsNullOrEmpty (icon))
64 | return;
65 | // start waiting
66 | this.GdkWindow.Cursor = new Gdk.Cursor (Gdk.CursorType.Watch);
67 |
68 | var color = this.comboColor.ActiveText;
69 | var size = this.comboSize.ActiveText;
70 | var data = IconDownloader.DownloadIcon (icon,
71 | IconLocation.DRAWABLE_HDPI_FOLDER,
72 | IconColors.FixColor (IconColors.NormalizeColor (color)),
73 | size);
74 | if (!IconColors.IsKnownColor (color))
75 | data = IconColors.ReplaceColor (data, IconColors.GetColor (color));
76 | this.imagePreview.Pixbuf = new Gdk.Pixbuf (data);
77 | } finally {
78 | this.GdkWindow.Cursor = new Gdk.Cursor (Gdk.CursorType.LeftPtr);
79 | }
80 | }
81 |
82 | private void SetName ()
83 | {
84 | this.entryName.Text = this.GetName ();
85 | }
86 |
87 | private string GetName ()
88 | {
89 | var icon = this.comboIcon.ActiveText;
90 | if (string.IsNullOrEmpty (icon))
91 | return "";
92 | var color = this.comboColor.ActiveText;
93 | var size = this.comboSize.ActiveText;
94 | return IconLocation.NormalizeFileName (icon, color, size);
95 | }
96 |
97 | #endregion
98 |
99 | #region Events
100 |
101 | protected void OnComboIconChanged (object sender, EventArgs e)
102 | {
103 | this.SetPreview ();
104 | this.SetName ();
105 | }
106 |
107 | protected void OnComboSizeChanged (object sender, EventArgs e)
108 | {
109 | this.SetPreview ();
110 | this.SetName ();
111 | }
112 |
113 | protected void OnComboColorChanged (object sender, EventArgs e)
114 | {
115 | this.SetPreview ();
116 | this.SetName ();
117 | }
118 |
119 | protected void OnButtonAddClicked (object sender, EventArgs e)
120 | {
121 | this.StartDownloading ();
122 | }
123 |
124 | protected void OnButtonSourceClicked (object sender, EventArgs e)
125 | {
126 | System.Diagnostics.Process.Start ("https://github.com/google/material-design-icons");
127 | }
128 |
129 | #endregion
130 |
131 | private void StartDownloading ()
132 | {
133 | try {
134 | var icon = this.comboIcon.ActiveText;
135 | if (string.IsNullOrEmpty (icon))
136 | return;
137 |
138 | // start waiting
139 | this.GdkWindow.Cursor = new Gdk.Cursor (Gdk.CursorType.Watch);
140 |
141 | var folders = new List ();
142 | if (this.checkhdpi.Active)
143 | folders.Add (IconLocation.DRAWABLE_HDPI_FOLDER);
144 | if (this.checkmdpi.Active)
145 | folders.Add (IconLocation.DRAWABLE_MDPI_FOLDER);
146 | if (this.checkxhdpi.Active)
147 | folders.Add (IconLocation.DRAWABLE_XHDPI_FOLDER);
148 | if (this.checkxxhdpi.Active)
149 | folders.Add (IconLocation.DRAWABLE_XXHDPI_FOLDER);
150 | if (this.checkxxxhdpi.Active)
151 | folders.Add (IconLocation.DRAWABLE_XXXHDPI_FOLDER);
152 | var color = this.comboColor.ActiveText;
153 | var size = this.comboSize.ActiveText;
154 | var name = this.entryName.Text;
155 | if (string.IsNullOrEmpty (name))
156 | name = IconLocation.NormalizeFileName (icon, color, size);
157 |
158 | foreach (var folder in folders) {
159 | var data = IconDownloader.DownloadIcon (icon, folder,
160 | IconColors.FixColor (IconColors.NormalizeColor (color)), size);
161 | if (!IconColors.IsKnownColor (color))
162 | data = IconColors.ReplaceColor (data, IconColors.GetColor (color));
163 | // save
164 | var baseDir = this.GetProjectDir ();
165 | var fullPath = System.IO.Path.Combine (baseDir, IconLocation.RESOURCES_FOLDER, folder,
166 | name + IconLocation.ICON_EXTENSION);
167 | // save to folder
168 | IconLocation.SaveIcon (data, fullPath);
169 | // add to project
170 | this.AddFileToProject (fullPath);
171 | }
172 |
173 | this.SaveProject ();
174 | } finally {
175 | this.GdkWindow.Cursor = new Gdk.Cursor (Gdk.CursorType.LeftPtr);
176 | }
177 | }
178 |
179 | private string GetProjectDir ()
180 | {
181 | return IdeApp.ProjectOperations.CurrentSelectedProject.BaseDirectory.ToString ();
182 | }
183 |
184 | private void AddFileToProject (string filename)
185 | {
186 | var file = IdeApp.ProjectOperations.CurrentSelectedProject.AddFile (filename, "AndroidResource");
187 | }
188 |
189 | private void SaveProject ()
190 | {
191 | IdeApp.ProjectOperations.CurrentSelectedProject.Save (new NullProgressMonitor ());
192 | }
193 | }
194 | }
195 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/gtk-gui/MaterialIconsGenerator.MainDialog.cs:
--------------------------------------------------------------------------------
1 |
2 | // This file has been generated by the GUI designer. Do not modify.
3 | namespace MaterialIconsGenerator
4 | {
5 | public partial class MainDialog
6 | {
7 | private global::Gtk.Table container;
8 |
9 | private global::Gtk.CheckButton checkhdpi;
10 |
11 | private global::Gtk.CheckButton checkmdpi;
12 |
13 | private global::Gtk.CheckButton checkxhdpi;
14 |
15 | private global::Gtk.CheckButton checkxxhdpi;
16 |
17 | private global::Gtk.CheckButton checkxxxhdpi;
18 |
19 | private global::Gtk.ComboBox comboColor;
20 |
21 | private global::Gtk.ComboBox comboIcon;
22 |
23 | private global::Gtk.ComboBox comboSize;
24 |
25 | private global::Gtk.Entry entryName;
26 |
27 | private global::Gtk.Image imagePreview;
28 |
29 | private global::Gtk.Label label13;
30 |
31 | private global::Gtk.Label label14;
32 |
33 | private global::Gtk.Label label15;
34 |
35 | private global::Gtk.Label label16;
36 |
37 | private global::Gtk.Button buttonSource;
38 |
39 | private global::Gtk.Button buttonOk;
40 |
41 | private global::Gtk.Button buttonCancel;
42 |
43 | protected virtual void Build ()
44 | {
45 | global::Stetic.Gui.Initialize (this);
46 | // Widget MaterialIconsGenerator.MainDialog
47 | this.Name = "MaterialIconsGenerator.MainDialog";
48 | this.Title = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Material Icon Generator");
49 | this.WindowPosition = ((global::Gtk.WindowPosition)(4));
50 | this.Modal = true;
51 | this.Resizable = false;
52 | // Internal child MaterialIconsGenerator.MainDialog.VBox
53 | global::Gtk.VBox w1 = this.VBox;
54 | w1.Name = "dialog1_VBox";
55 | w1.BorderWidth = ((uint)(2));
56 | // Container child dialog1_VBox.Gtk.Box+BoxChild
57 | this.container = new global::Gtk.Table (((uint)(7)), ((uint)(6)), false);
58 | this.container.WidthRequest = 500;
59 | this.container.Name = "container";
60 | this.container.RowSpacing = ((uint)(6));
61 | this.container.ColumnSpacing = ((uint)(6));
62 | this.container.BorderWidth = ((uint)(9));
63 | // Container child container.Gtk.Table+TableChild
64 | this.checkhdpi = new global::Gtk.CheckButton ();
65 | this.checkhdpi.CanFocus = true;
66 | this.checkhdpi.Name = "checkhdpi";
67 | this.checkhdpi.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("hdpi");
68 | this.checkhdpi.Active = true;
69 | this.checkhdpi.DrawIndicator = true;
70 | this.checkhdpi.UseUnderline = true;
71 | this.container.Add (this.checkhdpi);
72 | global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.container [this.checkhdpi]));
73 | w2.TopAttach = ((uint)(4));
74 | w2.BottomAttach = ((uint)(5));
75 | w2.LeftAttach = ((uint)(2));
76 | w2.RightAttach = ((uint)(3));
77 | w2.XOptions = ((global::Gtk.AttachOptions)(4));
78 | w2.YOptions = ((global::Gtk.AttachOptions)(4));
79 | // Container child container.Gtk.Table+TableChild
80 | this.checkmdpi = new global::Gtk.CheckButton ();
81 | this.checkmdpi.CanFocus = true;
82 | this.checkmdpi.Name = "checkmdpi";
83 | this.checkmdpi.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("mdpi");
84 | this.checkmdpi.Active = true;
85 | this.checkmdpi.DrawIndicator = true;
86 | this.checkmdpi.UseUnderline = true;
87 | this.container.Add (this.checkmdpi);
88 | global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.container [this.checkmdpi]));
89 | w3.TopAttach = ((uint)(4));
90 | w3.BottomAttach = ((uint)(5));
91 | w3.LeftAttach = ((uint)(1));
92 | w3.RightAttach = ((uint)(2));
93 | w3.XOptions = ((global::Gtk.AttachOptions)(4));
94 | w3.YOptions = ((global::Gtk.AttachOptions)(4));
95 | // Container child container.Gtk.Table+TableChild
96 | this.checkxhdpi = new global::Gtk.CheckButton ();
97 | this.checkxhdpi.CanFocus = true;
98 | this.checkxhdpi.Name = "checkxhdpi";
99 | this.checkxhdpi.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("xhdpi");
100 | this.checkxhdpi.Active = true;
101 | this.checkxhdpi.DrawIndicator = true;
102 | this.checkxhdpi.UseUnderline = true;
103 | this.container.Add (this.checkxhdpi);
104 | global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.container [this.checkxhdpi]));
105 | w4.TopAttach = ((uint)(5));
106 | w4.BottomAttach = ((uint)(6));
107 | w4.LeftAttach = ((uint)(1));
108 | w4.RightAttach = ((uint)(2));
109 | w4.XOptions = ((global::Gtk.AttachOptions)(4));
110 | w4.YOptions = ((global::Gtk.AttachOptions)(4));
111 | // Container child container.Gtk.Table+TableChild
112 | this.checkxxhdpi = new global::Gtk.CheckButton ();
113 | this.checkxxhdpi.CanFocus = true;
114 | this.checkxxhdpi.Name = "checkxxhdpi";
115 | this.checkxxhdpi.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("xxhdpi");
116 | this.checkxxhdpi.Active = true;
117 | this.checkxxhdpi.DrawIndicator = true;
118 | this.checkxxhdpi.UseUnderline = true;
119 | this.container.Add (this.checkxxhdpi);
120 | global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.container [this.checkxxhdpi]));
121 | w5.TopAttach = ((uint)(5));
122 | w5.BottomAttach = ((uint)(6));
123 | w5.LeftAttach = ((uint)(2));
124 | w5.RightAttach = ((uint)(3));
125 | w5.XOptions = ((global::Gtk.AttachOptions)(4));
126 | w5.YOptions = ((global::Gtk.AttachOptions)(4));
127 | // Container child container.Gtk.Table+TableChild
128 | this.checkxxxhdpi = new global::Gtk.CheckButton ();
129 | this.checkxxxhdpi.CanFocus = true;
130 | this.checkxxxhdpi.Name = "checkxxxhdpi";
131 | this.checkxxxhdpi.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("xxxhdpi");
132 | this.checkxxxhdpi.Active = true;
133 | this.checkxxxhdpi.DrawIndicator = true;
134 | this.checkxxxhdpi.UseUnderline = true;
135 | this.container.Add (this.checkxxxhdpi);
136 | global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.container [this.checkxxxhdpi]));
137 | w6.TopAttach = ((uint)(6));
138 | w6.BottomAttach = ((uint)(7));
139 | w6.LeftAttach = ((uint)(1));
140 | w6.RightAttach = ((uint)(2));
141 | w6.XOptions = ((global::Gtk.AttachOptions)(4));
142 | w6.YOptions = ((global::Gtk.AttachOptions)(4));
143 | // Container child container.Gtk.Table+TableChild
144 | this.comboColor = global::Gtk.ComboBox.NewText ();
145 | this.comboColor.Name = "comboColor";
146 | this.container.Add (this.comboColor);
147 | global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.container [this.comboColor]));
148 | w7.TopAttach = ((uint)(1));
149 | w7.BottomAttach = ((uint)(2));
150 | w7.LeftAttach = ((uint)(1));
151 | w7.RightAttach = ((uint)(2));
152 | w7.XOptions = ((global::Gtk.AttachOptions)(4));
153 | w7.YOptions = ((global::Gtk.AttachOptions)(4));
154 | // Container child container.Gtk.Table+TableChild
155 | this.comboIcon = global::Gtk.ComboBox.NewText ();
156 | this.comboIcon.Name = "comboIcon";
157 | this.container.Add (this.comboIcon);
158 | global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.container [this.comboIcon]));
159 | w8.LeftAttach = ((uint)(1));
160 | w8.RightAttach = ((uint)(3));
161 | w8.XOptions = ((global::Gtk.AttachOptions)(4));
162 | w8.YOptions = ((global::Gtk.AttachOptions)(4));
163 | // Container child container.Gtk.Table+TableChild
164 | this.comboSize = global::Gtk.ComboBox.NewText ();
165 | this.comboSize.CanFocus = true;
166 | this.comboSize.Name = "comboSize";
167 | this.container.Add (this.comboSize);
168 | global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.container [this.comboSize]));
169 | w9.TopAttach = ((uint)(2));
170 | w9.BottomAttach = ((uint)(3));
171 | w9.LeftAttach = ((uint)(1));
172 | w9.RightAttach = ((uint)(2));
173 | w9.XOptions = ((global::Gtk.AttachOptions)(4));
174 | w9.YOptions = ((global::Gtk.AttachOptions)(4));
175 | // Container child container.Gtk.Table+TableChild
176 | this.entryName = new global::Gtk.Entry ();
177 | this.entryName.CanFocus = true;
178 | this.entryName.Name = "entryName";
179 | this.entryName.IsEditable = true;
180 | this.entryName.InvisibleChar = '●';
181 | this.container.Add (this.entryName);
182 | global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.container [this.entryName]));
183 | w10.TopAttach = ((uint)(3));
184 | w10.BottomAttach = ((uint)(4));
185 | w10.LeftAttach = ((uint)(1));
186 | w10.RightAttach = ((uint)(3));
187 | w10.YOptions = ((global::Gtk.AttachOptions)(4));
188 | // Container child container.Gtk.Table+TableChild
189 | this.imagePreview = new global::Gtk.Image ();
190 | this.imagePreview.Name = "imagePreview";
191 | this.container.Add (this.imagePreview);
192 | global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.container [this.imagePreview]));
193 | w11.BottomAttach = ((uint)(7));
194 | w11.LeftAttach = ((uint)(3));
195 | w11.RightAttach = ((uint)(6));
196 | w11.YOptions = ((global::Gtk.AttachOptions)(4));
197 | // Container child container.Gtk.Table+TableChild
198 | this.label13 = new global::Gtk.Label ();
199 | this.label13.Name = "label13";
200 | this.label13.LabelProp = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Icon:");
201 | this.container.Add (this.label13);
202 | global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.container [this.label13]));
203 | w12.XOptions = ((global::Gtk.AttachOptions)(4));
204 | w12.YOptions = ((global::Gtk.AttachOptions)(4));
205 | // Container child container.Gtk.Table+TableChild
206 | this.label14 = new global::Gtk.Label ();
207 | this.label14.Name = "label14";
208 | this.label14.LabelProp = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Color:");
209 | this.container.Add (this.label14);
210 | global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.container [this.label14]));
211 | w13.TopAttach = ((uint)(1));
212 | w13.BottomAttach = ((uint)(2));
213 | w13.XOptions = ((global::Gtk.AttachOptions)(4));
214 | w13.YOptions = ((global::Gtk.AttachOptions)(4));
215 | // Container child container.Gtk.Table+TableChild
216 | this.label15 = new global::Gtk.Label ();
217 | this.label15.Name = "label15";
218 | this.label15.LabelProp = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Size");
219 | this.container.Add (this.label15);
220 | global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.container [this.label15]));
221 | w14.TopAttach = ((uint)(2));
222 | w14.BottomAttach = ((uint)(3));
223 | w14.XOptions = ((global::Gtk.AttachOptions)(4));
224 | w14.YOptions = ((global::Gtk.AttachOptions)(4));
225 | // Container child container.Gtk.Table+TableChild
226 | this.label16 = new global::Gtk.Label ();
227 | this.label16.Name = "label16";
228 | this.label16.LabelProp = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Name:");
229 | this.container.Add (this.label16);
230 | global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.container [this.label16]));
231 | w15.TopAttach = ((uint)(3));
232 | w15.BottomAttach = ((uint)(4));
233 | w15.XOptions = ((global::Gtk.AttachOptions)(4));
234 | w15.YOptions = ((global::Gtk.AttachOptions)(4));
235 | w1.Add (this.container);
236 | global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(w1 [this.container]));
237 | w16.Position = 0;
238 | w16.Expand = false;
239 | w16.Fill = false;
240 | // Internal child MaterialIconsGenerator.MainDialog.ActionArea
241 | global::Gtk.HButtonBox w17 = this.ActionArea;
242 | w17.Name = "dialog1_ActionArea";
243 | w17.Spacing = 10;
244 | w17.BorderWidth = ((uint)(5));
245 | w17.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
246 | // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
247 | this.buttonSource = new global::Gtk.Button ();
248 | this.buttonSource.CanFocus = true;
249 | this.buttonSource.Name = "buttonSource";
250 | this.buttonSource.UseUnderline = true;
251 | this.buttonSource.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Icons Source");
252 | w17.Add (this.buttonSource);
253 | global::Gtk.ButtonBox.ButtonBoxChild w18 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonSource]));
254 | w18.Expand = false;
255 | w18.Fill = false;
256 | // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
257 | this.buttonOk = new global::Gtk.Button ();
258 | this.buttonOk.CanDefault = true;
259 | this.buttonOk.CanFocus = true;
260 | this.buttonOk.Name = "buttonOk";
261 | this.buttonOk.UseUnderline = true;
262 | this.buttonOk.Label = global::Mono.Addins.AddinManager.CurrentLocalizer.GetString ("Add");
263 | w17.Add (this.buttonOk);
264 | global::Gtk.ButtonBox.ButtonBoxChild w19 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonOk]));
265 | w19.Position = 1;
266 | w19.Expand = false;
267 | w19.Fill = false;
268 | // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
269 | this.buttonCancel = new global::Gtk.Button ();
270 | this.buttonCancel.CanDefault = true;
271 | this.buttonCancel.CanFocus = true;
272 | this.buttonCancel.Name = "buttonCancel";
273 | this.buttonCancel.UseStock = true;
274 | this.buttonCancel.UseUnderline = true;
275 | this.buttonCancel.Label = "gtk-close";
276 | this.AddActionWidget (this.buttonCancel, -7);
277 | global::Gtk.ButtonBox.ButtonBoxChild w20 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w17 [this.buttonCancel]));
278 | w20.Position = 2;
279 | w20.Expand = false;
280 | w20.Fill = false;
281 | if ((this.Child != null)) {
282 | this.Child.ShowAll ();
283 | }
284 | this.DefaultWidth = 550;
285 | this.DefaultHeight = 293;
286 | this.Show ();
287 | this.comboSize.Changed += new global::System.EventHandler (this.OnComboSizeChanged);
288 | this.comboIcon.Changed += new global::System.EventHandler (this.OnComboIconChanged);
289 | this.comboColor.Changed += new global::System.EventHandler (this.OnComboColorChanged);
290 | this.buttonSource.Clicked += new global::System.EventHandler (this.OnButtonSourceClicked);
291 | this.buttonOk.Clicked += new global::System.EventHandler (this.OnButtonAddClicked);
292 | }
293 | }
294 | }
295 |
--------------------------------------------------------------------------------
/src/Shared/IconColors.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Drawing;
4 | using System.Collections.Generic;
5 |
6 | namespace MaterialIcons.UI
7 | {
8 | public static class IconColors
9 | {
10 | private static bool ISRunningOnWindows ()
11 | {
12 | int p = (int)Environment.OSVersion.Platform;
13 | if ((p == 4) || (p == 6) || (p == 128)) {
14 | return false;
15 | } else {
16 | return true;
17 | }
18 | }
19 |
20 | public static byte[] ReplaceColor (byte[] data, Color replacementColor)
21 | {
22 | var ignoredColor = ISRunningOnWindows () ? Color.FromArgb (0, 0, 0, 0) : Color.FromArgb (255, 0, 0, 0);
23 | using (var ms = new MemoryStream (data)) {
24 | var bitmap = new Bitmap (ms);
25 | for (var y = 0; y < bitmap.Height; y++) {
26 | for (var x = 0; x < bitmap.Width; x++) {
27 | var originalPixel = bitmap.GetPixel (x, y);
28 | if (originalPixel != ignoredColor) {
29 | bitmap.SetPixel (x, y, Color.FromArgb (originalPixel.A, replacementColor));
30 | }
31 | }
32 | }
33 | var converter = new ImageConverter ();
34 | return (byte[])converter.ConvertTo (bitmap, typeof(byte[]));
35 | }
36 | }
37 |
38 | public static string NormalizeColor (string color)
39 | {
40 | return color.ToLower ().Replace (" ", "");
41 | }
42 |
43 | public static string FixColor (string color)
44 | {
45 | return IsKnownColor (color) ? color : "black";
46 | }
47 |
48 | public static bool IsKnownColor (string color)
49 | {
50 | color = NormalizeColor (color);
51 | return (color == "black" || color == "white" || color == "grey600");
52 | }
53 |
54 | public static Color GetColor (string name)
55 | {
56 | var colorName = NormalizeColor (name);
57 | return Colors.ContainsKey (colorName) ? Colors [colorName] : Color.Black;
58 | }
59 |
60 | public static List KnownColors = new List () {
61 | "white",
62 | "black",
63 | "grey600"
64 | };
65 |
66 | public static Dictionary Colors = new Dictionary () {
67 | { "blue_dark", Color.FromArgb (0, 153, 204) },
68 | { "blue_light", Color.FromArgb (51, 181, 229) },
69 | { "green_dark", Color.FromArgb (102, 153, 0) },
70 | { "green_light", Color.FromArgb (153, 204, 0) },
71 | { "purple_dark", Color.FromArgb (153, 51, 204) },
72 | { "purple_light", Color.FromArgb (170, 102, 204) },
73 | { "red_dark", Color.FromArgb (204, 0, 0) },
74 | { "red_light", Color.FromArgb (255, 68, 68) },
75 | { "yellow_dark", Color.FromArgb (255, 136, 0) },
76 | { "yellow_light", Color.FromArgb (255, 187, 51) },
77 |
78 | { "amber_50", ColorTranslator.FromHtml ("#fff8e1") },
79 | { "amber_100", ColorTranslator.FromHtml ("#ffecb3") },
80 | { "amber_200", ColorTranslator.FromHtml ("#ffe082") },
81 | { "amber_300", ColorTranslator.FromHtml ("#ffd54f") },
82 | { "amber_400", ColorTranslator.FromHtml ("#ffca28") },
83 | { "amber_500", ColorTranslator.FromHtml ("#ffc107") },
84 | { "amber_600", ColorTranslator.FromHtml ("#ffb300") },
85 | { "amber_700", ColorTranslator.FromHtml ("#ffa000") },
86 | { "amber_800", ColorTranslator.FromHtml ("#ff8f00") },
87 | { "amber_900", ColorTranslator.FromHtml ("#ff6f00") },
88 | { "amber_A100", ColorTranslator.FromHtml ("#ffe57f") },
89 | { "amber_A200", ColorTranslator.FromHtml ("#ffd740") },
90 | { "amber_A400", ColorTranslator.FromHtml ("#ffc400") },
91 | { "amber_A700", ColorTranslator.FromHtml ("#ffab00") },
92 |
93 | { "blue_50", ColorTranslator.FromHtml ("#e7e9fd") },
94 | { "blue_100", ColorTranslator.FromHtml ("#d0d9ff") },
95 | { "blue_200", ColorTranslator.FromHtml ("#afbfff") },
96 | { "blue_300", ColorTranslator.FromHtml ("#91a7ff") },
97 | { "blue_400", ColorTranslator.FromHtml ("#738ffe") },
98 | { "blue_500", ColorTranslator.FromHtml ("#5677fc") },
99 | { "blue_600", ColorTranslator.FromHtml ("#4e6cef") },
100 | { "blue_700", ColorTranslator.FromHtml ("#455ede") },
101 | { "blue_800", ColorTranslator.FromHtml ("#3b50ce") },
102 | { "blue_900", ColorTranslator.FromHtml ("#2a36b1") },
103 | { "blue_A100", ColorTranslator.FromHtml ("#a6baff") },
104 | { "blue_A200", ColorTranslator.FromHtml ("#6889ff") },
105 | { "blue_A400", ColorTranslator.FromHtml ("#4d73ff") },
106 | { "blue_A700", ColorTranslator.FromHtml ("#4d69ff") },
107 |
108 | { "blue_grey_50", ColorTranslator.FromHtml ("#eceff1") },
109 | { "blue_grey_100", ColorTranslator.FromHtml ("#cfd8dc") },
110 | { "blue_grey_200", ColorTranslator.FromHtml ("#b0bec5") },
111 | { "blue_grey_300", ColorTranslator.FromHtml ("#90a4ae") },
112 | { "blue_grey_400", ColorTranslator.FromHtml ("#78909c") },
113 | { "blue_grey_500", ColorTranslator.FromHtml ("#607d8b") },
114 | { "blue_grey_600", ColorTranslator.FromHtml ("#546e7a") },
115 | { "blue_grey_700", ColorTranslator.FromHtml ("#455a64") },
116 | { "blue_grey_800", ColorTranslator.FromHtml ("#37474f") },
117 | { "blue_grey_900", ColorTranslator.FromHtml ("#263238") },
118 |
119 | { "brown_50", ColorTranslator.FromHtml ("#efebe9") },
120 | { "brown_100", ColorTranslator.FromHtml ("#d7ccc8") },
121 | { "brown_200", ColorTranslator.FromHtml ("#bcaaa4") },
122 | { "brown_300", ColorTranslator.FromHtml ("#a1887f") },
123 | { "brown_400", ColorTranslator.FromHtml ("#8d6e63") },
124 | { "brown_500", ColorTranslator.FromHtml ("#795548") },
125 | { "brown_600", ColorTranslator.FromHtml ("#6d4c41") },
126 | { "brown_700", ColorTranslator.FromHtml ("#5d4037") },
127 | { "brown_800", ColorTranslator.FromHtml ("#4e342e") },
128 | { "brown_900", ColorTranslator.FromHtml ("#3e2723") },
129 |
130 | { "cyan_50", ColorTranslator.FromHtml ("#e0f7fa") },
131 | { "cyan_100", ColorTranslator.FromHtml ("#b2ebf2") },
132 | { "cyan_200", ColorTranslator.FromHtml ("#80deea") },
133 | { "cyan_300", ColorTranslator.FromHtml ("#4dd0e1") },
134 | { "cyan_400", ColorTranslator.FromHtml ("#26c6da") },
135 | { "cyan_500", ColorTranslator.FromHtml ("#00bcd4") },
136 | { "cyan_600", ColorTranslator.FromHtml ("#00acc1") },
137 | { "cyan_700", ColorTranslator.FromHtml ("#0097a7") },
138 | { "cyan_800", ColorTranslator.FromHtml ("#00838f") },
139 | { "cyan_900", ColorTranslator.FromHtml ("#006064") },
140 | { "cyan_A100", ColorTranslator.FromHtml ("#84ffff") },
141 | { "cyan_A200", ColorTranslator.FromHtml ("#18ffff") },
142 | { "cyan_A400", ColorTranslator.FromHtml ("#00e5ff") },
143 | { "cyan_A700", ColorTranslator.FromHtml ("#00b8d4") },
144 |
145 | { "dark_purple_50", ColorTranslator.FromHtml ("#ede7f6") },
146 | { "dark_purple_100", ColorTranslator.FromHtml ("#d1c4e9") },
147 | { "dark_purple_200", ColorTranslator.FromHtml ("#b39ddb") },
148 | { "dark_purple_300", ColorTranslator.FromHtml ("#9575cd") },
149 | { "dark_purple_400", ColorTranslator.FromHtml ("#7e57c2") },
150 | { "dark_purple_500", ColorTranslator.FromHtml ("#673ab7") },
151 | { "dark_purple_600", ColorTranslator.FromHtml ("#5e35b1") },
152 | { "dark_purple_700", ColorTranslator.FromHtml ("#512da8") },
153 | { "dark_purple_800", ColorTranslator.FromHtml ("#4527a0") },
154 | { "dark_purple_900", ColorTranslator.FromHtml ("#311b92") },
155 | { "dark_purple_A100", ColorTranslator.FromHtml ("#b388ff") },
156 | { "dark_purple_A200", ColorTranslator.FromHtml ("#7c4dff") },
157 | { "dark_purple_A400", ColorTranslator.FromHtml ("#651fff") },
158 | { "dark_purple_A700", ColorTranslator.FromHtml ("#6200ea") },
159 |
160 | { "deep_orange_50", ColorTranslator.FromHtml ("#fbe9e7") },
161 | { "deep_orange_100", ColorTranslator.FromHtml ("#ffccbc") },
162 | { "deep_orange_200", ColorTranslator.FromHtml ("#ffab91") },
163 | { "deep_orange_300", ColorTranslator.FromHtml ("#ff8a65") },
164 | { "deep_orange_400", ColorTranslator.FromHtml ("#ff7043") },
165 | { "deep_orange_500", ColorTranslator.FromHtml ("#ff5722") },
166 | { "deep_orange_600", ColorTranslator.FromHtml ("#f4511e") },
167 | { "deep_orange_700", ColorTranslator.FromHtml ("#e64a19") },
168 | { "deep_orange_800", ColorTranslator.FromHtml ("#d84315") },
169 | { "deep_orange_900", ColorTranslator.FromHtml ("#bf360c") },
170 | { "deep_orange_A100", ColorTranslator.FromHtml ("#ff9e80") },
171 | { "deep_orange_A200", ColorTranslator.FromHtml ("#ff6e40") },
172 | { "deep_orange_A400", ColorTranslator.FromHtml ("#ff3d00") },
173 | { "deep_orange_A700", ColorTranslator.FromHtml ("#dd2c00") },
174 |
175 | { "green_50", ColorTranslator.FromHtml ("#d0f8ce") },
176 | { "green_100", ColorTranslator.FromHtml ("#a3e9a4") },
177 | { "green_200", ColorTranslator.FromHtml ("#72d572") },
178 | { "green_300", ColorTranslator.FromHtml ("#42bd41") },
179 | { "green_400", ColorTranslator.FromHtml ("#2baf2b") },
180 | { "green_500", ColorTranslator.FromHtml ("#259b24") },
181 | { "green_600", ColorTranslator.FromHtml ("#0a8f08") },
182 | { "green_700", ColorTranslator.FromHtml ("#0a7e07") },
183 | { "green_800", ColorTranslator.FromHtml ("#056f00") },
184 | { "green_900", ColorTranslator.FromHtml ("#0d5302") },
185 | { "green_A100", ColorTranslator.FromHtml ("#a2f78d") },
186 | { "green_A200", ColorTranslator.FromHtml ("#5af158") },
187 | { "green_A400", ColorTranslator.FromHtml ("#14e715") },
188 | { "green_A700", ColorTranslator.FromHtml ("#12c700") },
189 |
190 | { "grey_50", ColorTranslator.FromHtml ("#fafafa") },
191 | { "grey_100", ColorTranslator.FromHtml ("#f5f5f5") },
192 | { "grey_200", ColorTranslator.FromHtml ("#eeeeee") },
193 | { "grey_300", ColorTranslator.FromHtml ("#e0e0e0") },
194 | { "grey_400", ColorTranslator.FromHtml ("#bdbdbd") },
195 | { "grey_500", ColorTranslator.FromHtml ("#9e9e9e") },
196 | { "grey_600", ColorTranslator.FromHtml ("#757575") },
197 | { "grey_700", ColorTranslator.FromHtml ("#616161") },
198 | { "grey_800", ColorTranslator.FromHtml ("#424242") },
199 | { "grey_900", ColorTranslator.FromHtml ("#212121") },
200 | { "grey_black_1000", ColorTranslator.FromHtml ("#000000") },
201 | { "grey_white_1000", ColorTranslator.FromHtml ("#ffffff") },
202 |
203 | { "indigo_50", ColorTranslator.FromHtml ("#e8eaf6") },
204 | { "indigo_100", ColorTranslator.FromHtml ("#c5cae9") },
205 | { "indigo_200", ColorTranslator.FromHtml ("#9fa8da") },
206 | { "indigo_300", ColorTranslator.FromHtml ("#7986cb") },
207 | { "indigo_400", ColorTranslator.FromHtml ("#5c6bc0") },
208 | { "indigo_500", ColorTranslator.FromHtml ("#3f51b5") },
209 | { "indigo_600", ColorTranslator.FromHtml ("#3949ab") },
210 | { "indigo_700", ColorTranslator.FromHtml ("#303f9f") },
211 | { "indigo_800", ColorTranslator.FromHtml ("#283593") },
212 | { "indigo_900", ColorTranslator.FromHtml ("#1a237e") },
213 | { "indigo_A100", ColorTranslator.FromHtml ("#8c9eff") },
214 | { "indigo_A200", ColorTranslator.FromHtml ("#536dfe") },
215 | { "indigo_A400", ColorTranslator.FromHtml ("#3d5afe") },
216 | { "indigo_A700", ColorTranslator.FromHtml ("#304ffe") },
217 |
218 | { "light_blue_50", ColorTranslator.FromHtml ("#e1f5fe") },
219 | { "light_blue_100", ColorTranslator.FromHtml ("#b3e5fc") },
220 | { "light_blue_200", ColorTranslator.FromHtml ("#81d4fa") },
221 | { "light_blue_300", ColorTranslator.FromHtml ("#4fc3f7") },
222 | { "light_blue_400", ColorTranslator.FromHtml ("#29b6f6") },
223 | { "light_blue_500", ColorTranslator.FromHtml ("#03a9f4") },
224 | { "light_blue_600", ColorTranslator.FromHtml ("#039be5") },
225 | { "light_blue_700", ColorTranslator.FromHtml ("#0288d1") },
226 | { "light_blue_800", ColorTranslator.FromHtml ("#0277bd") },
227 | { "light_blue_900", ColorTranslator.FromHtml ("#01579b") },
228 | { "light_blue_A100", ColorTranslator.FromHtml ("#80d8ff") },
229 | { "light_blue_A200", ColorTranslator.FromHtml ("#40c4ff") },
230 | { "light_blue_A400", ColorTranslator.FromHtml ("#00b0ff") },
231 | { "light_blue_A700", ColorTranslator.FromHtml ("#0091ea") },
232 |
233 | { "light_green_50", ColorTranslator.FromHtml ("#f1f8e9") },
234 | { "light_green_100", ColorTranslator.FromHtml ("#dcedc8") },
235 | { "light_green_200", ColorTranslator.FromHtml ("#c5e1a5") },
236 | { "light_green_300", ColorTranslator.FromHtml ("#aed581") },
237 | { "light_green_400", ColorTranslator.FromHtml ("#9ccc65") },
238 | { "light_green_500", ColorTranslator.FromHtml ("#8bc34a") },
239 | { "light_green_600", ColorTranslator.FromHtml ("#7cb342") },
240 | { "light_green_700", ColorTranslator.FromHtml ("#689f38") },
241 | { "light_green_800", ColorTranslator.FromHtml ("#558b2f") },
242 | { "light_green_900", ColorTranslator.FromHtml ("#33691e") },
243 | { "light_green_A100", ColorTranslator.FromHtml ("#ccff90") },
244 | { "light_green_A200", ColorTranslator.FromHtml ("#b2ff59") },
245 | { "light_green_A400", ColorTranslator.FromHtml ("#76ff03") },
246 | { "light_green_A700", ColorTranslator.FromHtml ("#64dd17") },
247 |
248 | { "lime_50", ColorTranslator.FromHtml ("#f9fbe7") },
249 | { "lime_100", ColorTranslator.FromHtml ("#f0f4c3") },
250 | { "lime_200", ColorTranslator.FromHtml ("#e6ee9c") },
251 | { "lime_300", ColorTranslator.FromHtml ("#dce775") },
252 | { "lime_400", ColorTranslator.FromHtml ("#d4e157") },
253 | { "lime_500", ColorTranslator.FromHtml ("#cddc39") },
254 | { "lime_600", ColorTranslator.FromHtml ("#c0ca33") },
255 | { "lime_700", ColorTranslator.FromHtml ("#afb42b") },
256 | { "lime_800", ColorTranslator.FromHtml ("#9e9d24") },
257 | { "lime_900", ColorTranslator.FromHtml ("#827717") },
258 | { "lime_A100", ColorTranslator.FromHtml ("#f4ff81") },
259 | { "lime_A200", ColorTranslator.FromHtml ("#eeff41") },
260 | { "lime_A400", ColorTranslator.FromHtml ("#c6ff00") },
261 | { "lime_A700", ColorTranslator.FromHtml ("#aeea00") },
262 |
263 | { "orange_50", ColorTranslator.FromHtml ("#fff3e0") },
264 | { "orange_100", ColorTranslator.FromHtml ("#ffe0b2") },
265 | { "orange_200", ColorTranslator.FromHtml ("#ffcc80") },
266 | { "orange_300", ColorTranslator.FromHtml ("#ffb74d") },
267 | { "orange_400", ColorTranslator.FromHtml ("#ffa726") },
268 | { "orange_500", ColorTranslator.FromHtml ("#ff9800") },
269 | { "orange_600", ColorTranslator.FromHtml ("#fb8c00") },
270 | { "orange_700", ColorTranslator.FromHtml ("#f57c00") },
271 | { "orange_800", ColorTranslator.FromHtml ("#ef6c00") },
272 | { "orange_900", ColorTranslator.FromHtml ("#e65100") },
273 | { "orange_A100", ColorTranslator.FromHtml ("#ffd180") },
274 | { "orange_A200", ColorTranslator.FromHtml ("#ffab40") },
275 | { "orange_A400", ColorTranslator.FromHtml ("#ff9100") },
276 | { "orange_A700", ColorTranslator.FromHtml ("#ff6d00") },
277 |
278 | { "pink_50", ColorTranslator.FromHtml ("#fce4ec") },
279 | { "pink_100", ColorTranslator.FromHtml ("#f8bbd0") },
280 | { "pink_200", ColorTranslator.FromHtml ("#f48fb1") },
281 | { "pink_300", ColorTranslator.FromHtml ("#f06292") },
282 | { "pink_400", ColorTranslator.FromHtml ("#ec407a") },
283 | { "pink_500", ColorTranslator.FromHtml ("#e91e63") },
284 | { "pink_600", ColorTranslator.FromHtml ("#d81b60") },
285 | { "pink_700", ColorTranslator.FromHtml ("#c2185b") },
286 | { "pink_800", ColorTranslator.FromHtml ("#ad1457") },
287 | { "pink_900", ColorTranslator.FromHtml ("#880e4f") },
288 | { "pink_A100", ColorTranslator.FromHtml ("#ff80ab") },
289 | { "pink_A200", ColorTranslator.FromHtml ("#ff4081") },
290 | { "pink_A400", ColorTranslator.FromHtml ("#f50057") },
291 | { "pink_A700", ColorTranslator.FromHtml ("#c51162") },
292 |
293 | { "purple_50", ColorTranslator.FromHtml ("#f3e5f5") },
294 | { "purple_100", ColorTranslator.FromHtml ("#e1bee7") },
295 | { "purple_200", ColorTranslator.FromHtml ("#ce93d8") },
296 | { "purple_300", ColorTranslator.FromHtml ("#ba68c8") },
297 | { "purple_400", ColorTranslator.FromHtml ("#ab47bc") },
298 | { "purple_500", ColorTranslator.FromHtml ("#9c27b0") },
299 | { "purple_600", ColorTranslator.FromHtml ("#8e24aa") },
300 | { "purple_700", ColorTranslator.FromHtml ("#7b1fa2") },
301 | { "purple_800", ColorTranslator.FromHtml ("#6a1b9a") },
302 | { "purple_900", ColorTranslator.FromHtml ("#4a148c") },
303 | { "purple_A100", ColorTranslator.FromHtml ("#ea80fc") },
304 | { "purple_A200", ColorTranslator.FromHtml ("#e040fb") },
305 | { "purple_A400", ColorTranslator.FromHtml ("#d500f9") },
306 | { "purple_A700", ColorTranslator.FromHtml ("#aa00ff") },
307 |
308 | { "red_50", ColorTranslator.FromHtml ("#fde0dc") },
309 | { "red_100", ColorTranslator.FromHtml ("#f9bdbb") },
310 | { "red_200", ColorTranslator.FromHtml ("#f69988") },
311 | { "red_300", ColorTranslator.FromHtml ("#f36c60") },
312 | { "red_400", ColorTranslator.FromHtml ("#e84e40") },
313 | { "red_500", ColorTranslator.FromHtml ("#e51c23") },
314 | { "red_600", ColorTranslator.FromHtml ("#dd191d") },
315 | { "red_700", ColorTranslator.FromHtml ("#d01716") },
316 | { "red_800", ColorTranslator.FromHtml ("#c41411") },
317 | { "red_900", ColorTranslator.FromHtml ("#b0120a") },
318 | { "red_A100", ColorTranslator.FromHtml ("#ff7997") },
319 | { "red_A200", ColorTranslator.FromHtml ("#ff5177") },
320 | { "red_A400", ColorTranslator.FromHtml ("#ff2d6f") },
321 | { "red_A700", ColorTranslator.FromHtml ("#e00032") },
322 |
323 | { "teal_50", ColorTranslator.FromHtml ("#e0f2f1") },
324 | { "teal_100", ColorTranslator.FromHtml ("#b2dfdb") },
325 | { "teal_200", ColorTranslator.FromHtml ("#80cbc4") },
326 | { "teal_300", ColorTranslator.FromHtml ("#4db6ac") },
327 | { "teal_400", ColorTranslator.FromHtml ("#26a69a") },
328 | { "teal_500", ColorTranslator.FromHtml ("#9688") },
329 | { "teal_600", ColorTranslator.FromHtml ("#00897b") },
330 | { "teal_700", ColorTranslator.FromHtml ("#00796b") },
331 | { "teal_800", ColorTranslator.FromHtml ("#00695c") },
332 | { "teal_900", ColorTranslator.FromHtml ("#004d40") },
333 | { "teal_A100", ColorTranslator.FromHtml ("#a7ffeb") },
334 | { "teal_A200", ColorTranslator.FromHtml ("#64ffda") },
335 | { "teal_A400", ColorTranslator.FromHtml ("#1de9b6") },
336 | { "teal_A700", ColorTranslator.FromHtml ("#00bfa5") },
337 |
338 | { "yellow_50", ColorTranslator.FromHtml ("#fffde7") },
339 | { "yellow_100", ColorTranslator.FromHtml ("#fff9c4") },
340 | { "yellow_200", ColorTranslator.FromHtml ("#fff59d") },
341 | { "yellow_300", ColorTranslator.FromHtml ("#fff176") },
342 | { "yellow_400", ColorTranslator.FromHtml ("#ffee58") },
343 | { "yellow_500", ColorTranslator.FromHtml ("#ffeb3b") },
344 | { "yellow_600", ColorTranslator.FromHtml ("#fdd835") },
345 | { "yellow_700", ColorTranslator.FromHtml ("#fbc02d") },
346 | { "yellow_800", ColorTranslator.FromHtml ("#f9a825") },
347 | { "yellow_900", ColorTranslator.FromHtml ("#f57f17") },
348 | { "yellow_A100", ColorTranslator.FromHtml ("#ffff8d") },
349 | { "yellow_A200", ColorTranslator.FromHtml ("#ffff00") },
350 | { "yellow_A400", ColorTranslator.FromHtml ("#ffea00") },
351 | { "yellow_A700", ColorTranslator.FromHtml ("#ffd600") }
352 | };
353 | }
354 | }
355 |
356 |
--------------------------------------------------------------------------------
/src/Xamarin Studio/gtk-gui/gui.stetic:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ..
5 | 2.12
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Material Icon Generator
14 | CenterOnParent
15 | True
16 | False
17 | 3
18 | False
19 |
20 |
21 |
22 | 2
23 |
24 |
25 |
26 | 500
27 | 7
28 | 6
29 | 6
30 | 6
31 | 9
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | True
54 | hdpi
55 | True
56 | True
57 | True
58 | True
59 |
60 |
61 | 4
62 | 5
63 | 2
64 | 3
65 | True
66 | Fill
67 | Fill
68 | False
69 | True
70 | False
71 | False
72 | True
73 | False
74 |
75 |
76 |
77 |
78 |
79 | True
80 | mdpi
81 | True
82 | True
83 | True
84 | True
85 |
86 |
87 | 4
88 | 5
89 | 1
90 | 2
91 | True
92 | Fill
93 | Fill
94 | False
95 | True
96 | False
97 | False
98 | True
99 | False
100 |
101 |
102 |
103 |
104 |
105 | True
106 | xhdpi
107 | True
108 | True
109 | True
110 | True
111 |
112 |
113 | 5
114 | 6
115 | 1
116 | 2
117 | True
118 | Fill
119 | Fill
120 | False
121 | True
122 | False
123 | False
124 | True
125 | False
126 |
127 |
128 |
129 |
130 |
131 | True
132 | xxhdpi
133 | True
134 | True
135 | True
136 | True
137 |
138 |
139 | 5
140 | 6
141 | 2
142 | 3
143 | True
144 | Fill
145 | Fill
146 | False
147 | True
148 | False
149 | False
150 | True
151 | False
152 |
153 |
154 |
155 |
156 |
157 | True
158 | xxxhdpi
159 | True
160 | True
161 | True
162 | True
163 |
164 |
165 | 6
166 | 7
167 | 1
168 | 2
169 | True
170 | Fill
171 | Fill
172 | False
173 | True
174 | False
175 | False
176 | True
177 | False
178 |
179 |
180 |
181 |
182 |
183 | True
184 |
185 |
186 |
187 |
188 | 1
189 | 2
190 | 1
191 | 2
192 | True
193 | Fill
194 | Fill
195 | False
196 | True
197 | False
198 | False
199 | True
200 | False
201 |
202 |
203 |
204 |
205 |
206 | True
207 |
208 |
209 |
210 |
211 | 1
212 | 3
213 | True
214 | Fill
215 | Fill
216 | False
217 | True
218 | False
219 | False
220 | True
221 | False
222 |
223 |
224 |
225 |
226 |
227 | True
228 | True
229 |
230 |
231 |
232 |
233 | 2
234 | 3
235 | 1
236 | 2
237 | True
238 | Fill
239 | Fill
240 | False
241 | True
242 | False
243 | False
244 | True
245 | False
246 |
247 |
248 |
249 |
250 |
251 | True
252 | True
253 | ●
254 |
255 |
256 | 3
257 | 4
258 | 1
259 | 3
260 | True
261 | Fill
262 | True
263 | True
264 | False
265 | False
266 | True
267 | False
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 | 7
276 | 3
277 | 6
278 | False
279 | Fill
280 | True
281 | True
282 | False
283 | False
284 | True
285 | False
286 |
287 |
288 |
289 |
290 |
291 | Icon:
292 |
293 |
294 | True
295 | Fill
296 | Fill
297 | False
298 | True
299 | False
300 | False
301 | True
302 | False
303 |
304 |
305 |
306 |
307 |
308 | Color:
309 |
310 |
311 | 1
312 | 2
313 | True
314 | Fill
315 | Fill
316 | False
317 | True
318 | False
319 | False
320 | True
321 | False
322 |
323 |
324 |
325 |
326 |
327 | Size
328 |
329 |
330 | 2
331 | 3
332 | True
333 | Fill
334 | Fill
335 | False
336 | True
337 | False
338 | False
339 | True
340 | False
341 |
342 |
343 |
344 |
345 |
346 | Name:
347 |
348 |
349 | 3
350 | 4
351 | True
352 | Fill
353 | Fill
354 | False
355 | True
356 | False
357 | False
358 | True
359 | False
360 |
361 |
362 |
363 |
364 | 0
365 | True
366 | False
367 | False
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 | 10
379 | 5
380 | 3
381 | End
382 |
383 |
384 |
385 | True
386 | TextOnly
387 | Icons Source
388 | True
389 | -1
390 |
391 |
392 |
393 | False
394 | False
395 |
396 |
397 |
398 |
399 |
400 | True
401 | True
402 | TextOnly
403 | Add
404 | True
405 | -1
406 |
407 |
408 |
409 | 1
410 | False
411 | False
412 |
413 |
414 |
415 |
416 |
417 | True
418 | True
419 | True
420 | StockItem
421 | gtk-close
422 | -7
423 | gtk-close
424 |
425 |
426 | 2
427 | False
428 | False
429 |
430 |
431 |
432 |
433 |
434 |
--------------------------------------------------------------------------------