summaryrefslogtreecommitdiff
path: root/gtk/gtksizerequest.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2013-04-22 17:37:05 -0400
committerBenjamin Otte <otte@redhat.com>2013-04-22 18:29:01 -0400
commit3450388ff03794ef4c4e7c24e91bfb40798dbec5 (patch)
tree5e1ac6eb992437e320d57f466e481e831b9d1b53 /gtk/gtksizerequest.c
parent009aadf378150c32aed9347bbffffda2ca0af6f2 (diff)
downloadgtk+-3450388ff03794ef4c4e7c24e91bfb40798dbec5.tar.gz
sizerequest: Split out a common function
Diffstat (limited to 'gtk/gtksizerequest.c')
-rw-r--r--gtk/gtksizerequest.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
index 54a63f1338..36d24f2f0c 100644
--- a/gtk/gtksizerequest.c
+++ b/gtk/gtksizerequest.c
@@ -657,3 +657,26 @@ gtk_distribute_natural_allocation (gint extra_space,
return extra_space;
}
+
+void
+_gtk_widget_get_preferred_size_for_size (GtkWidget *widget,
+ GtkOrientation orientation,
+ gint size,
+ gint *minimum,
+ gint *natural)
+{
+ g_return_if_fail (GTK_IS_WIDGET (widget));
+ g_return_if_fail (size >= -1);
+
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ if (size < 0)
+ gtk_widget_get_preferred_width (widget, minimum, natural);
+ else
+ gtk_widget_get_preferred_width_for_height (widget, size, minimum, natural);
+ else
+ if (size < 0)
+ gtk_widget_get_preferred_height (widget, minimum, natural);
+ else
+ gtk_widget_get_preferred_height_for_width (widget, size, minimum, natural);
+}
+