Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / awt / Color.js
index 6865d88..c726fe1 100644 (file)
-Clazz.declarePackage ("java.awt");\r
-Clazz.load (["java.awt.Paint"], "java.awt.Color", ["java.lang.IllegalArgumentException", "java.awt.ColorPaintContext"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.value = 0;\r
-this.frgbvalue = null;\r
-this.falpha = 0.0;\r
-this.context = null;\r
-Clazz.instantialize (this, arguments);\r
-}, java.awt, "Color", null, java.awt.Paint);\r
-c$.testColorValueRange = Clazz.defineMethod (c$, "testColorValueRange", \r
- function (r, g, b, a) {\r
-var rangeError = false;\r
-var badComponentString = "";\r
-if (a < 0 || a > 255) {\r
-rangeError = true;\r
-badComponentString = badComponentString + " Alpha";\r
-}if (r < 0 || r > 255) {\r
-rangeError = true;\r
-badComponentString = badComponentString + " Red";\r
-}if (g < 0 || g > 255) {\r
-rangeError = true;\r
-badComponentString = badComponentString + " Green";\r
-}if (b < 0 || b > 255) {\r
-rangeError = true;\r
-badComponentString = badComponentString + " Blue";\r
-}if (rangeError == true) {\r
-throw  new IllegalArgumentException ("Color parameter outside of expected range:" + badComponentString);\r
-}}, "~N,~N,~N,~N");\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-{\r
-var a = arguments;\r
-switch(a.length) {\r
-case 0:\r
-break;\r
-case 1:\r
-this.value = (a[0].value ? a[0].value : 0xff000000 | a[0]);\r
-break;\r
-case 2:\r
-this.value = (a[1] ? a[0] : 0xff000000 | a[0]);\r
-break;\r
-case 3:\r
-this.setColor4(a[0], a[1], a[2], 255);\r
-break;\r
-case 4:\r
-this.setColor4(a[0], a[1], a[2], a[3]);\r
-break;\r
-}\r
-return this;\r
-}});\r
-Clazz.defineMethod (c$, "setColor4", \r
- function (r, g, b, a) {\r
-this.value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0);\r
-java.awt.Color.testColorValueRange (r, g, b, a);\r
-}, "~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "setFloat", \r
- function (r, g, b, f) {\r
-this.setColor4 (Clazz.doubleToInt (r * 255 + 0.5), Clazz.doubleToInt (g * 255 + 0.5), Clazz.doubleToInt (b * 255 + 0.5), Clazz.doubleToInt (f * 255 + 0.5));\r
-this.frgbvalue =  Clazz.newFloatArray (3, 0);\r
-this.frgbvalue[0] = r;\r
-this.frgbvalue[1] = g;\r
-this.frgbvalue[2] = b;\r
-this.falpha = f;\r
-}, "~N,~N,~N,~N");\r
-c$.getColorF4 = Clazz.defineMethod (c$, "getColorF4", \r
-function (r, g, b, a) {\r
-var c =  new java.awt.Color ();\r
-c.setFloat (r, g, b, a);\r
-return c;\r
-}, "~N,~N,~N,~N");\r
-Clazz.defineMethod (c$, "getRed", \r
-function () {\r
-return (this.getRGB () >> 16) & 0xFF;\r
-});\r
-Clazz.defineMethod (c$, "getGreen", \r
-function () {\r
-return (this.getRGB () >> 8) & 0xFF;\r
-});\r
-Clazz.defineMethod (c$, "getBlue", \r
-function () {\r
-return (this.getRGB () >> 0) & 0xFF;\r
-});\r
-Clazz.defineMethod (c$, "getAlpha", \r
-function () {\r
-return (this.getRGB () >> 24) & 0xff;\r
-});\r
-Clazz.defineMethod (c$, "getRGB", \r
-function () {\r
-return this.value;\r
-});\r
-Clazz.defineMethod (c$, "brighter", \r
-function () {\r
-var r = this.getRed ();\r
-var g = this.getGreen ();\r
-var b = this.getBlue ();\r
-var i = Clazz.doubleToInt (3.333333333333333);\r
-if (r == 0 && g == 0 && b == 0) {\r
-return  new java.awt.Color (i, i, i);\r
-}if (r > 0 && r < i) r = i;\r
-if (g > 0 && g < i) g = i;\r
-if (b > 0 && b < i) b = i;\r
-return  new java.awt.Color (Math.min (Clazz.doubleToInt (r / 0.7), 255), Math.min (Clazz.doubleToInt (g / 0.7), 255), Math.min (Clazz.doubleToInt (b / 0.7), 255));\r
-});\r
-Clazz.defineMethod (c$, "darker", \r
-function () {\r
-return  new java.awt.Color (Math.max (Clazz.doubleToInt (this.getRed () * 0.7), 0), Math.max (Clazz.doubleToInt (this.getGreen () * 0.7), 0), Math.max (Clazz.doubleToInt (this.getBlue () * 0.7), 0));\r
-});\r
-Clazz.overrideMethod (c$, "hashCode", \r
-function () {\r
-return this.value;\r
-});\r
-Clazz.overrideMethod (c$, "equals", \r
-function (obj) {\r
-return Clazz.instanceOf (obj, java.awt.Color) && (obj).getRGB () == this.getRGB ();\r
-}, "~O");\r
-Clazz.overrideMethod (c$, "toString", \r
-function () {\r
-return this.getClass ().getName () + "[r=" + this.getRed () + ",g=" + this.getGreen () + ",b=" + this.getBlue () + "]";\r
-});\r
-c$.decode = Clazz.defineMethod (c$, "decode", \r
-function (nm) {\r
-var intval = Integer.decode (nm);\r
-var i = intval.intValue ();\r
-return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF);\r
-}, "~S");\r
-c$.getColor = Clazz.defineMethod (c$, "getColor", \r
-function (nm) {\r
-return java.awt.Color.getColor (nm, null);\r
-}, "~S");\r
-c$.getColor = Clazz.defineMethod (c$, "getColor", \r
-function (nm, v) {\r
-var intval = Integer.getInteger (nm);\r
-if (intval == null) {\r
-return v;\r
-}var i = intval.intValue ();\r
-return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF);\r
-}, "~S,java.awt.Color");\r
-c$.getColor = Clazz.defineMethod (c$, "getColor", \r
-function (nm, v) {\r
-var intval = Integer.getInteger (nm);\r
-var i = (intval != null) ? intval.intValue () : v;\r
-return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, (i >> 0) & 0xFF);\r
-}, "~S,~N");\r
-c$.HSBtoRGB = Clazz.defineMethod (c$, "HSBtoRGB", \r
-function (hue, saturation, brightness) {\r
-var r = 0;\r
-var g = 0;\r
-var b = 0;\r
-if (saturation == 0) {\r
-r = g = b = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-} else {\r
-var h = (hue - Math.floor (hue)) * 6.0;\r
-var f = h - java.lang.Math.floor (h);\r
-var p = brightness * (1.0 - saturation);\r
-var q = brightness * (1.0 - saturation * f);\r
-var t = brightness * (1.0 - (saturation * (1.0 - f)));\r
-switch (Clazz.floatToInt (h)) {\r
-case 0:\r
-r = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-g = Clazz.floatToInt (t * 255.0 + 0.5);\r
-b = Clazz.floatToInt (p * 255.0 + 0.5);\r
-break;\r
-case 1:\r
-r = Clazz.floatToInt (q * 255.0 + 0.5);\r
-g = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-b = Clazz.floatToInt (p * 255.0 + 0.5);\r
-break;\r
-case 2:\r
-r = Clazz.floatToInt (p * 255.0 + 0.5);\r
-g = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-b = Clazz.floatToInt (t * 255.0 + 0.5);\r
-break;\r
-case 3:\r
-r = Clazz.floatToInt (p * 255.0 + 0.5);\r
-g = Clazz.floatToInt (q * 255.0 + 0.5);\r
-b = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-break;\r
-case 4:\r
-r = Clazz.floatToInt (t * 255.0 + 0.5);\r
-g = Clazz.floatToInt (p * 255.0 + 0.5);\r
-b = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-break;\r
-case 5:\r
-r = Clazz.floatToInt (brightness * 255.0 + 0.5);\r
-g = Clazz.floatToInt (p * 255.0 + 0.5);\r
-b = Clazz.floatToInt (q * 255.0 + 0.5);\r
-break;\r
-}\r
-}return 0xff000000 | (r << 16) | (g << 8) | (b << 0);\r
-}, "~N,~N,~N");\r
-c$.RGBtoHSB = Clazz.defineMethod (c$, "RGBtoHSB", \r
-function (r, g, b, hsbvals) {\r
-var hue;\r
-var saturation;\r
-var brightness;\r
-if (hsbvals == null) {\r
-hsbvals =  Clazz.newFloatArray (3, 0);\r
-}var cmax = (r > g) ? r : g;\r
-if (b > cmax) cmax = b;\r
-var cmin = (r < g) ? r : g;\r
-if (b < cmin) cmin = b;\r
-brightness = (cmax) / 255.0;\r
-if (cmax != 0) saturation = ((cmax - cmin)) / (cmax);\r
- else saturation = 0;\r
-if (saturation == 0) hue = 0;\r
- else {\r
-var redc = ((cmax - r)) / ((cmax - cmin));\r
-var greenc = ((cmax - g)) / ((cmax - cmin));\r
-var bluec = ((cmax - b)) / ((cmax - cmin));\r
-if (r == cmax) hue = bluec - greenc;\r
- else if (g == cmax) hue = 2.0 + redc - bluec;\r
- else hue = 4.0 + greenc - redc;\r
-hue = hue / 6.0;\r
-if (hue < 0) hue = hue + 1.0;\r
-}hsbvals[0] = hue;\r
-hsbvals[1] = saturation;\r
-hsbvals[2] = brightness;\r
-return hsbvals;\r
-}, "~N,~N,~N,~A");\r
-c$.getHSBColor = Clazz.defineMethod (c$, "getHSBColor", \r
-function (h, s, b) {\r
-return  new java.awt.Color (java.awt.Color.HSBtoRGB (h, s, b));\r
-}, "~N,~N,~N");\r
-Clazz.defineMethod (c$, "getRGBComponents", \r
-function (compArray) {\r
-var f;\r
-if (compArray == null) {\r
-f =  Clazz.newFloatArray (4, 0);\r
-} else {\r
-f = compArray;\r
-}if (this.frgbvalue == null) {\r
-f[0] = (this.getRed ()) / 255;\r
-f[1] = (this.getGreen ()) / 255;\r
-f[2] = (this.getBlue ()) / 255;\r
-f[3] = (this.getAlpha ()) / 255;\r
-} else {\r
-f[0] = this.frgbvalue[0];\r
-f[1] = this.frgbvalue[1];\r
-f[2] = this.frgbvalue[2];\r
-f[3] = this.falpha;\r
-}return f;\r
-}, "~A");\r
-Clazz.defineMethod (c$, "getRGBColorComponents", \r
-function (compArray) {\r
-var f;\r
-if (compArray == null) {\r
-f =  Clazz.newFloatArray (3, 0);\r
-} else {\r
-f = compArray;\r
-}if (this.frgbvalue == null) {\r
-f[0] = (this.getRed ()) / 255;\r
-f[1] = (this.getGreen ()) / 255;\r
-f[2] = (this.getBlue ()) / 255;\r
-} else {\r
-f[0] = this.frgbvalue[0];\r
-f[1] = this.frgbvalue[1];\r
-f[2] = this.frgbvalue[2];\r
-}return f;\r
-}, "~A");\r
-Clazz.overrideMethod (c$, "createContext", \r
-function (cm, r, r2d, xform, hints) {\r
-if (this.context == null || this.context.getRGB () != this.getRGB ()) {\r
-this.context =  new java.awt.ColorPaintContext (this.getRGB (), cm);\r
-}return this.context;\r
-}, "java.awt.image.ColorModel,java.awt.Rectangle,java.awt.geom.Rectangle2D,java.awt.geom.AffineTransform,java.awt.RenderingHints");\r
-Clazz.overrideMethod (c$, "getTransparency", \r
-function () {\r
-var alpha = this.getAlpha ();\r
-if (alpha == 0xff) {\r
-return 1;\r
-} else if (alpha == 0) {\r
-return 2;\r
-} else {\r
-return 3;\r
-}});\r
-c$.white = c$.prototype.white =  new java.awt.Color (255, 255, 255);\r
-c$.WHITE = c$.prototype.WHITE = java.awt.Color.white;\r
-c$.lightGray = c$.prototype.lightGray =  new java.awt.Color (192, 192, 192);\r
-c$.LIGHT_GRAY = c$.prototype.LIGHT_GRAY = java.awt.Color.lightGray;\r
-c$.gray = c$.prototype.gray =  new java.awt.Color (128, 128, 128);\r
-c$.GRAY = c$.prototype.GRAY = java.awt.Color.gray;\r
-c$.darkGray = c$.prototype.darkGray =  new java.awt.Color (64, 64, 64);\r
-c$.DARK_GRAY = c$.prototype.DARK_GRAY = java.awt.Color.darkGray;\r
-c$.black = c$.prototype.black =  new java.awt.Color (0, 0, 0);\r
-c$.BLACK = c$.prototype.BLACK = java.awt.Color.black;\r
-c$.red = c$.prototype.red =  new java.awt.Color (255, 0, 0);\r
-c$.RED = c$.prototype.RED = java.awt.Color.red;\r
-c$.pink = c$.prototype.pink =  new java.awt.Color (255, 175, 175);\r
-c$.PINK = c$.prototype.PINK = java.awt.Color.pink;\r
-c$.orange = c$.prototype.orange =  new java.awt.Color (255, 200, 0);\r
-c$.ORANGE = c$.prototype.ORANGE = java.awt.Color.orange;\r
-c$.yellow = c$.prototype.yellow =  new java.awt.Color (255, 255, 0);\r
-c$.YELLOW = c$.prototype.YELLOW = java.awt.Color.yellow;\r
-c$.green = c$.prototype.green =  new java.awt.Color (0, 255, 0);\r
-c$.GREEN = c$.prototype.GREEN = java.awt.Color.green;\r
-c$.magenta = c$.prototype.magenta =  new java.awt.Color (255, 0, 255);\r
-c$.MAGENTA = c$.prototype.MAGENTA = java.awt.Color.magenta;\r
-c$.cyan = c$.prototype.cyan =  new java.awt.Color (0, 255, 255);\r
-c$.CYAN = c$.prototype.CYAN = java.awt.Color.cyan;\r
-c$.blue = c$.prototype.blue =  new java.awt.Color (0, 0, 255);\r
-c$.BLUE = c$.prototype.BLUE = java.awt.Color.blue;\r
-Clazz.defineStatics (c$,\r
-"FACTOR", 0.7);\r
-});\r
+Clazz.declarePackage ("java.awt");
+Clazz.load (["java.awt.Paint"], "java.awt.Color", ["java.lang.IllegalArgumentException", "java.awt.ColorPaintContext"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.value = 0;
+this.frgbvalue = null;
+this.falpha = 0.0;
+this.context = null;
+Clazz.instantialize (this, arguments);
+}, java.awt, "Color", null, java.awt.Paint);
+c$.testColorValueRange = Clazz.defineMethod (c$, "testColorValueRange", 
+ function (r, g, b, a) {
+var rangeError = false;
+var badComponentString = "";
+if (a < 0 || a > 255) {
+rangeError = true;
+badComponentString = badComponentString + " Alpha";
+}if (r < 0 || r > 255) {
+rangeError = true;
+badComponentString = badComponentString + " Red";
+}if (g < 0 || g > 255) {
+rangeError = true;
+badComponentString = badComponentString + " Green";
+}if (b < 0 || b > 255) {
+rangeError = true;
+badComponentString = badComponentString + " Blue";
+}if (rangeError == true) {
+throw  new IllegalArgumentException ("Color parameter outside of expected range:" + badComponentString);
+}}, "~N,~N,~N,~N");
+Clazz.makeConstructor (c$, 
+function () {
+{
+var a = arguments;
+switch(a.length) {
+case 0:
+break;
+case 1:
+this.value = (a[0].value ? a[0].value : 0xff000000 | a[0]);
+break;
+case 2:
+this.value = (a[1] ? a[0] : 0xff000000 | a[0]);
+break;
+case 3:
+this.setColor4(a[0], a[1], a[2], 255);
+break;
+case 4:
+this.setColor4(a[0], a[1], a[2], a[3]);
+break;
+}
+return this;
+}});
+Clazz.defineMethod (c$, "setColor4", 
+ function (r, g, b, a) {
+this.value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0);
+java.awt.Color.testColorValueRange (r, g, b, a);
+}, "~N,~N,~N,~N");
+Clazz.defineMethod (c$, "setFloat", 
+ function (r, g, b, f) {
+this.setColor4 (Clazz.doubleToInt (r * 255 + 0.5), Clazz.doubleToInt (g * 255 + 0.5), Clazz.doubleToInt (b * 255 + 0.5), Clazz.doubleToInt (f * 255 + 0.5));
+this.frgbvalue =  Clazz.newFloatArray (3, 0);
+this.frgbvalue[0] = r;
+this.frgbvalue[1] = g;
+this.frgbvalue[2] = b;
+this.falpha = f;
+}, "~N,~N,~N,~N");
+c$.getColorF4 = Clazz.defineMethod (c$, "getColorF4", 
+function (r, g, b, a) {
+var c =  new java.awt.Color ();
+c.setFloat (r, g, b, a);
+return c;
+}, "~N,~N,~N,~N");
+Clazz.defineMethod (c$, "getRed", 
+function () {
+return (this.getRGB () >> 16) & 0xFF;
+});
+Clazz.defineMethod (c$, "getGreen", 
+function () {
+return (this.getRGB () >> 8) & 0xFF;
+});
+Clazz.defineMethod (c$, "getBlue", 
+function () {
+return (this.getRGB () >> 0) & 0xFF;
+});
+Clazz.defineMethod (c$, "getAlpha", 
+function () {
+return (this.getRGB () >> 24) & 0xff;
+});
+Clazz.defineMethod (c$, "getRGB", 
+function () {
+return this.value;
+});
+Clazz.defineMethod (c$, "brighter", 
+function () {
+var r = this.getRed ();
+var g = this.getGreen ();
+var b = this.getBlue ();
+var i = Clazz.doubleToInt (3.333333333333333);
+if (r == 0 && g == 0 && b == 0) {
+return  new java.awt.Color (i, i, i);
+}if (r > 0 && r < i) r = i;
+if (g > 0 && g < i) g = i;
+if (b > 0 && b < i) b = i;
+return  new java.awt.Color (Math.min (Clazz.doubleToInt (r / 0.7), 255), Math.min (Clazz.doubleToInt (g / 0.7), 255), Math.min (Clazz.doubleToInt (b / 0.7), 255));
+});
+Clazz.defineMethod (c$, "darker", 
+function () {
+return  new java.awt.Color (Math.max (Clazz.doubleToInt (this.getRed () * 0.7), 0), Math.max (Clazz.doubleToInt (this.getGreen () * 0.7), 0), Math.max (Clazz.doubleToInt (this.getBlue () * 0.7), 0));
+});
+Clazz.overrideMethod (c$, "hashCode", 
+function () {
+return this.value;
+});
+Clazz.overrideMethod (c$, "equals", 
+function (obj) {
+return Clazz.instanceOf (obj, java.awt.Color) && (obj).getRGB () == this.getRGB ();
+}, "~O");
+Clazz.overrideMethod (c$, "toString", 
+function () {
+return this.getClass ().getName () + "[r=" + this.getRed () + ",g=" + this.getGreen () + ",b=" + this.getBlue () + "]";
+});
+c$.decode = Clazz.defineMethod (c$, "decode", 
+function (nm) {
+var intval = Integer.decode (nm);
+var i = intval.intValue ();
+return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF);
+}, "~S");
+c$.getColor = Clazz.defineMethod (c$, "getColor", 
+function (nm) {
+return java.awt.Color.getColor (nm, null);
+}, "~S");
+c$.getColor = Clazz.defineMethod (c$, "getColor", 
+function (nm, v) {
+var intval = Integer.getInteger (nm);
+if (intval == null) {
+return v;
+}var i = intval.intValue ();
+return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, i & 0xFF);
+}, "~S,java.awt.Color");
+c$.getColor = Clazz.defineMethod (c$, "getColor", 
+function (nm, v) {
+var intval = Integer.getInteger (nm);
+var i = (intval != null) ? intval.intValue () : v;
+return  new java.awt.Color ((i >> 16) & 0xFF, (i >> 8) & 0xFF, (i >> 0) & 0xFF);
+}, "~S,~N");
+c$.HSBtoRGB = Clazz.defineMethod (c$, "HSBtoRGB", 
+function (hue, saturation, brightness) {
+var r = 0;
+var g = 0;
+var b = 0;
+if (saturation == 0) {
+r = g = b = Clazz.floatToInt (brightness * 255.0 + 0.5);
+} else {
+var h = (hue - Math.floor (hue)) * 6.0;
+var f = h - java.lang.Math.floor (h);
+var p = brightness * (1.0 - saturation);
+var q = brightness * (1.0 - saturation * f);
+var t = brightness * (1.0 - (saturation * (1.0 - f)));
+switch (Clazz.floatToInt (h)) {
+case 0:
+r = Clazz.floatToInt (brightness * 255.0 + 0.5);
+g = Clazz.floatToInt (t * 255.0 + 0.5);
+b = Clazz.floatToInt (p * 255.0 + 0.5);
+break;
+case 1:
+r = Clazz.floatToInt (q * 255.0 + 0.5);
+g = Clazz.floatToInt (brightness * 255.0 + 0.5);
+b = Clazz.floatToInt (p * 255.0 + 0.5);
+break;
+case 2:
+r = Clazz.floatToInt (p * 255.0 + 0.5);
+g = Clazz.floatToInt (brightness * 255.0 + 0.5);
+b = Clazz.floatToInt (t * 255.0 + 0.5);
+break;
+case 3:
+r = Clazz.floatToInt (p * 255.0 + 0.5);
+g = Clazz.floatToInt (q * 255.0 + 0.5);
+b = Clazz.floatToInt (brightness * 255.0 + 0.5);
+break;
+case 4:
+r = Clazz.floatToInt (t * 255.0 + 0.5);
+g = Clazz.floatToInt (p * 255.0 + 0.5);
+b = Clazz.floatToInt (brightness * 255.0 + 0.5);
+break;
+case 5:
+r = Clazz.floatToInt (brightness * 255.0 + 0.5);
+g = Clazz.floatToInt (p * 255.0 + 0.5);
+b = Clazz.floatToInt (q * 255.0 + 0.5);
+break;
+}
+}return 0xff000000 | (r << 16) | (g << 8) | (b << 0);
+}, "~N,~N,~N");
+c$.RGBtoHSB = Clazz.defineMethod (c$, "RGBtoHSB", 
+function (r, g, b, hsbvals) {
+var hue;
+var saturation;
+var brightness;
+if (hsbvals == null) {
+hsbvals =  Clazz.newFloatArray (3, 0);
+}var cmax = (r > g) ? r : g;
+if (b > cmax) cmax = b;
+var cmin = (r < g) ? r : g;
+if (b < cmin) cmin = b;
+brightness = (cmax) / 255.0;
+if (cmax != 0) saturation = ((cmax - cmin)) / (cmax);
+ else saturation = 0;
+if (saturation == 0) hue = 0;
+ else {
+var redc = ((cmax - r)) / ((cmax - cmin));
+var greenc = ((cmax - g)) / ((cmax - cmin));
+var bluec = ((cmax - b)) / ((cmax - cmin));
+if (r == cmax) hue = bluec - greenc;
+ else if (g == cmax) hue = 2.0 + redc - bluec;
+ else hue = 4.0 + greenc - redc;
+hue = hue / 6.0;
+if (hue < 0) hue = hue + 1.0;
+}hsbvals[0] = hue;
+hsbvals[1] = saturation;
+hsbvals[2] = brightness;
+return hsbvals;
+}, "~N,~N,~N,~A");
+c$.getHSBColor = Clazz.defineMethod (c$, "getHSBColor", 
+function (h, s, b) {
+return  new java.awt.Color (java.awt.Color.HSBtoRGB (h, s, b));
+}, "~N,~N,~N");
+Clazz.defineMethod (c$, "getRGBComponents", 
+function (compArray) {
+var f;
+if (compArray == null) {
+f =  Clazz.newFloatArray (4, 0);
+} else {
+f = compArray;
+}if (this.frgbvalue == null) {
+f[0] = (this.getRed ()) / 255;
+f[1] = (this.getGreen ()) / 255;
+f[2] = (this.getBlue ()) / 255;
+f[3] = (this.getAlpha ()) / 255;
+} else {
+f[0] = this.frgbvalue[0];
+f[1] = this.frgbvalue[1];
+f[2] = this.frgbvalue[2];
+f[3] = this.falpha;
+}return f;
+}, "~A");
+Clazz.defineMethod (c$, "getRGBColorComponents", 
+function (compArray) {
+var f;
+if (compArray == null) {
+f =  Clazz.newFloatArray (3, 0);
+} else {
+f = compArray;
+}if (this.frgbvalue == null) {
+f[0] = (this.getRed ()) / 255;
+f[1] = (this.getGreen ()) / 255;
+f[2] = (this.getBlue ()) / 255;
+} else {
+f[0] = this.frgbvalue[0];
+f[1] = this.frgbvalue[1];
+f[2] = this.frgbvalue[2];
+}return f;
+}, "~A");
+Clazz.overrideMethod (c$, "createContext", 
+function (cm, r, r2d, xform, hints) {
+if (this.context == null || this.context.getRGB () != this.getRGB ()) {
+this.context =  new java.awt.ColorPaintContext (this.getRGB (), cm);
+}return this.context;
+}, "java.awt.image.ColorModel,java.awt.Rectangle,java.awt.geom.Rectangle2D,java.awt.geom.AffineTransform,java.awt.RenderingHints");
+Clazz.overrideMethod (c$, "getTransparency", 
+function () {
+var alpha = this.getAlpha ();
+if (alpha == 0xff) {
+return 1;
+} else if (alpha == 0) {
+return 2;
+} else {
+return 3;
+}});
+c$.white = c$.prototype.white =  new java.awt.Color (255, 255, 255);
+c$.WHITE = c$.prototype.WHITE = java.awt.Color.white;
+c$.lightGray = c$.prototype.lightGray =  new java.awt.Color (192, 192, 192);
+c$.LIGHT_GRAY = c$.prototype.LIGHT_GRAY = java.awt.Color.lightGray;
+c$.gray = c$.prototype.gray =  new java.awt.Color (128, 128, 128);
+c$.GRAY = c$.prototype.GRAY = java.awt.Color.gray;
+c$.darkGray = c$.prototype.darkGray =  new java.awt.Color (64, 64, 64);
+c$.DARK_GRAY = c$.prototype.DARK_GRAY = java.awt.Color.darkGray;
+c$.black = c$.prototype.black =  new java.awt.Color (0, 0, 0);
+c$.BLACK = c$.prototype.BLACK = java.awt.Color.black;
+c$.red = c$.prototype.red =  new java.awt.Color (255, 0, 0);
+c$.RED = c$.prototype.RED = java.awt.Color.red;
+c$.pink = c$.prototype.pink =  new java.awt.Color (255, 175, 175);
+c$.PINK = c$.prototype.PINK = java.awt.Color.pink;
+c$.orange = c$.prototype.orange =  new java.awt.Color (255, 200, 0);
+c$.ORANGE = c$.prototype.ORANGE = java.awt.Color.orange;
+c$.yellow = c$.prototype.yellow =  new java.awt.Color (255, 255, 0);
+c$.YELLOW = c$.prototype.YELLOW = java.awt.Color.yellow;
+c$.green = c$.prototype.green =  new java.awt.Color (0, 255, 0);
+c$.GREEN = c$.prototype.GREEN = java.awt.Color.green;
+c$.magenta = c$.prototype.magenta =  new java.awt.Color (255, 0, 255);
+c$.MAGENTA = c$.prototype.MAGENTA = java.awt.Color.magenta;
+c$.cyan = c$.prototype.cyan =  new java.awt.Color (0, 255, 255);
+c$.CYAN = c$.prototype.CYAN = java.awt.Color.cyan;
+c$.blue = c$.prototype.blue =  new java.awt.Color (0, 0, 255);
+c$.BLUE = c$.prototype.BLUE = java.awt.Color.blue;
+Clazz.defineStatics (c$,
+"FACTOR", 0.7);
+});