getBorder method
Implementation
List<Vec2> getBorder() {
var border = <Vec2>[];
if (this == Rect.nill || size.x == 0 || size.y == 0) return border;
// TODO: address rects that are single rows or columns
// top
for (var x = left; x < right - 1; x++) {
border.add(Vec2(x, top));
}
// right
for (var y = top; y < bottom - 1; y++) {
border.add(Vec2(right - 1, y));
}
// bottom
for (var x = right - 1; x >= left; x--) {
border.add(Vec2(x, bottom - 1));
}
// left
for (var y = bottom - 1; y >= top; y--) {
border.add(Vec2(left, y));
}
return border;
}