rectsForRange method
Implementation
List<Rect> rectsForRange(int start, int end) {
final List<Rect> rects = <Rect>[];
int cursor = 0;
for (final UDocTextRun run in runs) {
final int runEnd = cursor + run.text.length;
if (runEnd > start && cursor < end) {
final int localStart = start > cursor ? start - cursor : 0;
final int localEnd = end < runEnd ? end - cursor : run.text.length;
rects.add(_glyphUnion(run, localStart, localEnd));
}
cursor = runEnd + 1;
}
return rects;
}