GtkLayout Infinite scrollable area containing child widgets and/or custom drawing #GtkLayout is similar to #GtkDrawingArea in that it's a "blank slate" and doesn't do anything but paint a blank background by default. It's different in that it supports scrolling natively (you can add it to a #GtkScrolledWindow), and it can contain child widgets, since it's a #GtkContainer. However if you're just going to draw, a #GtkDrawingArea is a better choice since it has lower overhead. When handling expose events on a #GtkLayout, you must draw to GTK_LAYOUT (layout)->bin_window, rather than to GTK_WIDGET (layout)->window, as you would for a drawing area. #GtkDrawingArea, #GtkScrolledWindow @bin_window: @hadjustment: @vadjustment: @Returns: @layout: @child_widget: @x: @y: @widget: @layout: @child_widget: @x: @y: @widget: @layout: @width: @height: @layout: @width: @height: @layout: @layout: @layout: @Returns: @layout: @Returns: @layout: @adjustment: @layout: @adjustment: @layout: the object which received the signal. @arg1: @arg2: Horizontal scroll adjustment, see gtk_layout_set_hadjustment() Vertical scroll adjustment, see gtk_layout_set_vadjustment() Layout width, see gtk_layout_set_size() Layout height, see gtk_layout_set_size()