toSegments method
Convert this range to segments of single lines.
Implementation
@override
Iterable<BufferSegment> toSegments() sync* {
var begin = this.begin;
var end = this.end;
if (!isNormalized) {
end = this.begin;
begin = this.end;
}
final startX = min(begin.x, end.x);
final endX = max(begin.x, end.x);
for (var i = begin.y; i <= end.y; i++) {
yield BufferSegment(this, i, startX, endX);
}
}