Note, when implementing a layout container: a widget’s allocation
will be its “adjusted” allocation, that is, the widget’s parent
typically calls [method@Gtk.Widget.size_allocate] with an allocation,
and that allocation is then adjusted (to handle margin
and alignment for example) before assignment to the widget.
[method@Gtk.Widget.get_allocation] returns the adjusted allocation that
was actually assigned to the widget. The adjusted allocation is
guaranteed to be completely contained within the
[method@Gtk.Widget.size_allocate] allocation, however.
So a layout container is guaranteed that its children stay inside
the assigned bounds, but not that they have exactly the bounds the
container assigned.
Retrieves the widget’s allocation.
Note, when implementing a layout container: a widget’s allocation will be its “adjusted” allocation, that is, the widget’s parent typically calls [method@Gtk.Widget.size_allocate] with an allocation, and that allocation is then adjusted (to handle margin and alignment for example) before assignment to the widget. [method@Gtk.Widget.get_allocation] returns the adjusted allocation that was actually assigned to the widget. The adjusted allocation is guaranteed to be completely contained within the [method@Gtk.Widget.size_allocate] allocation, however.
So a layout container is guaranteed that its children stay inside the assigned bounds, but not that they have exactly the bounds the container assigned.