labelsViewerElementFromNums static method

ViewerElement<List<Label<num>>> labelsViewerElementFromNums(
  1. List labels, [
  2. Color? color,
  3. int? strokeSize
])

Converts a List if labels to ViewerElement< List<Label<num>> >.

color Optional color to render the element. strokeSize Optional stroke size to render the element.

Implementation

static ViewerElement<List<Label<num>>> labelsViewerElementFromNums(
    List labels,
    [Color? color,
    int? strokeSize]) {
  var mapped = labels.map((e) {
    if (e is Map) {
      return Label<num>(
          e['label'] ?? e['title'] ?? e['name'] ?? e['id'],
          parseNum(e['x'] ?? e['left'])!,
          parseNum(e['y'] ?? e['top'])!,
          parseNum(e['width'] ?? e['w'])!,
          parseNum(e['height'] ?? e['h'])!);
    } else if (e is List) {
      return Label<num>(parseString(e[0])!, parseNum(e[1])!, parseNum(e[2])!,
          parseNum(e[3])!, parseNum(e[4])!);
    } else if (e is String) {
      var list = parseStringFromInlineList(e)!;
      var label = list.removeAt(0);
      var ns = parseNumsFromList(list);
      return Label<num>(label, parseNum(ns[0])!, parseNum(ns[1])!,
          parseNum(ns[2])!, parseNum(ns[3])!);
    } else {
      throw ArgumentError('Invalid rectangles parameter: $labels');
    }
  }).toList();

  return labelsViewerElement(mapped, color, strokeSize);
}