A definition for a smooth transition between colors, controlled by a custom function you provide, for drawing radial and axial gradient fills.
Shading means to fill using a smooth transition between colors across an area. You create a shading using a custom function with a
CGFunction object. To paint with a Core Graphics shading, you call
drawShading(_:). This function fills the current clipping path using the specified color gradient, calling your parametric function repeatedly as it draws.