The width and height of a Rect can be negative; Clutter considers a rectangle with an origin of [ 0.0, 0.0 ] and a
size of [ 10.0, 10.0 ] to be equivalent to a rectangle with origin of [ 10.0, 10.0 ] and size of [ -10.0, -10.0 ].
Application code can normalize rectangles using normalize: this function
will ensure that the width and height of a Rect are positive values. All functions taking a
Rect as an argument will implicitly normalize it before computing eventual results. For this reason it is safer to access the contents
of a Rect by using the provided API at all times, instead of directly accessing the structure members.
Rounds the origin of this downwards to the
nearest integer, and rounds the size of this upwards to the nearest integer, so that
this is updated to the smallest rectangle capable of fully containing the original, fractional rectangle.