support simple gradients or a single color