[gtk+/native-layout] Now gtk_extended_layout_get_desired_size() returns a minimum for minimum in the minimum requisition
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/native-layout] Now gtk_extended_layout_get_desired_size() returns a minimum for minimum in the minimum requisition
- Date: Sun, 18 Apr 2010 02:57:41 +0000 (UTC)
commit 8b57ad94c0e8fb09de4dcde71c53e57fef55299f
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sat Apr 17 22:52:27 2010 -0400
Now gtk_extended_layout_get_desired_size() returns a minimum for minimum in the minimum requisition and a natural for minimum in the natural.
gtk/gtkextendedlayout.c | 43 +++++++++++++++++++++++--------------------
1 files changed, 23 insertions(+), 20 deletions(-)
---
diff --git a/gtk/gtkextendedlayout.c b/gtk/gtkextendedlayout.c
index 0ca1658..f08fced 100644
--- a/gtk/gtkextendedlayout.c
+++ b/gtk/gtkextendedlayout.c
@@ -32,7 +32,7 @@
#define DEBUG_EXTENDED_LAYOUT 0
/* With extended layout, a widget may be requested
- * its width for 2 or 3 heights in one resize
+ * its width for 2 or maximum 3 heights in one resize
*/
#define N_CACHED_SIZES 3
@@ -191,22 +191,18 @@ compute_size_for_orientation (GtkExtendedLayout *layout,
requisition_size = widget->requisition.width;
if (for_size < 0)
- GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->
- get_desired_width (layout, &min_size, &nat_size);
+ GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->get_desired_width (layout, &min_size, &nat_size);
else
- GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->
- get_width_for_height (layout, for_size, &min_size, &nat_size);
+ GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->get_width_for_height (layout, for_size, &min_size, &nat_size);
}
else
{
requisition_size = widget->requisition.height;
if (for_size < 0)
- GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->
- get_desired_height (layout, &min_size, &nat_size);
+ GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->get_desired_height (layout, &min_size, &nat_size);
else
- GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->
- get_height_for_width (layout, for_size, &min_size, &nat_size);
+ GTK_EXTENDED_LAYOUT_GET_IFACE (layout)->get_height_for_width (layout, for_size, &min_size, &nat_size);
}
/* Support for dangling "size-request" signals and forward derived
@@ -241,6 +237,7 @@ compute_size_for_orientation (GtkExtendedLayout *layout,
group_size =
_gtk_size_group_bump_requisition (GTK_WIDGET (layout),
orientation, cached_size->minimum_size);
+
cached_size->minimum_size = MAX (cached_size->minimum_size, group_size);
cached_size->natural_size = MAX (cached_size->natural_size, group_size);
}
@@ -258,7 +255,7 @@ compute_size_for_orientation (GtkExtendedLayout *layout,
g_message ("%s size for orientation %s: %d is minimum %d and natural: %d",
G_OBJECT_TYPE_NAME (layout),
orientation == GTK_SIZE_GROUP_HORIZONTAL ? "horizontal" : "vertical",
- height,
+ for_size,
cached_size->minimum_size,
cached_size->natural_size);
#endif
@@ -402,12 +399,18 @@ gtk_extended_layout_get_desired_size (GtkExtendedLayout *layout,
if (gtk_extended_layout_is_height_for_width (layout))
{
gtk_extended_layout_get_desired_width (layout, &min_width, &nat_width);
- gtk_extended_layout_get_height_for_width (layout, nat_width, &min_height, &nat_height);
+ gtk_extended_layout_get_height_for_width (layout, min_width, &min_height, &nat_height);
+
+#if DEBUG_EXTENDED_LAYOUT
+ g_message ("%s get_desired_size min height: %d for natural width: %d",
+ G_OBJECT_TYPE_NAME (layout),
+ min_height, nat_width);
+#endif
/* The minimum size here is the minimum height for the natrual width */
if (minimum_size)
{
- minimum_size->width = nat_width;
+ minimum_size->width = min_width;
minimum_size->height = min_height;
}
@@ -415,13 +418,19 @@ gtk_extended_layout_get_desired_size (GtkExtendedLayout *layout,
else
{
gtk_extended_layout_get_desired_height (layout, &min_height, &nat_height);
- gtk_extended_layout_get_height_for_width (layout, nat_height, &min_width, &nat_width);
+ gtk_extended_layout_get_height_for_width (layout, min_height, &min_width, &nat_width);
+
+#if DEBUG_EXTENDED_LAYOUT
+ g_message ("%s get_desired_size min width: %d for natural height: %d",
+ G_OBJECT_TYPE_NAME (layout),
+ min_width, nat_height);
+#endif
/* The minimum size here is the minimum width for the natrual height */
if (minimum_size)
{
minimum_size->width = min_width;
- minimum_size->height = nat_height;
+ minimum_size->height = min_height;
}
}
@@ -430,12 +439,6 @@ gtk_extended_layout_get_desired_size (GtkExtendedLayout *layout,
natural_size->width = nat_width;
natural_size->height = nat_height;
}
-
-
-#if DEBUG_EXTENDED_LAYOUT
- g_message ("get_desired_size called on a %s; minimum width: %d natural width: %d minimum height %d natural height %d",
- G_OBJECT_TYPE_NAME (layout), min_width, nat_width, min_height, nat_height);
-#endif
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]