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.