Container.propagateDraw

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.

class Container
void
propagateDraw

Parameters

child gtk.widget.Widget

a child of container

cr cairo.context.Context

Cairo context as passed to the container. If you want to use cr in container’s draw function, consider using cairo.context.Context.save and cairo.context.Context.restore before calling this function.