Method

GtkContainerpropagate_draw

Declaration [src]

void
gtk_container_propagate_draw (
  GtkContainer* container,
  GtkWidget* child,
  cairo_t* cr
)

Description [src]

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.

Parameters

child GtkWidget
 

A child of container.

 The data is owned by the caller of the function.
cr cairo_t
 

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.

 The data is owned by the caller of the function.