createShader method
- @override
override
    Creates a Shader for this gradient to fill the given rect.
If the gradient's configuration is text-direction-dependent, for example
it uses AlignmentDirectional objects instead of Alignment
objects, then the textDirection argument must not be null.
Implementation
@override
Shader createShader(Rect rect, { TextDirection textDirection }) {
  return ui.Gradient.sweep(
    center.resolve(textDirection).withinRect(rect),
    colors, _impliedStops(), tileMode,
    startAngle,
    endAngle,
  );
}