When a container receives a call to the draw function, it must send synthetic draw calls to all children that don’t have their own gdk.Windows This function provides a convenient way of doing this. A container, when it receives a call to its draw function, calls Container.propagateDraw once for each child, passing in the cr the container received.

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 Widget.draw on the child directly.

In most cases, a container can simply either inherit the draw implementation from gtk.Container, or do some drawing and then chain to the ::draw implementation from gtk.Container

class Container


child Widget

a child of container

cr Context

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.