}
}
- public static int bleachColourInt(int colour, float bleachFactor)
- {
- if (bleachFactor >= 1f)
- {
- return -1;// Color.WHITE;
- }
- if (bleachFactor <= -1f)
- {
- return 0xFF000000;// Color.BLACK;
- }
- if (bleachFactor == 0f)
- {
- return colour;
- }
-
- int red = (colour >> 16) & 0xFF;// getRed();
- int green = (colour >> 8) & 0xFF;// colour.getGreen();
- int blue = colour & 0xFF;// .getBlue();
-
- if (bleachFactor > 0)
- {
- red += (255 - red) * bleachFactor;
- green += (255 - green) * bleachFactor;
- blue += (255 - blue) * bleachFactor;
- }
- else
- {
- float factor = 1 + bleachFactor;
- red *= factor;
- green *= factor;
- blue *= factor;
- }
- return 0xFF000000 | (red << 16) | (green << 8) | blue;// new Color(red,
- // green, blue);
- }
-
/**
* Parses a string into a Color, where the accepted formats are
* <ul>
col = new Color(value);
} catch (NumberFormatException ex)
{
- col = Platform.getColorFromName(colour);
}
if (col == null)
*/
public static Color getAWTColorFromName(String name)
{
- return Platform.getColorFromName(name); // BH 2019 -- allows for wide range
- // of JavaScript colors (for
- // JavaScript only)
+ if (name == null)
+ {
+ return null;
+ }
+ Color col = null;
+ name = name.toLowerCase();
+
+ // or make a static map; or use reflection on the field name
+ switch (name)
+ {
+ case "black":
+ col = Color.black;
+ break;
+ case "blue":
+ col = Color.blue;
+ break;
+ case "cyan":
+ col = Color.cyan;
+ break;
+ case "darkgray":
+ col = Color.darkGray;
+ break;
+ case "gray":
+ col = Color.gray;
+ break;
+ case "green":
+ col = Color.green;
+ break;
+ case "lightgray":
+ col = Color.lightGray;
+ break;
+ case "magenta":
+ col = Color.magenta;
+ break;
+ case "orange":
+ col = Color.orange;
+ break;
+ case "pink":
+ col = Color.pink;
+ break;
+ case "red":
+ col = Color.red;
+ break;
+ case "white":
+ col = Color.white;
+ break;
+ case "yellow":
+ col = Color.yellow;
+ break;
+ }
+
+ return col;
}
}