When a container receives a call to the draw function, it must send
synthetic #GtkWidget::draw calls to all children that don’t have their
own #GdkWindows. This function provides a convenient way of doing this.
A container, when it receives a call to its #GtkWidget::draw function,
calls gtk_container_propagate_draw() once for each child, passing in
the @cr the container received.
gtk_container_propagate_draw() takes care of translating the origin of @cr,
and deciding whether the draw needs to be sent to the child. It is a
convenient and optimized way of getting the same effect as calling
gtk_widget_draw() on the child directly.
In most cases, a container can simply either inherit the
#GtkWidget::draw implementation from #GtkContainer, or do some drawing
and then chain to the ::draw implementation from #GtkContainer.
Cairo context as passed to the container. If you want to use @cr
in container’s draw function, consider using cairo_save() and
cairo_restore() before calling this function.
When a container receives a call to the draw function, it must send synthetic #GtkWidget::draw calls to all children that don’t have their own #GdkWindows. This function provides a convenient way of doing this. A container, when it receives a call to its #GtkWidget::draw function, calls gtk_container_propagate_draw() once for each child, passing in the @cr the container received.
gtk_container_propagate_draw() takes care of translating the origin of @cr, and deciding whether the draw needs to be sent to the child. It is a convenient and optimized way of getting the same effect as calling gtk_widget_draw() on the child directly.
In most cases, a container can simply either inherit the #GtkWidget::draw implementation from #GtkContainer, or do some drawing and then chain to the ::draw implementation from #GtkContainer.