Advanced gradients

It'd be useful to have a switch/slider that changes the colour distribution in the gradient (i.e. linear, log, etc.), sort of like the Offset slider but that keeps the endpoints in-place and instead affects which side the gradient is "leaning" towards. For example the colour shift could start slow and then ramp up towards the other end, and vice versa.