[gnome-shell] Bug 573322 - Do box layout in int
- From: Colin Walters <walters src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-shell] Bug 573322 - Do box layout in int
- Date: Tue, 28 Apr 2009 13:04:32 -0400 (EDT)
commit 59b12687d40fe9876c4e8898a5edd4f8cb9dca9f
Author: Colin Walters <walters verbum org>
Date: Wed Apr 22 16:43:46 2009 -0400
Bug 573322 - Do box layout in int
This fixes some centering issues, e.g. in the search area.
This patch is from Havoc Pennington.
---
src/big/box.c | 417 +++++++++++++++++++++++++++++----------------------------
1 files changed, 211 insertions(+), 206 deletions(-)
diff --git a/src/big/box.c b/src/big/box.c
index 2315490..3c0bf1b 100644
--- a/src/big/box.c
+++ b/src/big/box.c
@@ -2,7 +2,7 @@
/* big-box.c: Box container.
Copyright (C) 2006-2008 Red Hat, Inc.
- Copyright (C) 2008 litl, LLC.
+ Copyright (C) 2008-2009 litl, LLC.
The libbigwidgets-lgpl is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -20,8 +20,6 @@
Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <math.h>
-
#include <glib.h>
#include <clutter/clutter.h>
@@ -93,16 +91,16 @@ struct _BigBoxPrivate
BigBoxOrientation orientation;
BigBoxAlignment x_align;
BigBoxAlignment y_align;
- ClutterUnit spacing;
- ClutterUnit padding_top;
- ClutterUnit padding_bottom;
- ClutterUnit padding_left;
- ClutterUnit padding_right;
- ClutterUnit border_top;
- ClutterUnit border_bottom;
- ClutterUnit border_left;
- ClutterUnit border_right;
- ClutterUnit corner_radius;
+ int spacing;
+ int padding_top;
+ int padding_bottom;
+ int padding_left;
+ int padding_right;
+ int border_top;
+ int border_bottom;
+ int border_left;
+ int border_right;
+ int corner_radius;
ClutterColor border_color;
guint background_border_top;
guint background_border_bottom;
@@ -136,9 +134,9 @@ typedef struct
typedef struct
{
- ClutterUnit minimum;
- ClutterUnit natural;
- ClutterUnit adjustment;
+ int minimum;
+ int natural;
+ int adjustment;
guint does_not_fit : 1;
} BigBoxAdjustInfo;
@@ -448,13 +446,13 @@ clutter_container_iface_init (ClutterContainerIface *iface)
static void
big_box_get_bg_texture_allocation (ClutterActor *self,
- ClutterUnit allocated_width,
- ClutterUnit allocated_height,
+ int allocated_width,
+ int allocated_height,
ClutterActorBox *bg_box)
{
BigBoxPrivate *priv;
- ClutterUnit bg_width, bg_height;
- ClutterUnit min_x1, min_y1, max_x2, max_y2;
+ float bg_width, bg_height;
+ int min_x1, min_y1, max_x2, max_y2;
g_return_if_fail (BIG_IS_BOX (self));
@@ -493,7 +491,7 @@ big_box_get_bg_texture_allocation (ClutterActor *self,
break;
case BIG_BOX_ALIGNMENT_CENTER:
- bg_box->x1 = MAX (min_x1, priv->border_left + roundf ((allocated_width - bg_width) / 2));
+ bg_box->x1 = MAX (min_x1, priv->border_left + (allocated_width - bg_width) / 2);
bg_box->x2 = MIN (bg_box->x1 + bg_width, max_x2);
break;
}
@@ -522,7 +520,7 @@ big_box_get_bg_texture_allocation (ClutterActor *self,
break;
case BIG_BOX_ALIGNMENT_CENTER:
- bg_box->y1 = MAX (min_y1, priv->border_top + roundf ((allocated_height - bg_height) / 2));
+ bg_box->y1 = MAX (min_y1, priv->border_top + (allocated_height - bg_height) / 2);
bg_box->y2 = MIN (bg_box->y1 + bg_height, max_y2);
break;
}
@@ -604,8 +602,8 @@ big_box_update_draw_rounded_corner (BigBox *box)
g_object_set (priv->background_rectangle,
"color", &priv->background_color,
"border-color", &priv->border_color,
- "border-width", CLUTTER_UNITS_TO_DEVICE (priv->border_top),
- "corner-radius", CLUTTER_UNITS_TO_DEVICE (priv->corner_radius),
+ "border-width", priv->border_top,
+ "corner-radius", priv->corner_radius,
NULL);
}
}
@@ -736,7 +734,7 @@ big_box_set_property (GObject *gobject,
break;
case PROP_SPACING:
- priv->spacing = CLUTTER_UNITS_FROM_DEVICE (g_value_get_int (value));
+ priv->spacing = g_value_get_int (value);
break;
case PROP_X_ALIGN:
@@ -753,19 +751,19 @@ big_box_set_property (GObject *gobject,
break;
case PROP_PADDING_TOP:
- priv->padding_top = CLUTTER_UNITS_FROM_DEVICE (g_value_get_int (value));
+ priv->padding_top = g_value_get_int (value);
break;
case PROP_PADDING_BOTTOM:
- priv->padding_bottom = CLUTTER_UNITS_FROM_DEVICE (g_value_get_int (value));
+ priv->padding_bottom = g_value_get_int (value);
break;
case PROP_PADDING_LEFT:
- priv->padding_left = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->padding_left = g_value_get_int (value);
break;
case PROP_PADDING_RIGHT:
- priv->padding_right = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->padding_right = g_value_get_int (value);
break;
case PROP_BORDER:
@@ -774,27 +772,27 @@ big_box_set_property (GObject *gobject,
break;
case PROP_BORDER_TOP:
- priv->border_top = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->border_top = g_value_get_int (value);
big_box_update_draw_rounded_corner (BIG_BOX (gobject));
break;
case PROP_BORDER_BOTTOM:
- priv->border_bottom = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->border_bottom = g_value_get_int (value);
big_box_update_draw_rounded_corner (BIG_BOX (gobject));
break;
case PROP_BORDER_LEFT:
- priv->border_left = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->border_left = g_value_get_int (value);
big_box_update_draw_rounded_corner (BIG_BOX (gobject));
break;
case PROP_BORDER_RIGHT:
- priv->border_right = CLUTTER_UNITS_FROM_DEVICE(g_value_get_int (value));
+ priv->border_right = g_value_get_int (value);
big_box_update_draw_rounded_corner (BIG_BOX (gobject));
break;
case PROP_CORNER_RADIUS:
- priv->corner_radius = CLUTTER_UNITS_FROM_DEVICE(g_value_get_uint (value));
+ priv->corner_radius = g_value_get_uint (value);
big_box_update_draw_rounded_corner (BIG_BOX (gobject));
break;
@@ -933,7 +931,7 @@ big_box_get_property (GObject *gobject,
break;
case PROP_SPACING:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->spacing));
+ g_value_set_int (value, priv->spacing);
break;
case PROP_X_ALIGN:
@@ -945,39 +943,39 @@ big_box_get_property (GObject *gobject,
break;
case PROP_PADDING_TOP:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->padding_top));
+ g_value_set_int (value, priv->padding_top);
break;
case PROP_PADDING_BOTTOM:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->padding_bottom));
+ g_value_set_int (value, priv->padding_bottom);
break;
case PROP_PADDING_LEFT:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->padding_left));
+ g_value_set_int (value, priv->padding_left);
break;
case PROP_PADDING_RIGHT:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->padding_right));
+ g_value_set_int (value, priv->padding_right);
break;
case PROP_BORDER_TOP:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->border_top));
+ g_value_set_int (value, priv->border_top);
break;
case PROP_BORDER_BOTTOM:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->border_bottom));
+ g_value_set_int (value, priv->border_bottom);
break;
case PROP_BORDER_LEFT:
- g_value_set_int (value, CLUTTER_UNITS_TO_DEVICE(priv->border_left));
+ g_value_set_int (value, priv->border_left);
break;
case PROP_BORDER_RIGHT:
- g_value_set_int (value,CLUTTER_UNITS_TO_DEVICE(priv->border_right));
+ g_value_set_int (value, priv->border_right);
break;
case PROP_CORNER_RADIUS:
- g_value_set_uint (value,CLUTTER_UNITS_TO_DEVICE (priv->corner_radius));
+ g_value_set_uint (value, priv->corner_radius);
break;
case PROP_BACKGROUND_TEXTURE:
@@ -1068,14 +1066,14 @@ big_box_dispose (GObject *gobject)
static void
big_box_get_content_width_request (ClutterActor *self,
- ClutterUnit *min_width_p,
- ClutterUnit *natural_width_p)
+ int *min_width_p,
+ int *natural_width_p)
{
BigBoxPrivate *priv;
- ClutterUnit total_min;
- ClutterUnit total_natural;
- gint n_children_in_min;
- gint n_children_in_natural;
+ int total_min;
+ int total_natural;
+ int n_children_in_min;
+ int n_children_in_natural;
GList *c;
priv = BIG_BOX (self)->priv;
@@ -1105,10 +1103,10 @@ big_box_get_content_width_request (ClutterActor *self,
&natural_width);
if (priv->debug)
- g_debug ("Child %p min width %d natural %d",
+ g_debug ("Child %p min width %g natural %g",
child->actor,
- CLUTTER_UNITS_TO_DEVICE (min_width),
- CLUTTER_UNITS_TO_DEVICE (natural_width));
+ min_width,
+ natural_width);
n_children_in_natural += 1;
@@ -1157,14 +1155,14 @@ big_box_get_content_width_request (ClutterActor *self,
static void
big_box_get_preferred_width (ClutterActor *self,
- ClutterUnit for_height,
- ClutterUnit *min_width_p,
- ClutterUnit *natural_width_p)
+ float for_height,
+ float *min_width_p,
+ float *natural_width_p)
{
BigBoxPrivate *priv;
- ClutterUnit content_min_width;
- ClutterUnit content_natural_width;
- ClutterUnit outside;
+ int content_min_width;
+ int content_natural_width;
+ int outside;
priv = BIG_BOX (self)->priv;
@@ -1183,25 +1181,25 @@ big_box_get_preferred_width (ClutterActor *self,
if (priv->debug)
{
if (min_width_p)
- g_debug ("Computed minimum width as %d", CLUTTER_UNITS_TO_DEVICE (*min_width_p));
+ g_debug ("Computed minimum width as %g", *min_width_p);
if (natural_width_p)
- g_debug ("Computed natural width as %d", CLUTTER_UNITS_TO_DEVICE (*natural_width_p));
+ g_debug ("Computed natural width as %g", *natural_width_p);
}
}
static void
big_box_get_content_area_horizontal (ClutterActor *self,
- ClutterUnit requested_content_width,
- ClutterUnit natural_content_width,
- ClutterUnit allocated_box_width,
- ClutterUnit *x_p,
- ClutterUnit *width_p)
+ int requested_content_width,
+ int natural_content_width,
+ int allocated_box_width,
+ int *x_p,
+ int *width_p)
{
BigBoxPrivate *priv;
- ClutterUnit left;
- ClutterUnit right;
- ClutterUnit unpadded_box_width;
- ClutterUnit content_width;
+ int left;
+ int right;
+ int unpadded_box_width;
+ int content_width;
priv = BIG_BOX (self)->priv;
@@ -1242,7 +1240,7 @@ big_box_get_content_area_horizontal (ClutterActor *self,
break;
case BIG_BOX_ALIGNMENT_CENTER:
if (x_p)
- *x_p = left + roundf ((unpadded_box_width - content_width) / 2);
+ *x_p = left + (unpadded_box_width - content_width) / 2;
if (width_p)
*width_p = content_width;
break;
@@ -1251,17 +1249,17 @@ big_box_get_content_area_horizontal (ClutterActor *self,
static void
big_box_get_content_area_vertical (ClutterActor *self,
- ClutterUnit requested_content_height,
- ClutterUnit natural_content_height,
- ClutterUnit allocated_box_height,
- ClutterUnit *y_p,
- ClutterUnit *height_p)
+ int requested_content_height,
+ int natural_content_height,
+ int allocated_box_height,
+ int *y_p,
+ int *height_p)
{
BigBoxPrivate *priv;
- ClutterUnit top;
- ClutterUnit bottom;
- ClutterUnit unpadded_box_height;
- ClutterUnit content_height;
+ int top;
+ int bottom;
+ int unpadded_box_height;
+ int content_height;
priv = BIG_BOX (self)->priv;
@@ -1302,7 +1300,7 @@ big_box_get_content_area_vertical (ClutterActor *self,
break;
case BIG_BOX_ALIGNMENT_CENTER:
if (y_p)
- *y_p = top + roundf ((unpadded_box_height - content_height) / 2);
+ *y_p = top + (unpadded_box_height - content_height) / 2;
if (height_p)
*height_p = content_height;
break;
@@ -1327,13 +1325,22 @@ big_box_adjust_infos_new (BigBox *box,
}
else if (priv->orientation == BIG_BOX_ORIENTATION_VERTICAL)
{
+ float minimum, natural;
+
clutter_actor_get_preferred_height (child->actor, for_content_width,
- &adjusts[i].minimum, &adjusts[i].natural);
+ &minimum, &natural);
+ adjusts[i].minimum = minimum;
+ adjusts[i].natural = natural;
}
else
{
- clutter_actor_get_preferred_width (child->actor, -1, &adjusts[i].minimum,
- &adjusts[i].natural);
+ float minimum, natural;
+
+ clutter_actor_get_preferred_width (child->actor, -1,
+ &minimum, &natural);
+
+ adjusts[i].minimum = minimum;
+ adjusts[i].natural = natural;
}
i++;
@@ -1367,12 +1374,12 @@ big_box_adjust_if_fits_as_not_fitting (GList *children,
static gboolean
big_box_adjust_up_to_natural_size (GList *children,
- ClutterUnit *remaining_extra_space_p,
+ int *remaining_extra_space_p,
BigBoxAdjustInfo *adjusts,
gboolean if_fits)
{
- ClutterUnit smallest_increase;
- ClutterUnit space_to_distribute;
+ int smallest_increase;
+ int space_to_distribute;
GList *c;
gint n_needing_increase;
gint i;
@@ -1382,7 +1389,7 @@ big_box_adjust_up_to_natural_size (GList *children,
if (*remaining_extra_space_p == 0)
return FALSE;
- smallest_increase = CLUTTER_MAXUNIT;
+ smallest_increase = G_MAXINT;
n_needing_increase = 0;
i = 0;
@@ -1473,12 +1480,12 @@ big_box_adjust_up_to_natural_size (GList *children,
static gboolean
big_box_adjust_one_if_fits (GList *children,
- ClutterUnit spacing,
- ClutterUnit *remaining_extra_space_p,
+ int spacing,
+ int *remaining_extra_space_p,
BigBoxAdjustInfo *adjusts)
{
GList *c;
- ClutterUnit spacing_delta;
+ int spacing_delta;
gint i;
gboolean visible_children = FALSE;
@@ -1572,11 +1579,11 @@ big_box_count_expandable_children (GList *children,
static void
big_box_adjust_for_expandable (GList *children,
- ClutterUnit *remaining_extra_space_p,
+ int *remaining_extra_space_p,
BigBoxAdjustInfo *adjusts)
{
GList *c;
- ClutterUnit expand_space;
+ int expand_space;
gint expand_count;
gint i;
@@ -1619,10 +1626,10 @@ big_box_adjust_for_expandable (GList *children,
static void
big_box_compute_adjusts (GList *children,
BigBoxAdjustInfo *adjusts,
- ClutterUnit spacing,
- ClutterUnit alloc_request_delta)
+ int spacing,
+ int alloc_request_delta)
{
- ClutterUnit remaining_extra_space;
+ int remaining_extra_space;
if (children == NULL)
return;
@@ -1664,7 +1671,7 @@ big_box_compute_adjusts (GList *children,
/* remaining_extra_space need not be 0, if we had no expandable children */
}
-static ClutterUnit
+static int
big_box_get_adjusted_size (BigBoxAdjustInfo *adjust)
{
return adjust->minimum + adjust->adjustment;
@@ -1672,16 +1679,16 @@ big_box_get_adjusted_size (BigBoxAdjustInfo *adjust)
static void
big_box_get_hbox_height_request (ClutterActor *self,
- ClutterUnit for_width,
- ClutterUnit *min_height_p,
- ClutterUnit *natural_height_p)
+ int for_width,
+ int *min_height_p,
+ int *natural_height_p)
{
BigBoxPrivate *priv;
- ClutterUnit total_min;
- ClutterUnit total_natural;
- ClutterUnit requested_content_width;
- ClutterUnit natural_content_width;
- ClutterUnit allocated_content_width;
+ int total_min;
+ int total_natural;
+ int requested_content_width;
+ int natural_content_width;
+ int allocated_content_width;
BigBoxAdjustInfo *width_adjusts;
GList *c;
gint i;
@@ -1713,7 +1720,7 @@ big_box_get_hbox_height_request (ClutterActor *self,
{
BigBoxChild *child = c->data;
ClutterUnit min_height, natural_height;
- ClutterUnit req = 0;
+ int req = 0;
if (!BOX_CHILD_IN_LAYOUT (child))
{
@@ -1748,15 +1755,15 @@ big_box_get_hbox_height_request (ClutterActor *self,
static void
big_box_get_vbox_height_request (ClutterActor *self,
- ClutterUnit for_width,
- ClutterUnit *min_height_p,
- ClutterUnit *natural_height_p)
+ int for_width,
+ int *min_height_p,
+ int *natural_height_p)
{
BigBoxPrivate *priv;
- ClutterUnit total_min;
- ClutterUnit total_natural;
- gint n_children_in_min;
- gint n_children_in_natural;
+ int total_min;
+ int total_natural;
+ int n_children_in_min;
+ int n_children_in_natural;
GList *c;
priv = BIG_BOX (self)->priv;
@@ -1769,8 +1776,8 @@ big_box_get_vbox_height_request (ClutterActor *self,
for (c = priv->children; c != NULL; c = c->next)
{
BigBoxChild *child = (BigBoxChild *) c->data;
- ClutterUnit min_height;
- ClutterUnit natural_height;
+ float min_height;
+ float natural_height;
if (!BOX_CHILD_IN_LAYOUT (child))
continue;
@@ -1807,9 +1814,9 @@ big_box_get_vbox_height_request (ClutterActor *self,
static void
big_box_get_content_height_request (ClutterActor *self,
- ClutterUnit for_width,
- ClutterUnit *min_height_p,
- ClutterUnit *natural_height_p)
+ int for_width,
+ int *min_height_p,
+ int *natural_height_p)
{
BigBoxPrivate *priv;
@@ -1825,14 +1832,14 @@ big_box_get_content_height_request (ClutterActor *self,
static void
big_box_get_preferred_height (ClutterActor *self,
- ClutterUnit for_width,
- ClutterUnit *min_height_p,
- ClutterUnit *natural_height_p)
+ float for_width,
+ float *min_height_p,
+ float *natural_height_p)
{
BigBoxPrivate *priv;
- ClutterUnit content_min_height, content_natural_height;
- ClutterUnit content_for_width;
- ClutterUnit outside;
+ int content_min_height, content_natural_height;
+ int content_for_width;
+ int outside;
priv = BIG_BOX (self)->priv;
@@ -1935,15 +1942,15 @@ big_box_layout (ClutterActor *self,
child_box.y2 = child_box.y1 + req;
if (priv->debug)
- g_debug ("V - Child %p %s being allocated: %d, %d, %d, %d w: %d h: %d",
+ g_debug ("V - Child %p %s being allocated: %g, %g, %g, %g w: %g h: %g",
child->actor,
g_type_name_from_instance((GTypeInstance*) child->actor),
- CLUTTER_UNITS_TO_DEVICE (child_box.x1),
- CLUTTER_UNITS_TO_DEVICE (child_box.y1),
- CLUTTER_UNITS_TO_DEVICE (child_box.x2),
- CLUTTER_UNITS_TO_DEVICE (child_box.y2),
- CLUTTER_UNITS_TO_DEVICE (child_box.x2 - child_box.x1),
- CLUTTER_UNITS_TO_DEVICE (child_box.y2 - child_box.y1));
+ child_box.x1,
+ child_box.y1,
+ child_box.x2,
+ child_box.y2,
+ child_box.x2 - child_box.x1,
+ child_box.y2 - child_box.y1);
clutter_actor_allocate (child->actor, &child_box,
absolute_origin_changed);
@@ -1958,15 +1965,15 @@ big_box_layout (ClutterActor *self,
child_box.y2 = child_box.y1 + allocated_content_height;
if (priv->debug)
- g_debug ("H - Child %p %s being allocated: %d, %d, %d, %d w: %d h: %d",
+ g_debug ("H - Child %p %s being allocated: %g, %g, %g, %g w: %g h: %g",
child->actor,
g_type_name_from_instance((GTypeInstance*) child->actor),
- CLUTTER_UNITS_TO_DEVICE (child_box.x1),
- CLUTTER_UNITS_TO_DEVICE (child_box.y1),
- CLUTTER_UNITS_TO_DEVICE (child_box.x2),
- CLUTTER_UNITS_TO_DEVICE (child_box.y2),
- CLUTTER_UNITS_TO_DEVICE (child_box.x2 - child_box.x1),
- CLUTTER_UNITS_TO_DEVICE (child_box.y2 - child_box.y1));
+ child_box.x1,
+ child_box.y1,
+ child_box.x2,
+ child_box.y2,
+ child_box.x2 - child_box.x1,
+ child_box.y2 - child_box.y1);
clutter_actor_allocate (child->actor, &child_box,
absolute_origin_changed);
@@ -2011,24 +2018,24 @@ big_box_allocate (ClutterActor *self,
gboolean absolute_origin_changed)
{
BigBoxPrivate *priv;
- ClutterUnit requested_content_width;
- ClutterUnit requested_content_height;
- ClutterUnit natural_content_width;
- ClutterUnit natural_content_height;
- ClutterUnit allocated_content_width;
- ClutterUnit allocated_content_height = 0;
- ClutterUnit content_x, content_y = 0;
+ int requested_content_width;
+ int requested_content_height;
+ int natural_content_width;
+ int natural_content_height;
+ int allocated_content_width;
+ int allocated_content_height = 0;
+ int content_x, content_y = 0;
GList *c;
priv = BIG_BOX (self)->priv;
if (priv->debug)
- g_debug ("Entire box %p being allocated: %d, %d, %d, %d",
+ g_debug ("Entire box %p being allocated: %g, %g, %g, %g",
self,
- CLUTTER_UNITS_TO_DEVICE (box->x1),
- CLUTTER_UNITS_TO_DEVICE (box->y1),
- CLUTTER_UNITS_TO_DEVICE (box->x2),
- CLUTTER_UNITS_TO_DEVICE (box->y2));
+ box->x1,
+ box->y1,
+ box->x2,
+ box->y2);
CLUTTER_ACTOR_CLASS (big_box_parent_class)->allocate (self, box, absolute_origin_changed);
@@ -2054,13 +2061,13 @@ big_box_allocate (ClutterActor *self,
if (allocated_content_height < requested_content_height)
g_debug ("Box %p allocated height %d but requested %d",
self,
- CLUTTER_UNITS_TO_DEVICE (allocated_content_height),
- CLUTTER_UNITS_TO_DEVICE (requested_content_height));
+ allocated_content_height,
+ requested_content_height);
if (allocated_content_width < requested_content_width)
g_debug ("Box %p allocated width %d but requested %d",
self,
- CLUTTER_UNITS_TO_DEVICE (allocated_content_width),
- CLUTTER_UNITS_TO_DEVICE (requested_content_width));
+ allocated_content_width,
+ requested_content_width);
}
if (priv->background_texture)
@@ -2074,10 +2081,10 @@ big_box_allocate (ClutterActor *self,
if (priv->debug)
{
- g_debug ("Box %p texture allocated width %d and height %d",
+ g_debug ("Box %p texture allocated width %g and height %g",
self,
- CLUTTER_UNITS_TO_DEVICE (bg_box.x2 - bg_box.x1),
- CLUTTER_UNITS_TO_DEVICE (bg_box.y2 - bg_box.y1));
+ bg_box.x2 - bg_box.x1,
+ bg_box.y2 - bg_box.y1);
}
clutter_actor_allocate (priv->background_texture, &bg_box,
@@ -2114,7 +2121,7 @@ big_box_allocate (ClutterActor *self,
}
else if (child->fixed)
{
- ClutterUnit x, y, width, height;
+ float x, y, width, height;
clutter_actor_get_positionu (child->actor, &x, &y);
clutter_actor_get_preferred_width(child->actor, -1, NULL, &width);
@@ -2136,7 +2143,7 @@ big_box_allocate (ClutterActor *self,
child_box.x1 = child_box.x2 - width;
break;
case BIG_BOX_ALIGNMENT_CENTER:
- child_box.x1 = content_x + roundf ((allocated_content_width - width) / 2);
+ child_box.x1 = content_x + (allocated_content_width - width) / 2;
child_box.x2 = child_box.x1 + width;
break;
case BIG_BOX_ALIGNMENT_FILL:
@@ -2161,7 +2168,7 @@ big_box_allocate (ClutterActor *self,
child_box.y1 = child_box.y2 - height;
break;
case BIG_BOX_ALIGNMENT_CENTER:
- child_box.y1 = content_y + roundf ((allocated_content_height - height) / 2);
+ child_box.y1 = content_y + (allocated_content_height - height) / 2;
child_box.y2 = child_box.y1 + height;
break;
case BIG_BOX_ALIGNMENT_FILL:
@@ -2171,11 +2178,11 @@ big_box_allocate (ClutterActor *self,
}
if (priv->debug)
- g_debug ("Fixed Child being allocated: %d, %d, %d, %d",
- CLUTTER_UNITS_TO_DEVICE (child_box.x1),
- CLUTTER_UNITS_TO_DEVICE (child_box.y1),
- CLUTTER_UNITS_TO_DEVICE (child_box.x2),
- CLUTTER_UNITS_TO_DEVICE (child_box.y2));
+ g_debug ("Fixed Child being allocated: %g, %g, %g, %g",
+ child_box.x1,
+ child_box.y1,
+ child_box.x2,
+ child_box.y2);
clutter_actor_allocate(child->actor, &child_box,
absolute_origin_changed);
@@ -2199,15 +2206,17 @@ big_box_paint (ClutterActor *actor)
int border_top, border_bottom, border_left, border_right;
int padding_top, padding_bottom, padding_left, padding_right;
- /* First, convert everything to pixels */
- border_top = CLUTTER_UNITS_TO_DEVICE (self->priv->border_top);
- border_bottom = CLUTTER_UNITS_TO_DEVICE (self->priv->border_bottom);
- border_left = CLUTTER_UNITS_TO_DEVICE (self->priv->border_left);
- border_right = CLUTTER_UNITS_TO_DEVICE (self->priv->border_right);
- padding_top = CLUTTER_UNITS_TO_DEVICE (self->priv->padding_top);
- padding_bottom = CLUTTER_UNITS_TO_DEVICE (self->priv->padding_bottom);
- padding_left = CLUTTER_UNITS_TO_DEVICE (self->priv->padding_left);
- padding_right = CLUTTER_UNITS_TO_DEVICE (self->priv->padding_right);
+ /* shorter variable names (and cast to int while we're at it
+ * though I think this is only for historical reasons)
+ */
+ border_top = self->priv->border_top;
+ border_bottom = self->priv->border_bottom;
+ border_left = self->priv->border_left;
+ border_right = self->priv->border_right;
+ padding_top = self->priv->padding_top;
+ padding_bottom = self->priv->padding_bottom;
+ padding_left = self->priv->padding_left;
+ padding_right = self->priv->padding_right;
actor_opacity = clutter_actor_get_paint_opacity (actor);
@@ -2949,10 +2958,10 @@ big_box_set_child_align(BigBox *box,
}
void
-big_box_set_padding (BigBox *box, int padding)
+big_box_set_padding (BigBox *box,
+ int padding)
{
BigBoxPrivate *priv;
- ClutterUnit padding_in_units;
gboolean padding_changed;
g_return_if_fail (BIG_IS_BOX (box));
@@ -2960,32 +2969,30 @@ big_box_set_padding (BigBox *box, int padding)
priv = box->priv;
- padding_in_units = CLUTTER_UNITS_FROM_DEVICE (padding);
-
- padding_changed = (priv->padding_top != padding_in_units ||
- priv->padding_bottom != padding_in_units ||
- priv->padding_left != padding_in_units ||
- priv->padding_right != padding_in_units);
+ padding_changed = (priv->padding_top != padding ||
+ priv->padding_bottom != padding ||
+ priv->padding_left != padding ||
+ priv->padding_right != padding);
if (padding_changed)
{
g_object_freeze_notify (G_OBJECT (box));
- if (box->priv->padding_top != padding_in_units)
+ if (box->priv->padding_top != padding)
g_object_notify (G_OBJECT (box), "padding-top");
- box->priv->padding_top = padding_in_units;
+ box->priv->padding_top = padding;
- if (box->priv->padding_bottom != padding_in_units)
+ if (box->priv->padding_bottom != padding)
g_object_notify (G_OBJECT (box), "padding-bottom");
- box->priv->padding_bottom = padding_in_units;
+ box->priv->padding_bottom = padding;
- if (box->priv->padding_left != padding_in_units)
+ if (box->priv->padding_left != padding)
g_object_notify (G_OBJECT (box), "padding-left");
- box->priv->padding_left = padding_in_units;
+ box->priv->padding_left = padding;
- if (box->priv->padding_right != padding_in_units)
+ if (box->priv->padding_right != padding)
g_object_notify (G_OBJECT (box), "padding-right");
- box->priv->padding_right = padding_in_units;
+ box->priv->padding_right = padding;
g_object_thaw_notify (G_OBJECT (box));
@@ -2994,10 +3001,10 @@ big_box_set_padding (BigBox *box, int padding)
}
void
-big_box_set_border_width (BigBox *box, int border_width)
+big_box_set_border_width (BigBox *box,
+ int border_width)
{
BigBoxPrivate *priv;
- ClutterUnit border_in_units;
gboolean border_changed;
g_return_if_fail (BIG_IS_BOX (box));
@@ -3005,32 +3012,30 @@ big_box_set_border_width (BigBox *box, int border_width)
priv = box->priv;
- border_in_units = CLUTTER_UNITS_FROM_DEVICE (border_width);
-
- border_changed = (priv->border_top != border_in_units ||
- priv->border_bottom != border_in_units ||
- priv->border_left != border_in_units ||
- priv->border_right != border_in_units);
+ border_changed = (priv->border_top != border_width ||
+ priv->border_bottom != border_width ||
+ priv->border_left != border_width ||
+ priv->border_right != border_width);
if (border_changed)
{
g_object_freeze_notify (G_OBJECT (box));
- if (box->priv->border_top != border_in_units)
+ if (box->priv->border_top != border_width)
g_object_notify (G_OBJECT (box), "border-top");
- box->priv->border_top = border_in_units;
+ box->priv->border_top = border_width;
- if (box->priv->border_bottom != border_in_units)
+ if (box->priv->border_bottom != border_width)
g_object_notify (G_OBJECT (box), "border-bottom");
- box->priv->border_bottom = border_in_units;
+ box->priv->border_bottom = border_width;
- if (box->priv->border_left != border_in_units)
+ if (box->priv->border_left != border_width)
g_object_notify (G_OBJECT (box), "border-left");
- box->priv->border_left = border_in_units;
+ box->priv->border_left = border_width;
- if (box->priv->border_right != border_in_units)
+ if (box->priv->border_right != border_width)
g_object_notify (G_OBJECT (box), "border-right");
- box->priv->border_right = border_in_units;
+ box->priv->border_right = border_width;
g_object_thaw_notify (G_OBJECT (box));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]