@override Point<T> get topLeft => Point<T>(left, top);
set topLeft(Point<T> point) { width = width + left - point.x as T; height = height + top - point.y as T; left = point.x; top = point.y; }