rewrote the fill tween for linear and radial gradients