Skip to content

Commit

Permalink
Adds the new icons for colors / simulations / displays
Browse files Browse the repository at this point in the history
Splashscreen is finally not included as the PNG produced used to
generate some issues
  • Loading branch information
AlexisDrogoul committed Mar 13, 2023
1 parent 73aed76 commit 324183b
Show file tree
Hide file tree
Showing 160 changed files with 352 additions and 2 deletions.
2 changes: 1 addition & 1 deletion icons/ummisco.gama.icons.producer/.classpath
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes>
<attribute name="module" value="true"/>
</attributes>
Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion icons/ummisco.gama.icons.producer/src/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
requires jdk.xml.dom;
requires java.desktop;
requires xml.apis.ext;

requires java.base;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/*******************************************************************************************************
*
* CSSColors.java, in ummisco.gama.icons.producer, is part of the source code of the GAMA modeling and simulation
* platform (v.1.9.0).
*
* (c) 2007-2023 UMI 209 UMMISCO IRD/SU & Partners (IRIT, MIAT, TLU, CTU)
*
* Visit https://github.com/gama-platform/gama for license information and contacts.
*
********************************************************************************************************/
package ummisco.gama.icons.producer;

import java.util.HashMap;
import java.util.Map;

/**
* The Class ColorCSS.
*/
public class CSSColors {

/** The names. */
public static Map<String, String> NAME_TO_RGB = new HashMap<>();

/** The name to fill. */
public static Map<String, String> NAME_TO_FILL = new HashMap<>();

/** The Constant array of CSS colors */
public final static Object[] array = { "transparent", new int[] { 0, 0, 0, 0 }, "aliceblue",
new int[] { 240, 248, 255, 1 }, "antiquewhite", new int[] { 250, 235, 215, 1 }, "aqua",
new int[] { 0, 255, 255, 1 }, "aquamarine", new int[] { 127, 255, 212, 1 }, "azure",
new int[] { 240, 255, 255, 1 }, "beige", new int[] { 245, 245, 220, 1 }, "bisque",
new int[] { 255, 228, 196, 1 }, "black", new int[] { 0, 0, 0, 1 }, "blanchedalmond",
new int[] { 255, 235, 205, 1 }, "blue", new int[] { 0, 0, 255, 1 }, "blueviolet",
new int[] { 138, 43, 226, 1 }, "brown", new int[] { 165, 42, 42, 1 }, "burlywood",
new int[] { 222, 184, 135, 1 }, "cadetblue", new int[] { 95, 158, 160, 1 }, "chartreuse",
new int[] { 127, 255, 0, 1 }, "chocolate", new int[] { 210, 105, 30, 1 }, "coral",
new int[] { 255, 127, 80, 1 }, "cornflowerblue", new int[] { 100, 149, 237, 1 }, "cornsilk",
new int[] { 255, 248, 220, 1 }, "crimson", new int[] { 220, 20, 60, 1 }, "cyan",
new int[] { 0, 255, 255, 1 }, "darkblue", new int[] { 0, 0, 139, 1 }, "darkcyan",
new int[] { 0, 139, 139, 1 }, "darkgoldenrod", new int[] { 184, 134, 11, 1 }, "darkgray",
new int[] { 169, 169, 169, 1 }, "darkgreen", new int[] { 0, 100, 0, 1 }, "darkgrey",
new int[] { 169, 169, 169, 1 }, "darkkhaki", new int[] { 189, 183, 107, 1 }, "darkmagenta",
new int[] { 139, 0, 139, 1 }, "darkolivegreen", new int[] { 85, 107, 47, 1 }, "darkorange",
new int[] { 255, 140, 0, 1 }, "darkorchid", new int[] { 153, 50, 204, 1 }, "darkred",
new int[] { 139, 0, 0, 1 }, "darksalmon", new int[] { 233, 150, 122, 1 }, "darkseagreen",
new int[] { 143, 188, 143, 1 }, "darkslateblue", new int[] { 72, 61, 139, 1 }, "darkslategray",
new int[] { 47, 79, 79, 1 }, "darkslategrey", new int[] { 47, 79, 79, 1 }, "darkturquoise",
new int[] { 0, 206, 209, 1 }, "darkviolet", new int[] { 148, 0, 211, 1 }, "deeppink",
new int[] { 255, 20, 147, 1 }, "deepskyblue", new int[] { 0, 191, 255, 1 }, "dimgray",
new int[] { 105, 105, 105, 1 }, "dimgrey", new int[] { 105, 105, 105, 1 }, "dodgerblue",
new int[] { 30, 144, 255, 1 }, "firebrick", new int[] { 178, 34, 34, 1 }, "floralwhite",
new int[] { 255, 250, 240, 1 }, "forestgreen", new int[] { 34, 139, 34, 1 }, "fuchsia",
new int[] { 255, 0, 255, 1 }, "gainsboro", new int[] { 220, 220, 220, 1 }, "ghostwhite",
new int[] { 248, 248, 255, 1 }, "gold", new int[] { 255, 215, 0, 1 }, "goldenrod",
new int[] { 218, 165, 32, 1 }, "gray", new int[] { 128, 128, 128, 1 }, "green", new int[] { 0, 128, 0, 1 },
"greenyellow", new int[] { 173, 255, 47, 1 }, "grey", new int[] { 128, 128, 128, 1 }, "honeydew",
new int[] { 240, 255, 240, 1 }, "hotpink", new int[] { 255, 105, 180, 1 }, "indianred",
new int[] { 205, 92, 92, 1 }, "indigo", new int[] { 75, 0, 130, 1 }, "ivory",
new int[] { 255, 255, 240, 1 }, "khaki", new int[] { 240, 230, 140, 1 }, "lavender",
new int[] { 230, 230, 250, 1 }, "lavenderblush", new int[] { 255, 240, 245, 1 }, "lawngreen",
new int[] { 124, 252, 0, 1 }, "lemonchiffon", new int[] { 255, 250, 205, 1 }, "lightblue",
new int[] { 173, 216, 230, 1 }, "lightcoral", new int[] { 240, 128, 128, 1 }, "lightcyan",
new int[] { 224, 255, 255, 1 }, "lightgoldenrodyellow", new int[] { 250, 250, 210, 1 }, "lightgray",
new int[] { 211, 211, 211, 1 }, "lightgreen", new int[] { 144, 238, 144, 1 }, "lightgrey",
new int[] { 211, 211, 211, 1 }, "lightpink", new int[] { 255, 182, 193, 1 }, "lightsalmon",
new int[] { 255, 160, 122, 1 }, "lightseagreen", new int[] { 32, 178, 170, 1 }, "lightskyblue",
new int[] { 135, 206, 250, 1 }, "lightslategray", new int[] { 119, 136, 153, 1 }, "lightslategrey",
new int[] { 119, 136, 153, 1 }, "lightsteelblue", new int[] { 176, 196, 222, 1 }, "lightyellow",
new int[] { 255, 255, 224, 1 }, "lime", new int[] { 0, 255, 0, 1 }, "limegreen",
new int[] { 50, 205, 50, 1 }, "linen", new int[] { 250, 240, 230, 1 }, "magenta",
new int[] { 255, 0, 255, 1 }, "maroon", new int[] { 128, 0, 0, 1 }, "mediumaquamarine",
new int[] { 102, 205, 170, 1 }, "mediumblue", new int[] { 0, 0, 205, 1 }, "mediumorchid",
new int[] { 186, 85, 211, 1 }, "mediumpurple", new int[] { 147, 112, 219, 1 }, "mediumseagreen",
new int[] { 60, 179, 113, 1 }, "mediumslateblue", new int[] { 123, 104, 238, 1 }, "mediumspringgreen",
new int[] { 0, 250, 154, 1 }, "mediumturquoise", new int[] { 72, 209, 204, 1 }, "mediumvioletred",
new int[] { 199, 21, 133, 1 }, "midnightblue", new int[] { 25, 25, 112, 1 }, "mintcream",
new int[] { 245, 255, 250, 1 }, "mistyrose", new int[] { 255, 228, 225, 1 }, "moccasin",
new int[] { 255, 228, 181, 1 }, "navajowhite", new int[] { 255, 222, 173, 1 }, "navy",
new int[] { 0, 0, 128, 1 }, "oldlace", new int[] { 253, 245, 230, 1 }, "olive",
new int[] { 128, 128, 0, 1 }, "olivedrab", new int[] { 107, 142, 35, 1 }, "orange",
new int[] { 255, 165, 0, 1 }, "orangered", new int[] { 255, 69, 0, 1 }, "orchid",
new int[] { 218, 112, 214, 1 }, "palegoldenrod", new int[] { 238, 232, 170, 1 }, "palegreen",
new int[] { 152, 251, 152, 1 }, "paleturquoise", new int[] { 175, 238, 238, 1 }, "palevioletred",
new int[] { 219, 112, 147, 1 }, "papayawhip", new int[] { 255, 239, 213, 1 }, "peachpuff",
new int[] { 255, 218, 185, 1 }, "peru", new int[] { 205, 133, 63, 1 }, "pink",
new int[] { 255, 192, 203, 1 }, "plum", new int[] { 221, 160, 221, 1 }, "powderblue",
new int[] { 176, 224, 230, 1 }, "purple", new int[] { 128, 0, 128, 1 }, "red", new int[] { 255, 0, 0, 1 },
"rosybrown", new int[] { 188, 143, 143, 1 }, "royalblue", new int[] { 65, 105, 225, 1 }, "saddlebrown",
new int[] { 139, 69, 19, 1 }, "salmon", new int[] { 250, 128, 114, 1 }, "sandybrown",
new int[] { 244, 164, 96, 1 }, "seagreen", new int[] { 46, 139, 87, 1 }, "seashell",
new int[] { 255, 245, 238, 1 }, "sienna", new int[] { 160, 82, 45, 1 }, "silver",
new int[] { 192, 192, 192, 1 }, "skyblue", new int[] { 135, 206, 235, 1 }, "slateblue",
new int[] { 106, 90, 205, 1 }, "slategray", new int[] { 112, 128, 144, 1 }, "slategrey",
new int[] { 112, 128, 144, 1 }, "snow", new int[] { 255, 250, 250, 1 }, "springgreen",
new int[] { 0, 255, 127, 1 }, "steelblue", new int[] { 70, 130, 180, 1 }, "tan",
new int[] { 210, 180, 140, 1 }, "teal", new int[] { 0, 128, 128, 1 }, "thistle",
new int[] { 216, 191, 216, 1 }, "tomato", new int[] { 255, 99, 71, 1 }, "turquoise",
new int[] { 64, 224, 208, 1 }, "violet", new int[] { 238, 130, 238, 1 }, "wheat",
new int[] { 245, 222, 179, 1 }, "white", new int[] { 255, 255, 255, 1 }, "whitesmoke",
new int[] { 245, 245, 245, 1 }, "yellow", new int[] { 255, 255, 0, 1 }, "yellowgreen",
new int[] { 154, 205, 50, 1 } };

/**
* Fill.
*
* @param name
* the name
* @param value
* the value
*/
static void fill(final String name, final int r, final int g, final int b) {
int value = (255 & 0xFF) << 24 | (r & 0xFF) << 16 | (g & 0xFF) << 8 | (b & 0xFF) << 0;
NAME_TO_RGB.put(name, String.format("%X", value));
NAME_TO_FILL.put(name, "rgb(" + r + "," + g + "," + b + ")");
}

static {
for (int i = 0; i < array.length; i += 2) {
int[] rgb = (int[]) array[i + 1];
int value = (255 & 0xFF) << 24 | (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | (rgb[2] & 0xFF) << 0;
NAME_TO_RGB.put((String) array[i], String.format("%X", value));
NAME_TO_FILL.put((String) array[i], (String) array[i]);
fill("gamaorange", 244, 165, 40);
fill("gamared", 217, 72, 33);
fill("gamablue", 22, 94, 147);
fill("gamagreen", 81, 135, 56);
fill("simulation0", 74, 97, 144);
fill("simulation1", 66, 119, 42);
fill("simulation2", 83, 95, 107);
fill("simulation3", 195, 98, 43);
fill("simulation4", 150, 132, 106);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@
import java.awt.image.ImageProducer;
import java.awt.image.RGBImageFilter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
Expand Down Expand Up @@ -112,6 +114,7 @@ public static void main(final String args[]) {
final String input = args.length <= 1 ? "svg" : args[0];
final String output = args.length == 0 ? "icons" : args.length == 1 ? args[0] : args[1];
long start = currentTimeMillis();
generateBuiltInIcons(Paths.get(input));
int n = produceIcons(Paths.get(input), Paths.get(output));
out.println("Produced " + n + " icons for GAMA in " + (currentTimeMillis() - start) / 1000f + " seconds");
}
Expand All @@ -138,6 +141,28 @@ protected ImageRenderer createRenderer() {
}
}

/** The generate built in icons. */
public static void generateBuiltInIcons(final Path svgPath) {
Path newPath = svgPath.resolve("colors");
newPath.toFile().mkdirs();
CSSColors.NAME_TO_RGB.forEach((name, code) -> {
try {
try (PrintWriter pw = new PrintWriter(new FileOutputStream(
newPath.resolve("square.color." + code + ".svg").toFile().getAbsolutePath()))) {
pw.format(SVGTemplates.SQUARE, CSSColors.NAME_TO_FILL.get(name)).flush();
}
if (name.contains("simulation")) {
try (PrintWriter pw = new PrintWriter(new FileOutputStream(
newPath.resolve("circle.color." + code + ".svg").toFile().getAbsolutePath()))) {
pw.format(SVGTemplates.CIRCLE, CSSColors.NAME_TO_FILL.get(name)).flush();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
});
}

/**
* Builds the icons and returns the number of icons produced
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*******************************************************************************************************
*
* SVGTemplates.java, in ummisco.gama.icons.producer, is part of the source code of the GAMA modeling and simulation
* platform (v.1.9.0).
*
* (c) 2007-2023 UMI 209 UMMISCO IRD/SU & Partners (IRIT, MIAT, TLU, CTU)
*
* Visit https://github.com/gama-platform/gama for license information and contacts.
*
********************************************************************************************************/
package ummisco.gama.icons.producer;

/**
* The Class SVGTemplates.
*/
public class SVGTemplates {

/** The Constant SQUARE. */
public static final String SQUARE =
"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"25\" viewBox=\"-1192.5 -4210.5 25 25\">"
+ "<g fill=\"none\">"
+ "<path fill=\"#fff\" d=\"M-1188.16-4210h16.32a3.84 3.84 0 0 1 3.84 3.84v16.32a3.84 3.84 0 0 1-3.84 3.84h-16.32a3.84 3.84 0 0 1-3.84-3.84v-16.32a3.84 3.84 0 0 1 3.84-3.84Z\"/>"
+ "<path stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\".25\" d=\"M-1188.16-4210h16.32a3.84 3.84 0 0 1 3.84 3.84v16.32a3.84 3.84 0 0 1-3.84 3.84h-16.32a3.84 3.84 0 0 1-3.84-3.84v-16.32a3.84 3.84 0 0 1 3.84-3.84Z\"/>"
+ "<path fill=\"%s\" d=\"M-1184.08-4204h8.16c1.06 0 1.92.86 1.92 1.92v8.16c0 1.06-.86 1.92-1.92 1.92h-8.16a1.92 1.92 0 0 1-1.92-1.92v-8.16c0-1.06.86-1.92 1.92-1.92Z\"/>"
+ "<path stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\".25\" d=\"M-1184.08-4204h8.16c1.06 0 1.92.86 1.92 1.92v8.16c0 1.06-.86 1.92-1.92 1.92h-8.16a1.92 1.92 0 0 1-1.92-1.92v-8.16c0-1.06.86-1.92 1.92-1.92Z\"/>"
+ "</g>" + "</svg>";

/** The Constant CIRCLE. */
public static final String CIRCLE =
"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-870.181 -3050.5 25 25\" width=\"25\" height=\"25\">"
+ "<g fill=\"none\">" + "<circle cx=\"-857.681\" cy=\"-3038\" r=\"12\" fill=\"#fff\"/>"
+ "<circle cx=\"-857.681\" cy=\"-3038\" r=\"12\" stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\".25\"/>"
+ "<circle cx=\"-857.681\" cy=\"-3038\" r=\"6\" fill=\"%s\"/>"
+ "<circle cx=\"-857.681\" cy=\"-3038\" r=\"6\" stroke=\"#000\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\".25\"/>"
+ "</g></svg>";

}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 324183b

Please sign in to comment.