Gradient.linear constructor
Creates a linear gradient from from to to.
If colorStops is provided, colorStops[i] is a number from 0.0 to 1.0
that specifies where color[i] begins in the gradient. If colorStops is
not provided, then only two stops, at 0.0 and 1.0, are implied (and
color must therefore only have two entries).
The behavior before from and after to is described by the tileMode
argument. For details, see the TileMode enum.

If from, to, colors, or tileMode are null, or if colors or
colorStops contain null values, this constructor will throw a
NoSuchMethodError.
Implementation
Gradient.linear(
Offset from,
Offset to,
List<Color> colors, [
List<double> colorStops,
TileMode tileMode = TileMode.clamp,
]) : assert(_offsetIsValid(from)),
assert(_offsetIsValid(to)),
assert(colors != null),
assert(tileMode != null),
super._() {
_validateColorStops(colors, colorStops);
final Float32List endPointsBuffer = _encodeTwoPoints(from, to);
final Int32List colorsBuffer = _encodeColorList(colors);
final Float32List colorStopsBuffer = colorStops == null ? null : new Float32List.fromList(colorStops);
_constructor();
_initLinear(endPointsBuffer, colorsBuffer, colorStopsBuffer, tileMode.index);
}