2008-02-07 Tomas Frydrych <tf@openedhand.com>

* clutter/clutter-actor.c:
	(clutter_actor_set_property):
	Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z

	* tests/test-actors.c:
	Adjusted to use anchor point for both group and hands.
This commit is contained in:
Tomas Frydrych 2008-02-07 15:06:31 +00:00
parent 384c7048e3
commit 1f5e879e2f
3 changed files with 38 additions and 21 deletions

View File

@ -1,3 +1,12 @@
2008-02-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_set_property):
Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z
* tests/test-actors.c:
Adjusted to use anchor point for both group and hands.
2008-02-07 Neil J. Patel <njp@o-hand.com> 2008-02-07 Neil J. Patel <njp@o-hand.com>
* tests/test-actors.c: (frame_cb), (main): * tests/test-actors.c: (frame_cb), (main):
@ -13,7 +22,7 @@
when looking at the symbols, so we don't load them all up. when looking at the symbols, so we don't load them all up.
* clutter/clutter-script.c (resolve_alpha_func): Ditto as above. * clutter/clutter-script.c (resolve_alpha_func): Ditto as above.
2008-02-07 Øyvind Kolås <pippin@o-hand.com> 2008-02-07 Øyvind Kolås <pippin@o-hand.com>
* clutter/clutter-actor.c: * clutter/clutter-actor.c:
@ -57,7 +66,7 @@
2008-02-06 Matthew Allum <mallum@openedhand.com> 2008-02-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: * clutter/clutter-texture.c:
Minor clean up from last commit. Minor clean up from last commit.
* tests/test-fbo.c: * tests/test-fbo.c:
Small tweak (rotate offscreen, rather than resize) Small tweak (rotate offscreen, rather than resize)
@ -68,7 +77,7 @@
Initial attempt at handling resizing/tranformed source textures. Initial attempt at handling resizing/tranformed source textures.
* clutter/pango/pangoclutter-render.c: (draw_glyph): * clutter/pango/pangoclutter-render.c: (draw_glyph):
Guards against freetype returning NULL bitmaps and Guards against freetype returning NULL bitmaps and
thus causing device by zeros on NVIDIA drivers. (see ml) thus causing device by zeros on NVIDIA drivers. (see ml)
2008-02-05 Matthew Allum <mallum@openedhand.com> 2008-02-05 Matthew Allum <mallum@openedhand.com>
@ -137,7 +146,7 @@
Add notify signal for set_rotate Add notify signal for set_rotate
* clutter/clutter-texture.c: * clutter/clutter-texture.c:
Add basic cleanup code for fbo's Add basic cleanup code for fbo's
* tests/test-fbo.c: (main): * tests/test-fbo.c: (main):
Minor notes. Minor notes.
@ -207,8 +216,8 @@
Fall back to again not relying on xfixes to hide cursor. *sigh* Fall back to again not relying on xfixes to hide cursor. *sigh*
* clutter/clutter-deprecated.h: * clutter/clutter-deprecated.h:
Add clutter_group_find_child_by_id Add clutter_group_find_child_by_id
2008-02-01 Øyvind Kolås <pippin@o-hand.com> 2008-02-01 Øyvind Kolås <pippin@o-hand.com>
* clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size
@ -254,7 +263,7 @@
* (_clutter_actor_apply_modelview_transform_recursive): * (_clutter_actor_apply_modelview_transform_recursive):
Made to work for parentless actors. Made to work for parentless actors.
2008-01-31 Øyvind Kolås <pippin@o-hand.com> 2008-01-31 Øyvind Kolås <pippin@o-hand.com>
* tests/test-depth.c: added a box of cloned hands to further expand * tests/test-depth.c: added a box of cloned hands to further expand
@ -318,7 +327,7 @@
* clutter/clutter-actor.c: * clutter/clutter-actor.c:
* clutter/clutter-actor.h: * clutter/clutter-actor.h:
Added new clutter_actor_move_anchor_point_ API. Added new clutter_actor_move_anchor_point_ API.
* clutter/clutter-behaviour-scale.c: * clutter/clutter-behaviour-scale.c:
* clutter/clutter-behaviour-scale.h: * clutter/clutter-behaviour-scale.h:
* clutter/clutter-effect.c: * clutter/clutter-effect.c:

View File

