2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>

* clutter/clutter-clone-texture.c (set_parent_texture): Hide the
	clone texture only if it was visible, and show it again if we
	are adding a visible texture.

	* tests/test-script.json: Test the CloneTexture actor.
This commit is contained in:
Emmanuele Bassi 2007-11-14 13:36:31 +00:00
parent 4de1adb04a
commit baad0f5b0d
3 changed files with 30 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-clone-texture.c (set_parent_texture): Hide the
clone texture only if it was visible, and show it again if we
are adding a visible texture.
* tests/test-script.json: Test the CloneTexture actor.
2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to

View File

@ -236,14 +236,16 @@ set_parent_texture (ClutterCloneTexture *ctexture,
{
ClutterCloneTexturePrivate *priv = ctexture->priv;
ClutterActor *actor = CLUTTER_ACTOR (ctexture);
gboolean was_visible = CLUTTER_ACTOR_IS_VISIBLE (ctexture);
if (priv->parent_texture)
{
g_object_unref (priv->parent_texture);
priv->parent_texture = NULL;
}
clutter_actor_hide (actor);
if (was_visible)
clutter_actor_hide (actor);
}
if (texture)
{
@ -256,9 +258,12 @@ set_parent_texture (ClutterCloneTexture *ctexture,
clutter_actor_set_size (actor, width, height);
/* queue a redraw if the cloned texture is already visible */
if (CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR (priv->parent_texture)) &&
CLUTTER_ACTOR_IS_VISIBLE (actor))
clutter_actor_queue_redraw (actor);
if (CLUTTER_ACTOR_IS_VISIBLE (priv->parent_texture) &&
was_visible)
{
clutter_actor_show (actor);
clutter_actor_queue_redraw (actor);
}
}
}

View File

@ -10,13 +10,10 @@
"id" : "red-button",
"type" : "ClutterRectangle",
"color" : "#ff0000ff",
"x" : 50,
"y" : 50,
"width" : 100,
"height" : 100,
"x" : 50, "y" : 50, "width" : 100, "height" : 100,
"visible" : true,
"reactive" : true,
"behaviours" : [ "fade-behaviour", "path-behaviour" ]
"behaviours" : [ "fade-behaviour", "path-behaviour" ],
},
{
"id" : "green-button",
@ -36,11 +33,20 @@
"type" : "ClutterTexture",
"pixbuf" : "redhand.png",
"x" : 50,
"y" : 50,
"y" : 150,
"opacity" : 100,
"visible" : true,
"behaviours" : [ "rotate-behaviour", "fade-behaviour" ]
},
{
"id" : "red-hand-clone",
"type" : "ClutterCloneTexture",
"parent-texture" : "red-hand",
"x" : 250,
"y" : 150,
"opacity" : 100,
"visible" : true
},
{
"id" : "label",
"type" : "ClutterLabel",