activeAt method

List<USubtitleCue> activeAt(
  1. Duration time, {
  2. Duration delay = Duration.zero,
  3. double scale = 1,
})

Implementation

List<USubtitleCue> activeAt(Duration time, {Duration delay = Duration.zero, double scale = 1}) {
  final Duration target = _adjust(time, delay, scale);
  final int index = _floorIndex(target);
  if (index < 0) return const <USubtitleCue>[];
  final List<USubtitleCue> result = <USubtitleCue>[];
  for (int i = index; i >= 0 && i > index - 12; i--) {
    final USubtitleCue cue = cues[i];
    if (cue.contains(target)) result.add(cue);
  }
  if (result.length > 1) result.sort((USubtitleCue a, USubtitleCue b) => a.layer.compareTo(b.layer));
  return result;
}