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:
parent
4de1adb04a
commit
baad0f5b0d
@ -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>
|
2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
* clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
|
* clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
|
||||||
|
@ -236,14 +236,16 @@ set_parent_texture (ClutterCloneTexture *ctexture,
|
|||||||
{
|
{
|
||||||
ClutterCloneTexturePrivate *priv = ctexture->priv;
|
ClutterCloneTexturePrivate *priv = ctexture->priv;
|
||||||
ClutterActor *actor = CLUTTER_ACTOR (ctexture);
|
ClutterActor *actor = CLUTTER_ACTOR (ctexture);
|
||||||
|
gboolean was_visible = CLUTTER_ACTOR_IS_VISIBLE (ctexture);
|
||||||
|
|
||||||
if (priv->parent_texture)
|
if (priv->parent_texture)
|
||||||
{
|
{
|
||||||
g_object_unref (priv->parent_texture);
|
g_object_unref (priv->parent_texture);
|
||||||
priv->parent_texture = NULL;
|
priv->parent_texture = NULL;
|
||||||
}
|
|
||||||
|
|
||||||
clutter_actor_hide (actor);
|
if (was_visible)
|
||||||
|
clutter_actor_hide (actor);
|
||||||
|
}
|
||||||
|
|
||||||
if (texture)
|
if (texture)
|
||||||
{
|
{
|
||||||
@ -256,9 +258,12 @@ set_parent_texture (ClutterCloneTexture *ctexture,
|
|||||||
clutter_actor_set_size (actor, width, height);
|
clutter_actor_set_size (actor, width, height);
|
||||||
|
|
||||||
/* queue a redraw if the cloned texture is already visible */
|
/* queue a redraw if the cloned texture is already visible */
|
||||||
if (CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR (priv->parent_texture)) &&
|
if (CLUTTER_ACTOR_IS_VISIBLE (priv->parent_texture) &&
|
||||||
CLUTTER_ACTOR_IS_VISIBLE (actor))
|
was_visible)
|
||||||
clutter_actor_queue_redraw (actor);
|
{
|
||||||
|
clutter_actor_show (actor);
|
||||||
|
clutter_actor_queue_redraw (actor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,13 +10,10 @@
|
|||||||
"id" : "red-button",
|
"id" : "red-button",
|
||||||
"type" : "ClutterRectangle",
|
"type" : "ClutterRectangle",
|
||||||
"color" : "#ff0000ff",
|
"color" : "#ff0000ff",
|
||||||
"x" : 50,
|
"x" : 50, "y" : 50, "width" : 100, "height" : 100,
|
||||||
"y" : 50,
|
|
||||||
"width" : 100,
|
|
||||||
"height" : 100,
|
|
||||||
"visible" : true,
|
"visible" : true,
|
||||||
"reactive" : true,
|
"reactive" : true,
|
||||||
"behaviours" : [ "fade-behaviour", "path-behaviour" ]
|
"behaviours" : [ "fade-behaviour", "path-behaviour" ],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id" : "green-button",
|
"id" : "green-button",
|
||||||
@ -36,11 +33,20 @@
|
|||||||
"type" : "ClutterTexture",
|
"type" : "ClutterTexture",
|
||||||
"pixbuf" : "redhand.png",
|
"pixbuf" : "redhand.png",
|
||||||
"x" : 50,
|
"x" : 50,
|
||||||
"y" : 50,
|
"y" : 150,
|
||||||
"opacity" : 100,
|
"opacity" : 100,
|
||||||
"visible" : true,
|
"visible" : true,
|
||||||
"behaviours" : [ "rotate-behaviour", "fade-behaviour" ]
|
"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",
|
"id" : "label",
|
||||||
"type" : "ClutterLabel",
|
"type" : "ClutterLabel",
|
||||||
|
Loading…
Reference in New Issue
Block a user