GtkOverlay is a container which contains a single main child, on top of which it can place “overlay” widgets.
The position of each overlay widget is determined by its halign and valign properties. E.g. a widget with both alignments set to gtk_align_start will be placed at the top left corner of the GtkOverlay container, whereas an overlay with halign set to gtk_align_center and valign set to gtk_align_end will be placed a the bottom edge of the GtkOverlay, horizontally centered. The position can be adjusted by setting the margin properties of the child to non-zero values.
More complicated placement of overlays is possible by connecting to the get_child_position signal.
An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes.
GtkOverlay as GtkBuildable
The GtkOverlay implementation of the GtkBuildable interface supports placing a child as an overlay by specifying “overlay” as the “type” attribute of a `<child>` element.
GtkOverlay has a single CSS node with the name “overlay”. Overlay children whose alignments cause them to be positioned at an edge get the style classes “.left”, “.right”, “.top”, and/or “.bottom” according to their position.