package com.faforever.client.chat;
import javafx.scene.paint.Color;
import java.util.Random;
public final class ColorGeneratorUtil {
private ColorGeneratorUtil() {
throw new AssertionError("Not instantiatable");
}
//http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
public static Color generateRandomColor() {
return generateRandomColor(0);
}
public static Color generateRandomColor(long seed) {
double goldenRatioConj = (1.0 + Math.sqrt(5.0)) / 2.0;
float saturation;
float hue;
saturation = randFloat(0.5f, 0.7f, seed);
hue = new Random(seed).nextFloat();
hue += goldenRatioConj;
hue = hue % 1;
return Color.hsb(hue * 360, saturation, 0.9f);
}
private static float randFloat(float min, float max, long seed) {
Random generator = new Random(seed);
if (generator.nextDouble() < 0.5) {
return (float) (((1 - generator.nextDouble()) * (max - min)) + min);
}
return (float) ((generator.nextDouble() * (max - min)) + min);
}
}