home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.io.Serializable;
-
- public final class Color implements Serializable {
- public static final Color white = new Color(255, 255, 255);
- public static final Color lightGray = new Color(192, 192, 192);
- public static final Color gray = new Color(128, 128, 128);
- public static final Color darkGray = new Color(64, 64, 64);
- public static final Color black = new Color(0, 0, 0);
- public static final Color red = new Color(255, 0, 0);
- public static final Color pink = new Color(255, 175, 175);
- public static final Color orange = new Color(255, 200, 0);
- public static final Color yellow = new Color(255, 255, 0);
- public static final Color green = new Color(0, 255, 0);
- public static final Color magenta = new Color(255, 0, 255);
- public static final Color cyan = new Color(0, 255, 255);
- public static final Color blue = new Color(0, 0, 255);
- private transient int pData;
- private int value;
- private static final double FACTOR = 0.7000000000000001;
-
- public Color(int var1, int var2, int var3) {
- this((var1 & 255) << 16 | (var2 & 255) << 8 | var3 & 255);
- }
-
- public Color(int var1) {
- this.value = -16777216 | var1;
- }
-
- public Color(float var1, float var2, float var3) {
- this((int)(var1 * 255.0F), (int)(var2 * 255.0F), (int)(var3 * 255.0F));
- }
-
- public int getRed() {
- return this.value >> 16 & 255;
- }
-
- public int getGreen() {
- return this.value >> 8 & 255;
- }
-
- public int getBlue() {
- return this.value & 255;
- }
-
- public int getRGB() {
- return this.value;
- }
-
- public Color brighter() {
- return new Color(Math.min((int)((double)this.getRed() * 1.4285714285714284), 255), Math.min((int)((double)this.getGreen() * 1.4285714285714284), 255), Math.min((int)((double)this.getBlue() * 1.4285714285714284), 255));
- }
-
- public Color darker() {
- return new Color(Math.max((int)((double)this.getRed() * 0.7000000000000001), 0), Math.max((int)((double)this.getGreen() * 0.7000000000000001), 0), Math.max((int)((double)this.getBlue() * 0.7000000000000001), 0));
- }
-
- public int hashCode() {
- return this.value;
- }
-
- public boolean equals(Object var1) {
- if (var1 instanceof Color) {
- return this.value == ((Color)var1).value;
- } else {
- return false;
- }
- }
-
- public String toString() {
- return this.getClass().getName() + "[r=" + this.getRed() + ",g=" + this.getGreen() + ",b=" + this.getBlue() + "]";
- }
-
- public static Color getColor(String var0) {
- return getColor(var0, (Color)null);
- }
-
- public static Color getColor(String var0, Color var1) {
- Integer var2 = Integer.getInteger(var0);
- if (var2 == null) {
- return var1;
- } else {
- int var3 = var2;
- return new Color(var3 >> 16 & 255, var3 >> 8 & 255, var3 & 255);
- }
- }
-
- public static Color getColor(String var0, int var1) {
- Integer var2 = Integer.getInteger(var0);
- int var3 = var2 != null ? var2 : var1;
- return new Color(var3 >> 16 & 255, var3 >> 8 & 255, var3 & 255);
- }
-
- public static int HSBtoRGB(float var0, float var1, float var2) {
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- if (var1 == 0.0F) {
- var3 = var4 = var5 = (int)(var2 * 255.0F);
- } else {
- double var6 = (double)var0 * (double)6.0F;
- double var8 = var6 - Math.floor(var6);
- double var10 = (double)var2 * ((double)1.0F - (double)var1);
- double var12 = (double)var2 * ((double)1.0F - (double)var1 * var8);
- double var14 = (double)var2 * ((double)1.0F - (double)var1 * ((double)1.0F - var8));
- switch ((int)var6) {
- case 0:
- var3 = (int)(var2 * 255.0F);
- var4 = (int)(var14 * (double)255.0F);
- var5 = (int)(var10 * (double)255.0F);
- break;
- case 1:
- var3 = (int)(var12 * (double)255.0F);
- var4 = (int)(var2 * 255.0F);
- var5 = (int)(var10 * (double)255.0F);
- break;
- case 2:
- var3 = (int)(var10 * (double)255.0F);
- var4 = (int)(var2 * 255.0F);
- var5 = (int)(var14 * (double)255.0F);
- break;
- case 3:
- var3 = (int)(var10 * (double)255.0F);
- var4 = (int)(var12 * (double)255.0F);
- var5 = (int)(var2 * 255.0F);
- break;
- case 4:
- var3 = (int)(var14 * (double)255.0F);
- var4 = (int)(var10 * (double)255.0F);
- var5 = (int)(var2 * 255.0F);
- break;
- case 5:
- var3 = (int)(var2 * 255.0F);
- var4 = (int)(var10 * (double)255.0F);
- var5 = (int)(var12 * (double)255.0F);
- }
- }
-
- return -16777216 | var3 << 16 | var4 << 8 | var5;
- }
-
- public static float[] RGBtoHSB(int var0, int var1, int var2, float[] var3) {
- if (var3 == null) {
- var3 = new float[3];
- }
-
- int var7 = var0 > var1 ? var0 : var1;
- if (var2 > var7) {
- var7 = var2;
- }
-
- int var8 = var0 < var1 ? var0 : var1;
- if (var2 < var8) {
- var8 = var2;
- }
-
- float var6 = (float)var7 / 255.0F;
- float var5;
- if (var7 != 0) {
- var5 = (float)(var7 - var8) / (float)var7;
- } else {
- var5 = 0.0F;
- }
-
- float var4;
- if (var5 == 0.0F) {
- var4 = 0.0F;
- } else {
- float var9 = (float)(var7 - var0) / (float)(var7 - var8);
- float var10 = (float)(var7 - var1) / (float)(var7 - var8);
- float var11 = (float)(var7 - var2) / (float)(var7 - var8);
- if (var0 == var7) {
- var4 = var11 - var10;
- } else if (var1 == var7) {
- var4 = 2.0F + var9 - var11;
- } else {
- var4 = 4.0F + var10 - var9;
- }
-
- var4 /= 6.0F;
- if (var4 < 0.0F) {
- ++var4;
- }
- }
-
- var3[0] = var4;
- var3[1] = var5;
- var3[2] = var6;
- return var3;
- }
-
- public static Color getHSBColor(float var0, float var1, float var2) {
- return new Color(HSBtoRGB(var0, var1, var2));
- }
- }
-