- rGradient = new ColorGradient(new ColorValue[]{\r
- new ColorValue(new Color(0,color.getG(),color.getB()),0.0),\r
- new ColorValue(new Color(255,color.getG(),color.getB()),1.0)});\r
- gGradient = new ColorGradient(new ColorValue[]{\r
- new ColorValue(new Color(color.getR(),0,color.getB()),0.0),\r
- new ColorValue(new Color(color.getR(),255,color.getB()),1.0)});\r
- bGradient = new ColorGradient(new ColorValue[]{\r
- new ColorValue(new Color(color.getR(),color.getG(),0),0.0),\r
- new ColorValue(new Color(color.getR(),color.getG(),255),1.0)});\r
+ if (dynamic) {\r
+ rGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0,color.getG(),color.getB()),0.0),\r
+ new ColorValue(new Color(255,color.getG(),color.getB()),1.0)});\r
+ gGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getR(),0,color.getB()),0.0),\r
+ new ColorValue(new Color(color.getR(),255,color.getB()),1.0)});\r
+ bGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getR(),color.getG(),0),0.0),\r
+ new ColorValue(new Color(color.getR(),color.getG(),255),1.0)});\r
+ // hue is interpolated along the shortest route, using just 0 and 360 would result in constant color. \r
+ hGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0.0,color.getS(),color.getV()),0.0),\r
+ new ColorValue(new Color(90.0,color.getS(),color.getV()),0.25),\r
+ new ColorValue(new Color(180.0,color.getS(),color.getV()),0.5),\r
+ new ColorValue(new Color(270.0,color.getS(),color.getV()),0.75),\r
+ new ColorValue(new Color(360.0,color.getS(),color.getV()),1.0)}, ColorGradient.HSV);\r
+ sGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getH(),0.0,color.getV()),0.0),\r
+ new ColorValue(new Color(color.getH(),1.0,color.getV()),1.0)}, ColorGradient.HSV);\r
+ vGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getH(),color.getS(),0.0),0.0),\r
+ new ColorValue(new Color(color.getH(),color.getS(),1.0),1.0)}, ColorGradient.HSV);\r
+ } else {\r
+ rGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0,0,0),0.0),\r
+ new ColorValue(new Color(255,0,0),1.0)});\r
+ gGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0,0,0),0.0),\r
+ new ColorValue(new Color(0,255,0),1.0)});\r
+ bGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0,0,0),0.0),\r
+ new ColorValue(new Color(0,0,255),1.0)});\r
+ // hue is interpolated along the shortest route, using just 0 and 360 would result in constant color. \r
+ hGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(0.0,1.0,1.0),0.0),\r
+ new ColorValue(new Color(90.0,1.0,1.0),0.25),\r
+ new ColorValue(new Color(180.0,1.0,1.0),0.5),\r
+ new ColorValue(new Color(270.0,1.0,1.0),0.75),\r
+ new ColorValue(new Color(360.0,1.0,1.0),1.0)}, ColorGradient.HSV);\r
+ sGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getH(),0.0,1.0),0.0),\r
+ new ColorValue(new Color(color.getH(),1.0,1.0),1.0)}, ColorGradient.HSV);\r
+ vGradient = new ColorGradient(new ColorValue[]{\r
+ new ColorValue(new Color(color.getH(),1.0,0.0),0.0),\r
+ new ColorValue(new Color(color.getH(),1.0,1.0),1.0)}, ColorGradient.HSV);\r
+ }\r
+ \r