protected Color deriveColor(Color src,float hOffset,float sOffset,float bOffset,int aOffset){
  float[] tmp=Color.RGBtoHSB(src.getRed(),src.getGreen(),src.getBlue(),null);
  tmp[0]=clamp(tmp[0] + hOffset);
  tmp[1]=clamp(tmp[1] + sOffset);
  tmp[2]=clamp(tmp[2] + bOffset);
  int alpha=clamp(src.getAlpha() + aOffset);
  return new Color((Color.HSBtoRGB(tmp[0],tmp[1],tmp[2]) & 0xFFFFFF) | (alpha << 24),true);
}

protected Color deriveColor ( Color src , float hOffset , float sOffset , float bOffset , int aOffset ) { float [ ] tmp = Color . RGBtoHSB ( src . getRed ( ) , src . getGreen ( ) , src . getBlue ( ) , null ) ; tmp [ 0 ] = clamp ( tmp [ 0 ] + hOffset ) ; tmp [ 1 ] = clamp ( tmp [ 1 ] + sOffset ) ; tmp [ 2 ] = clamp ( tmp [ 2 ] + bOffset ) ; int alpha = clamp ( src . getAlpha ( ) + aOffset ) ; return new Color ( ( Color . HSBtoRGB ( tmp [ 0 ] , tmp [ 1 ] , tmp [ 2 ] ) & 0xFFFFFF ) | ( alpha << 24 ) , true ) ; }
derive and returns a color , which is based on an existing color .
