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.Container.propagateDraw once for each child, passing in
the cr the container received.
gtk.container.Container.propagateDraw 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.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.
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.Container.propagateDraw once for each child, passing in the cr the container received.
gtk.container.Container.propagateDraw 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.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.