public void rederiveColor(){
  Color src=UIManager.getColor(uiDefaultParentName);
  if (src != null) {
    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);
    argbValue=(Color.HSBtoRGB(tmp[0],tmp[1],tmp[2]) & 0xFFFFFF) | (alpha << 24);
  }
 else {
    float[] tmp=new float[3];
    tmp[0]=clamp(hOffset);
    tmp[1]=clamp(sOffset);
    tmp[2]=clamp(bOffset);
    int alpha=clamp(aOffset);
    argbValue=(Color.HSBtoRGB(tmp[0],tmp[1],tmp[2]) & 0xFFFFFF) | (alpha << 24);
  }
}

public void rederiveColor ( ) { Color src = UIManager . getColor ( uiDefaultParentName ) ; if ( src != null ) { 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 ) ; argbValue = ( Color . HSBtoRGB ( tmp [ 0 ] , tmp [ 1 ] , tmp [ 2 ] ) & 0xFFFFFF ) | ( alpha << 24 ) ; } else { float [ ] tmp = new float [ 3 ] ; tmp [ 0 ] = clamp ( hOffset ) ; tmp [ 1 ] = clamp ( sOffset ) ; tmp [ 2 ] = clamp ( bOffset ) ; int alpha = clamp ( aOffset ) ; argbValue = ( Color . HSBtoRGB ( tmp [ 0 ] , tmp [ 1 ] , tmp [ 2 ] ) & 0xFFFFFF ) | ( alpha << 24 ) ; } }
recalculate the derived color from the uimanager parent color and offsets
