toCss method

String toCss()

Convert to CSS gradient string.

Implementation

String toCss() {
  final sorted = List<NiceGradientStop>.from(stops)
    ..sort((a, b) => a.position.compareTo(b.position));
  final stopsStr = sorted
      .map((s) =>
          '#${(s.color.toARGB32() & 0xFFFFFF).toRadixString(16).padLeft(6, '0')} ${(s.position * 100).round()}%')
      .join(', ');

  final prefix = repeating ? 'repeating-' : '';
  switch (type) {
    case NiceGradientType.linear:
      return '${prefix}linear-gradient(${angle.round()}deg, $stopsStr)';
    case NiceGradientType.radial:
      return '${prefix}radial-gradient(circle, $stopsStr)';
    case NiceGradientType.conic:
      return '${prefix}conic-gradient($stopsStr)';
  }
}