const GValue *value,
GParamSpec *pspec)
{
-
- ClutterActor *actor;
- ClutterActorPrivate *priv;
-
- actor = CLUTTER_ACTOR(object);
- priv = actor->priv;
+ ClutterActor *actor = CLUTTER_ACTOR (object);
+ ClutterActorPrivate *priv = actor->priv;
switch (prop_id)
{
case PROP_X:
- clutter_actor_set_x (actor, g_value_get_int (value));
+ clutter_actor_set_x (actor, g_value_get_float (value));
break;
+
case PROP_Y:
- clutter_actor_set_y (actor, g_value_get_int (value));
+ clutter_actor_set_y (actor, g_value_get_float (value));
break;
+
case PROP_WIDTH:
- clutter_actor_set_width (actor, g_value_get_int (value));
+ clutter_actor_set_width (actor, g_value_get_float (value));
break;
+
case PROP_HEIGHT:
- clutter_actor_set_height (actor, g_value_get_int (value));
+ clutter_actor_set_height (actor, g_value_get_float (value));
break;
+
case PROP_FIXED_X:
- clutter_actor_set_x (actor, clutter_value_get_unit (value));
+ clutter_actor_set_x (actor, g_value_get_float (value));
break;
+
case PROP_FIXED_Y:
- clutter_actor_set_y (actor, clutter_value_get_unit (value));
+ clutter_actor_set_y (actor, g_value_get_float (value));
break;
+
case PROP_FIXED_POSITION_SET:
clutter_actor_set_fixed_position_set (actor, g_value_get_boolean (value));
break;
+
case PROP_MIN_WIDTH:
- clutter_actor_set_min_width (actor, clutter_value_get_unit (value));
+ clutter_actor_set_min_width (actor, g_value_get_float (value));
break;
+
case PROP_MIN_HEIGHT:
- clutter_actor_set_min_height (actor, clutter_value_get_unit (value));
+ clutter_actor_set_min_height (actor, g_value_get_float (value));
break;
+
case PROP_NATURAL_WIDTH:
- clutter_actor_set_natural_width (actor, clutter_value_get_unit (value));
+ clutter_actor_set_natural_width (actor, g_value_get_float (value));
break;
+
case PROP_NATURAL_HEIGHT:
- clutter_actor_set_natural_height (actor, clutter_value_get_unit (value));
+ clutter_actor_set_natural_height (actor, g_value_get_float (value));
break;
+
case PROP_MIN_WIDTH_SET:
clutter_actor_set_min_width_set (actor, g_value_get_boolean (value));
break;
+
case PROP_MIN_HEIGHT_SET:
clutter_actor_set_min_height_set (actor, g_value_get_boolean (value));
break;
+
case PROP_NATURAL_WIDTH_SET:
clutter_actor_set_natural_width_set (actor, g_value_get_boolean (value));
break;
+
case PROP_NATURAL_HEIGHT_SET:
clutter_actor_set_natural_height_set (actor, g_value_get_boolean (value));
break;
+
case PROP_REQUEST_MODE:
clutter_actor_set_request_mode (actor, g_value_get_enum (value));
break;
+
case PROP_DEPTH:
- clutter_actor_set_depth (actor, g_value_get_int (value));
+ clutter_actor_set_depth (actor, g_value_get_float (value));
break;
+
case PROP_OPACITY:
clutter_actor_set_opacity (actor, g_value_get_uchar (value));
break;
+
case PROP_NAME:
clutter_actor_set_name (actor, g_value_get_string (value));
break;
+
case PROP_VISIBLE:
if (g_value_get_boolean (value) == TRUE)
clutter_actor_show (actor);
else
clutter_actor_hide (actor);
break;
+
case PROP_SCALE_X:
clutter_actor_set_scale (actor,
g_value_get_double (value),
priv->scale_y);
break;
+
case PROP_SCALE_Y:
clutter_actor_set_scale (actor,
priv->scale_x,
g_value_get_double (value));
break;
+
case PROP_SCALE_CENTER_X:
{
- gint center_x = g_value_get_int (value);
+ gfloat center_x = g_value_get_float (value);
gfloat center_y;
clutter_anchor_coord_get_units (actor, &priv->scale_center,
center_y);
}
break;
+
case PROP_SCALE_CENTER_Y:
{
- gint center_y = g_value_get_int (value);
+ gfloat center_y = g_value_get_float (value);
gfloat center_x;
clutter_anchor_coord_get_units (actor, &priv->scale_center,
center_y);
}
break;
+
case PROP_SCALE_GRAVITY:
clutter_actor_set_scale_with_gravity (actor,
priv->scale_x,
priv->scale_y,
g_value_get_enum (value));
break;
+
case PROP_CLIP:
{
- ClutterGeometry *geom = g_value_get_boxed (value);
+ const ClutterGeometry *geom = g_value_get_boxed (value);
clutter_actor_set_clip (actor,
geom->x, geom->y,
geom->width, geom->height);
}
break;
+
case PROP_CLIP_TO_ALLOCATION:
if (priv->clip_to_allocation != g_value_get_boolean (value))
{
clutter_actor_queue_redraw (actor);
}
break;
+
case PROP_REACTIVE:
clutter_actor_set_reactive (actor, g_value_get_boolean (value));
break;
+
case PROP_ROTATION_ANGLE_X:
clutter_actor_set_rotation_internal (actor,
CLUTTER_X_AXIS,
g_value_get_double (value));
break;
+
case PROP_ROTATION_ANGLE_Y:
clutter_actor_set_rotation_internal (actor,
CLUTTER_Y_AXIS,
g_value_get_double (value));
break;
+
case PROP_ROTATION_ANGLE_Z:
clutter_actor_set_rotation_internal (actor,
CLUTTER_Z_AXIS,
g_value_get_double (value));
break;
+
case PROP_ROTATION_CENTER_X:
{
const ClutterVertex *center;
center->z);
}
break;
+
case PROP_ROTATION_CENTER_Y:
{
const ClutterVertex *center;
center->z);
}
break;
+
case PROP_ROTATION_CENTER_Z:
{
const ClutterVertex *center;
center->z);
}
break;
+
case PROP_ROTATION_CENTER_Z_GRAVITY:
- clutter_actor_set_z_rotation_from_gravity
- (actor, priv->rzang, g_value_get_enum (value));
+ clutter_actor_set_z_rotation_from_gravity (actor, priv->rzang,
+ g_value_get_enum (value));
break;
+
case PROP_ANCHOR_X:
{
- gint anchor_x = g_value_get_int (value);
+ gfloat anchor_x = g_value_get_float (value);
gfloat anchor_y;
clutter_anchor_coord_get_units (actor, &priv->anchor,
clutter_actor_set_anchor_point (actor, anchor_x, anchor_y);
}
break;
+
case PROP_ANCHOR_Y:
{
- gint anchor_y = g_value_get_int (value);
- gfloat anchor_x;
+ gfloat anchor_y = g_value_get_int (value);
+ gfloat anchor_x;
clutter_anchor_coord_get_units (actor, &priv->anchor,
&anchor_x,
clutter_actor_set_anchor_point (actor, anchor_x, anchor_y);
}
break;
+
case PROP_ANCHOR_GRAVITY:
clutter_actor_set_anchor_point_from_gravity (actor,
g_value_get_enum (value));
break;
+
case PROP_SHOW_ON_SET_PARENT:
priv->show_on_set_parent = g_value_get_boolean (value);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
GValue *value,
GParamSpec *pspec)
{
- ClutterActor *actor;
- ClutterActorPrivate *priv;
-
- actor = CLUTTER_ACTOR(object);
- priv = actor->priv;
+ ClutterActor *actor = CLUTTER_ACTOR (object);
+ ClutterActorPrivate *priv = actor->priv;
switch (prop_id)
{
case PROP_X:
- g_value_set_int (value, clutter_actor_get_x (actor));
+ g_value_set_float (value, clutter_actor_get_x (actor));
break;
+
case PROP_Y:
- g_value_set_int (value, clutter_actor_get_y (actor));
+ g_value_set_float (value, clutter_actor_get_y (actor));
break;
+
case PROP_WIDTH:
- g_value_set_int (value, clutter_actor_get_width (actor));
+ g_value_set_float (value, clutter_actor_get_width (actor));
break;
+
case PROP_HEIGHT:
- g_value_set_int (value, clutter_actor_get_height (actor));
+ g_value_set_float (value, clutter_actor_get_height (actor));
break;
+
case PROP_FIXED_X:
- clutter_value_set_unit (value, priv->fixed_x);
+ g_value_set_float (value, priv->fixed_x);
break;
+
case PROP_FIXED_Y:
- clutter_value_set_unit (value, priv->fixed_y);
+ g_value_set_float (value, priv->fixed_y);
break;
+
case PROP_FIXED_POSITION_SET:
g_value_set_boolean (value, priv->position_set);
break;
+
case PROP_MIN_WIDTH:
- clutter_value_set_unit (value, priv->request_min_width);
+ g_value_set_float (value, priv->request_min_width);
break;
+
case PROP_MIN_HEIGHT:
- clutter_value_set_unit (value, priv->request_min_height);
+ g_value_set_float (value, priv->request_min_height);
break;
+
case PROP_NATURAL_WIDTH:
- clutter_value_set_unit (value, priv->request_natural_width);
+ g_value_set_float (value, priv->request_natural_width);
break;
+
case PROP_NATURAL_HEIGHT:
- clutter_value_set_unit (value, priv->request_natural_height);
+ g_value_set_float (value, priv->request_natural_height);
break;
+
case PROP_MIN_WIDTH_SET:
g_value_set_boolean (value, priv->min_width_set);
break;
+
case PROP_MIN_HEIGHT_SET:
g_value_set_boolean (value, priv->min_height_set);
break;
+
case PROP_NATURAL_WIDTH_SET:
g_value_set_boolean (value, priv->natural_width_set);
break;
+
case PROP_NATURAL_HEIGHT_SET:
g_value_set_boolean (value, priv->natural_height_set);
break;
+
case PROP_REQUEST_MODE:
g_value_set_enum (value, priv->request_mode);
break;
+
case PROP_ALLOCATION:
g_value_set_boxed (value, &priv->allocation);
break;
+
case PROP_DEPTH:
- g_value_set_int (value, clutter_actor_get_depth (actor));
+ g_value_set_float (value, clutter_actor_get_depth (actor));
break;
+
case PROP_OPACITY:
g_value_set_uchar (value, priv->opacity);
break;
+
case PROP_NAME:
g_value_set_string (value, priv->name);
break;
+
case PROP_VISIBLE:
g_value_set_boolean (value, CLUTTER_ACTOR_IS_VISIBLE (actor));
break;
+
case PROP_MAPPED:
g_value_set_boolean (value, CLUTTER_ACTOR_IS_MAPPED (actor));
break;
+
case PROP_REALIZED:
g_value_set_boolean (value, CLUTTER_ACTOR_IS_REALIZED (actor));
break;
+
case PROP_HAS_CLIP:
g_value_set_boolean (value, priv->has_clip);
break;
+
case PROP_CLIP:
{
ClutterGeometry clip = { 0, };
g_value_set_boxed (value, &clip);
}
break;
+
case PROP_CLIP_TO_ALLOCATION:
g_value_set_boolean (value, priv->clip_to_allocation);
break;
+
case PROP_SCALE_X:
g_value_set_double (value, priv->scale_x);
break;
+
case PROP_SCALE_Y:
g_value_set_double (value, priv->scale_y);
break;
+
case PROP_SCALE_CENTER_X:
{
gfloat center;
clutter_actor_get_scale_center (actor, ¢er, NULL);
- g_value_set_int (value, center);
+ g_value_set_float (value, center);
}
break;
+
case PROP_SCALE_CENTER_Y:
{
gfloat center;
clutter_actor_get_scale_center (actor, NULL, ¢er);
- g_value_set_int (value, center);
+ g_value_set_float (value, center);
}
break;
+
case PROP_SCALE_GRAVITY:
g_value_set_enum (value, clutter_actor_get_scale_gravity (actor));
break;
+
case PROP_REACTIVE:
g_value_set_boolean (value, clutter_actor_get_reactive (actor));
break;
+
case PROP_ROTATION_ANGLE_X:
g_value_set_double (value, priv->rxang);
break;
+
case PROP_ROTATION_ANGLE_Y:
g_value_set_double (value, priv->ryang);
break;
+
case PROP_ROTATION_ANGLE_Z:
g_value_set_double (value, priv->rzang);
break;
+
case PROP_ROTATION_CENTER_X:
{
ClutterVertex center;
g_value_set_boxed (value, ¢er);
}
break;
+
case PROP_ROTATION_CENTER_Y:
{
ClutterVertex center;
g_value_set_boxed (value, ¢er);
}
break;
+
case PROP_ROTATION_CENTER_Z:
{
ClutterVertex center;
g_value_set_boxed (value, ¢er);
}
break;
+
case PROP_ROTATION_CENTER_Z_GRAVITY:
g_value_set_enum (value, clutter_actor_get_z_rotation_gravity (actor));
break;
+
case PROP_ANCHOR_X:
{
gfloat anchor_x;
&anchor_x,
NULL,
NULL);
- g_value_set_int (value, anchor_x);
+ g_value_set_float (value, anchor_x);
}
break;
+
case PROP_ANCHOR_Y:
{
gfloat anchor_y;
NULL,
&anchor_y,
NULL);
- g_value_set_int (value, anchor_y);
+ g_value_set_float (value, anchor_y);
}
break;
+
case PROP_ANCHOR_GRAVITY:
g_value_set_enum (value, clutter_actor_get_anchor_point_gravity (actor));
break;
+
case PROP_SHOW_ON_SET_PARENT:
g_value_set_boolean (value, priv->show_on_set_parent);
break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
* position for the actor. If read, returns the fixed position if any,
* otherwise the allocation if available, otherwise 0.
*/
- pspec = g_param_spec_int ("x",
- "X coordinate",
- "X coordinate of the actor",
- -G_MAXINT, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("x",
+ "X coordinate",
+ "X coordinate of the actor",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_X, pspec);
/**
* position for the actor. If read, returns the fixed position if
* any, otherwise the allocation if available, otherwise 0.
*/
- pspec = g_param_spec_int ("y",
- "Y coordinate",
- "Y coordinate of the actor",
- -G_MAXINT, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("y",
+ "Y coordinate",
+ "Y coordinate of the actor",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_Y, pspec);
/**
* natural size request of the actor to the given width. If read, returns
* the allocated width if available, otherwise the width request.
*/
- pspec = g_param_spec_int ("width",
- "Width",
- "Width of the actor",
- 0, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("width",
+ "Width",
+ "Width of the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_WIDTH, pspec);
/**
* ClutterActor:height:
* natural size request of the actor to the given height. If read, returns
* the allocated height if available, otherwise the height request.
*/
- pspec = g_param_spec_int ("height",
- "Height",
- "Height of the actor",
- 0, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("height",
+ "Height",
+ "Height of the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_HEIGHT, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("fixed-x",
- "Fixed X",
- "Forced X position of the actor",
- CLUTTER_MINUNIT, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("fixed-x",
+ "Fixed X",
+ "Forced X position of the actor",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_FIXED_X, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("fixed-y",
- "Fixed Y",
- "Forced Y position of the actor",
- CLUTTER_MINUNIT, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("fixed-y",
+ "Fixed Y",
+ "Forced Y position of the actor",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_FIXED_Y, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("min-width",
- "Min Width",
- "Forced minimum width request "
- "for the actor",
- 0, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("min-width",
+ "Min Width",
+ "Forced minimum width request for the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_MIN_WIDTH, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("min-height",
- "Min Height",
- "Forced minimum height request "
- "for the actor",
- 0, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("min-height",
+ "Min Height",
+ "Forced minimum height request for the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_MIN_HEIGHT, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("natural-width",
- "Natural Width",
- "Forced natural width request "
- "for the actor",
- 0, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("natural-width",
+ "Natural Width",
+ "Forced natural width request for the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_NATURAL_WIDTH, pspec);
/**
*
* Since: 0.8
*/
- pspec = clutter_param_spec_unit ("natural-height",
- "Natural Height",
- "Forced natural height request "
- "for the actor",
- 0, CLUTTER_MAXUNIT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("natural-height",
+ "Natural Height",
+ "Forced natural height request for the actor",
+ 0.0, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_NATURAL_HEIGHT, pspec);
/**
/**
* ClutterActor:depth:
*
- * Depth of the actor.
+ * The position of the actor on the Z axis
*
* Since: 0.6
*/
- pspec = g_param_spec_int ("depth",
- "Depth",
- "Depth of actor",
- -G_MAXINT, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("depth",
+ "Depth",
+ "Position on the Z axis",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_DEPTH, pspec);
/**
pspec = g_param_spec_uchar ("opacity",
"Opacity",
"Opacity of actor",
- 0, 0xff,
- 0xff,
+ 0, 255,
+ 255,
CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_OPACITY, pspec);
*
* Since: 1.0
*/
- pspec = g_param_spec_int ("scale-center-x",
- "Scale-Center-X",
- "Horizontal scale center",
- G_MININT, G_MAXINT, 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("scale-center-x",
+ "Scale-Center-X",
+ "Horizontal scale center",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_SCALE_CENTER_X, pspec);
/**
*
* Since: 1.0
*/
- pspec = g_param_spec_int ("scale-center-y",
- "Scale-Center-Y",
- "Vertical scale center",
- G_MININT, G_MAXINT, 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("scale-center-y",
+ "Scale-Center-Y",
+ "Vertical scale center",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0.0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_SCALE_CENTER_Y, pspec);
/**
*
* Since: 0.8
*/
- pspec = g_param_spec_int ("anchor-x",
- "Anchor X",
- "X coordinate of the anchor point",
- -G_MAXINT, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("anchor-x",
+ "Anchor X",
+ "X coordinate of the anchor point",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_ANCHOR_X, pspec);
/**
*
* Since: 0.8
*/
- pspec = g_param_spec_int ("anchor-y",
- "Anchor Y",
- "Y coordinate of the anchor point",
- -G_MAXINT, G_MAXINT,
- 0,
- CLUTTER_PARAM_READWRITE);
+ pspec = g_param_spec_float ("anchor-y",
+ "Anchor Y",
+ "Y coordinate of the anchor point",
+ -G_MAXFLOAT, G_MAXFLOAT,
+ 0,
+ CLUTTER_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_ANCHOR_Y, pspec);
/**
#define NOTIFY_ROTATION_CENTER_Z (1 << 13)
#define NOTIFY_ROTATION_CENTER_Z_GRAVITY (1 << 14)
-#define RECT_WIDTH 100
-#define RECT_HEIGHT 80
+#define RECT_WIDTH 100.0
+#define RECT_HEIGHT 80.0
/* Allow the transformed position by off by a certain number of
pixels */
static const struct
{
ClutterGravity gravity;
- gint x_pos, y_pos;
+ gfloat x_pos;
+ gfloat y_pos;
} gravities[] =
{
{ CLUTTER_GRAVITY_NORTH, RECT_WIDTH / 2, 0 },
{ CLUTTER_GRAVITY_CENTER, RECT_WIDTH / 2, RECT_HEIGHT / 2 }
};
-static const char * const
-properties[] =
- { "anchor-x",
- "anchor-y",
- "anchor-gravity",
- "scale-x",
- "scale-y",
- "scale-center-x",
- "scale-center-y",
- "scale-gravity",
- "rotation-angle-x",
- "rotation-angle-y",
- "rotation-angle-z",
- "rotation-center-x",
- "rotation-center-y",
- "rotation-center-z",
- "rotation-center-z-gravity" };
+static const char * const properties[] = {
+ "anchor-x",
+ "anchor-y",
+ "anchor-gravity",
+ "scale-x",
+ "scale-y",
+ "scale-center-x",
+ "scale-center-y",
+ "scale-gravity",
+ "rotation-angle-x",
+ "rotation-angle-y",
+ "rotation-angle-z",
+ "rotation-center-x",
+ "rotation-center-y",
+ "rotation-center-z",
+ "rotation-center-z-gravity"
+};
+
+static const int n_properties = G_N_ELEMENTS (properties);
static void
notify_cb (GObject *object, GParamSpec *pspec, TestState *state)
int new_flags = 0;
int flag = 1;
- for (i = 0; i < G_N_ELEMENTS (properties); i++)
+ for (i = 0; i < n_properties; i++)
{
if (!strcmp (properties[i], pspec->name))
new_flags |= flag;
+
flag <<= 1;
}
state->notifications |= new_flags;
}
-#define assert_notifications(flags) \
- do \
- { \
- g_assert (state->notifications == (flags)); \
- state->notifications = 0; \
- } while (0)
+#define assert_notifications(flags) G_STMT_START { \
+ g_assert (state->notifications == (flags)); \
+ state->notifications = 0; } G_STMT_END
/* Helper macro to assert the transformed position. This needs to be a
macro so that the assertion failure will report the right line
number */
-#define assert_coords(state, x_1, y_1, x_2, y_2) \
- do \
- { \
- ClutterVertex verts[4]; \
- clutter_actor_get_abs_allocation_vertices ((state)->rect, verts); \
- check_coords ((state), (x_1), (y_1), (x_2), (y_2), verts); \
- g_assert (approx_equal ((x_1), \
- CLUTTER_UNITS_TO_DEVICE (verts[0].x))); \
- g_assert (approx_equal ((y_1), \
- CLUTTER_UNITS_TO_DEVICE (verts[0].y))); \
- g_assert (approx_equal ((x_2), \
- CLUTTER_UNITS_TO_DEVICE (verts[3].x))); \
- g_assert (approx_equal ((y_2), \
- CLUTTER_UNITS_TO_DEVICE (verts[3].y))); \
- } while (0)
+#define assert_coords(state, x_1, y_1, x_2, y_2) G_STMT_START { \
+ ClutterVertex verts[4]; \
+ clutter_actor_get_abs_allocation_vertices ((state)->rect, verts); \
+ check_coords ((state), (x_1), (y_1), (x_2), (y_2), verts); \
+ g_assert (approx_equal ((x_1), CLUTTER_UNITS_TO_DEVICE (verts[0].x)));\
+ g_assert (approx_equal ((y_1), CLUTTER_UNITS_TO_DEVICE (verts[0].y)));\
+ g_assert (approx_equal ((x_2), CLUTTER_UNITS_TO_DEVICE (verts[3].x)));\
+ g_assert (approx_equal ((y_2), CLUTTER_UNITS_TO_DEVICE (verts[3].y)));\
+ } G_STMT_END
#define assert_position(state, x, y) \
assert_coords((state), (x), (y), (x) + RECT_WIDTH, (y) + RECT_HEIGHT)
-#define assert_vertex_and_free(v, xc, yc, zc) \
- do \
- { \
- g_assert (approx_equal (CLUTTER_UNITS_TO_DEVICE (v->x), xc) \
- && approx_equal (CLUTTER_UNITS_TO_DEVICE (v->y), yc) \
- && approx_equal (CLUTTER_UNITS_TO_DEVICE (v->z), zc)); \
- g_boxed_free (CLUTTER_TYPE_VERTEX, v); \
- } while (0)
+#define assert_vertex_and_free(v, xc, yc, zc) G_STMT_START { \
+ g_assert (approx_equal (CLUTTER_UNITS_TO_DEVICE (v->x), xc) && \
+ approx_equal (CLUTTER_UNITS_TO_DEVICE (v->y), yc) && \
+ approx_equal (CLUTTER_UNITS_TO_DEVICE (v->z), zc)); \
+ g_boxed_free (CLUTTER_TYPE_VERTEX, v); } G_STMT_END
static inline gboolean
approx_equal (int a, int b)
static void
check_coords (TestState *state,
- gint x_1, gint y_1, gint x_2, gint y_2,
+ gint x_1,
+ gint y_1,
+ gint x_2,
+ gint y_2,
const ClutterVertex *verts)
{
if (g_test_verbose ())
test_anchor_point (TestState *state)
{
ClutterActor *rect = state->rect;
- gint anchor_x, anchor_y;
+ gfloat anchor_x, anchor_y;
ClutterGravity anchor_gravity;
int i;
g_assert (clutter_actor_get_width (rect) == RECT_WIDTH);
g_assert (clutter_actor_get_height (rect) == RECT_HEIGHT);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == 0);
/* Change the anchor point */
clutter_actor_set_anchor_point (rect, 20, 30);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == 20);
/* Move the anchor point */
clutter_actor_move_anchor_point (rect, 40, 50);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == 40);
g_object_set (rect, "anchor-gravity", gravities[i].gravity, NULL);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == gravities[i].x_pos);
it is set from the gravity */
clutter_actor_set_size (rect, RECT_WIDTH * 2, RECT_HEIGHT * 2);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == RECT_WIDTH);
size when it is set from units */
clutter_actor_set_size (rect, RECT_WIDTH * 2, RECT_HEIGHT * 2);
g_object_get (rect,
- "anchor-x", &anchor_x, "anchor-y", &anchor_y,
+ "anchor-x", &anchor_x,
+ "anchor-y", &anchor_y,
"anchor-gravity", &anchor_gravity,
NULL);
g_assert (anchor_x == 20);
{
ClutterActor *rect = state->rect;
gdouble scale_x, scale_y;
- gint center_x, center_y;
+ gfloat center_x, center_y;
ClutterGravity gravity;
int i;
g_assert (clutter_actor_get_width (rect) == RECT_WIDTH);
g_assert (clutter_actor_get_height (rect) == RECT_HEIGHT);
g_object_get (rect,
- "scale-center-x", ¢er_x, "scale-center-y", ¢er_y,
- "scale-x", &scale_x, "scale-y", &scale_y,
+ "scale-center-x", ¢er_x,
+ "scale-center-y", ¢er_y,
+ "scale-x", &scale_x,
+ "scale-y", &scale_y,
"scale-gravity", &gravity,
NULL);
g_assert (center_x == 0);
g_assert (clutter_actor_get_width (rect) == RECT_WIDTH);
g_assert (clutter_actor_get_height (rect) == RECT_HEIGHT);
g_object_get (rect,
- "scale-center-x", ¢er_x, "scale-center-y", ¢er_y,
- "scale-x", &scale_x, "scale-y", &scale_y,
+ "scale-center-x", ¢er_x,
+ "scale-center-y", ¢er_y,
+ "scale-x", &scale_x,
+ "scale-y", &scale_y,
"scale-gravity", &gravity,
NULL);
g_assert (center_x == 0);
assert_coords (state, 100, 200, 100 + RECT_WIDTH * 2, 200 + RECT_HEIGHT * 3);
/* Change the scale and center */
- g_object_set (rect, "scale-x", 4.0, "scale-y", 2.0,
- "scale-center-x", 10, "scale-center-y", 20, NULL);
+ g_object_set (rect,
+ "scale-x", 4.0,
+ "scale-y", 2.0,
+ "scale-center-x", 10.0,
+ "scale-center-y", 20.0,
+ NULL);
g_assert (clutter_actor_get_x (rect) == 100);
g_assert (clutter_actor_get_y (rect) == 200);
g_assert (clutter_actor_get_width (rect) == RECT_WIDTH);
gravity property changes */
clutter_actor_set_scale_full (rect, 4, 2, 10, 20);
g_object_get (rect,
- "scale-center-x", ¢er_x, "scale-center-y", ¢er_y,
- "scale-x", &scale_x, "scale-y", &scale_y,
+ "scale-center-x", ¢er_x,
+ "scale-center-y", ¢er_y,
+ "scale-x", &scale_x,
+ "scale-y", &scale_y,
"scale-gravity", &gravity,
NULL);
g_assert (center_x == 10);