+ return GTK_WIDGET_VISIBLE(parent) && need_resize;
+}
+
+void aspect_bin_set_body(AspectBin *abin, GtkWidget *widget, gfloat ratio)
+{
+ g_return_if_fail(IS_ASPECT_BIN(abin));
+ g_return_if_fail(widget == NULL || GTK_IS_WIDGET(widget));
+ g_return_if_fail(widget == NULL || widget->parent == NULL);
+
+ if (set_widget(&abin->body, GTK_WIDGET(abin), widget))
+ gtk_widget_queue_resize(GTK_WIDGET(abin));
+}
+
+void aspect_bin_set_side(AspectBin *abin, GtkWidget *widget)
+{
+ g_return_if_fail(IS_ASPECT_BIN(abin));
+ g_return_if_fail(widget == NULL || GTK_IS_WIDGET(widget));
+ g_return_if_fail(widget == NULL || widget->parent == NULL);
+
+ if (set_widget(&abin->side, GTK_WIDGET(abin), widget))