@ -1213,7 +1213,7 @@ clutter_actor_set_property (GObject *object,
center = g_value_get_boxed (value); center = g_value_get_boxed (value);
clutter_actor_set_rotationx (actor, clutter_actor_set_rotationx (actor,
CLUTTER_X_AXIS, CLUTTER_Y_AXIS,
priv->ryang, priv->ryang,
CLUTTER_UNITS_TO_DEVICE (center->x), CLUTTER_UNITS_TO_DEVICE (center->x),
0, 0,
@ -1226,7 +1226,7 @@ clutter_actor_set_property (GObject *object,
center = g_value_get_boxed (value); center = g_value_get_boxed (value);
clutter_actor_set_rotationx (actor, clutter_actor_set_rotationx (actor,
CLUTTER_X_AXIS, CLUTTER_Z_AXIS,
priv->rzang, priv->rzang,
CLUTTER_UNITS_TO_DEVICE (center->x), CLUTTER_UNITS_TO_DEVICE (center->x),
CLUTTER_UNITS_TO_DEVICE (center->y), CLUTTER_UNITS_TO_DEVICE (center->y),

View File

@ -93,12 +93,11 @@ frame_cb (ClutterTimeline *timeline,
gint i; gint i;
/* Rotate everything clockwise about stage center*/ /* Rotate everything clockwise about stage center*/
clutter_actor_set_rotation (CLUTTER_ACTOR (oh->group), clutter_actor_set_rotation (CLUTTER_ACTOR (oh->group),
CLUTTER_Z_AXIS, CLUTTER_Z_AXIS,
frame_num, frame_num,
CLUTTER_STAGE_WIDTH() / 2, 0, 0, 0);
CLUTTER_STAGE_HEIGHT() / 2,
0);
for (i = 0; i < n_hands; i++) for (i = 0; i < n_hands; i++)
{ {
@ -111,9 +110,9 @@ frame_cb (ClutterTimeline *timeline,
* *
* FIXME: scaling causes drift so disabled for now. Need rotation * FIXME: scaling causes drift so disabled for now. Need rotation
* unit based functions to fix. * unit based functions to fix.
*/ */
clutter_actor_set_rotation (oh->hand[i], CLUTTER_Z_AXIS, clutter_actor_set_rotation (oh->hand[i], CLUTTER_Z_AXIS,
- 6.0 * frame_num, 0, 0, 0); - 6.0 * frame_num, 0, 0, 0);
} }
} }
@ -199,18 +198,15 @@ main (int argc, char *argv[])
x = CLUTTER_STAGE_WIDTH () / 2 x = CLUTTER_STAGE_WIDTH () / 2
+ radius + radius
* cos (i * M_PI / (n_hands / 2)) * cos (i * M_PI / (n_hands / 2));
- w / 2;
y = CLUTTER_STAGE_HEIGHT () / 2 y = CLUTTER_STAGE_HEIGHT () / 2
+ radius + radius
* sin (i * M_PI / (n_hands / 2)) * sin (i * M_PI / (n_hands / 2));
- h / 2;
clutter_actor_set_position (oh->hand[i], x, y);
clutter_actor_move_anchor_point_from_gravity (oh->hand[i], clutter_actor_move_anchor_point_from_gravity (oh->hand[i],
CLUTTER_GRAVITY_CENTER); CLUTTER_GRAVITY_CENTER);
clutter_actor_set_position (oh->hand[i], x, y);
/* Add to our group group */ /* Add to our group group */
clutter_container_add_actor (CLUTTER_CONTAINER (oh->group), oh->hand[i]); clutter_container_add_actor (CLUTTER_CONTAINER (oh->group), oh->hand[i]);
@ -225,6 +221,18 @@ main (int argc, char *argv[])
clutter_actor_show_all (oh->group); clutter_actor_show_all (oh->group);
clutter_actor_set_anchor_point_from_gravity (oh->group,
CLUTTER_GRAVITY_CENTER);
clutter_actor_set_position (oh->group,
CLUTTER_STAGE_WIDTH()/2,
CLUTTER_STAGE_HEIGHT()/2);
printf ("group %dx%d, stage %dx%d\n",
clutter_actor_get_width (oh->group),
clutter_actor_get_height (oh->group),
CLUTTER_STAGE_WIDTH(),
CLUTTER_STAGE_HEIGHT());
/* Add the group to the stage */ /* Add the group to the stage */
clutter_container_add_actor (CLUTTER_CONTAINER (stage), clutter_container_add_actor (CLUTTER_CONTAINER (stage),
CLUTTER_ACTOR (oh->group)); CLUTTER_ACTOR (oh->group));