[clutter/wip/clutter-1.99: 6/28] 2.0: Remove ClutterActor::paint and ::pick signals
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/wip/clutter-1.99: 6/28] 2.0: Remove ClutterActor::paint and ::pick signals
- Date: Fri, 5 Oct 2012 16:54:14 +0000 (UTC)
commit dbb53824c1e59ae8a89121ec66751edf3cef952f
Author: Emmanuele Bassi <ebassi gnome org>
Date: Fri Aug 24 08:26:26 2012 +0100
2.0: Remove ClutterActor::paint and ::pick signals
clutter/clutter-actor.c | 109 +----------------------------------------------
1 files changed, 2 insertions(+), 107 deletions(-)
---
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index c0d6360..ef6a63d 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -927,8 +927,6 @@ enum
PARENT_SET,
KEY_FOCUS_IN,
KEY_FOCUS_OUT,
- PAINT,
- PICK,
REALIZE,
UNREALIZE,
QUEUE_REDRAW,
@@ -3681,8 +3679,7 @@ clutter_actor_continue_paint (ClutterActor *self)
clutter_actor_paint_node (self, dummy);
clutter_paint_node_unref (dummy);
- /* XXX:2.0 - Call the paint() virtual directly */
- g_signal_emit (self, actor_signals[PAINT], 0);
+ CLUTTER_ACTOR_GET_CLASS (self)->paint (self);
}
else
{
@@ -3696,7 +3693,7 @@ clutter_actor_continue_paint (ClutterActor *self)
*
* XXX:2.0 - Call the pick() virtual directly
*/
- g_signal_emit (self, actor_signals[PICK], 0, &col);
+ CLUTTER_ACTOR_GET_CLASS (self)->pick (self, &col);
}
}
else
@@ -7237,38 +7234,6 @@ clutter_actor_class_init (ClutterActorClass *klass)
CLUTTER_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
/**
- * ClutterActor::paint:
- * @actor: the #ClutterActor that received the signal
- *
- * The ::paint signal is emitted each time an actor is being painted.
- *
- * Subclasses of #ClutterActor should override the #ClutterActorClass.paint
- * virtual function paint themselves in that function.
- *
- * <warning>It is strongly discouraged to connect a signal handler to
- * the #ClutterActor::paint signal; if you want to change the paint
- * sequence of an existing #ClutterActor instance, either create a new
- * #ClutterActor class and override the #ClutterActorClass.paint virtual
- * function, or use a #ClutterEffect. The #ClutterActor::paint signal
- * will be removed in a future version of Clutter.</warning>
- *
- * Since: 0.8
- *
- * Deprecated: 1.12: Override the #ClutterActorClass.paint virtual
- * function, use a #ClutterContent implementation, or a #ClutterEffect
- * instead of connecting to this signal.
- */
- actor_signals[PAINT] =
- g_signal_new (I_("paint"),
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST |
- G_SIGNAL_NO_HOOKS |
- G_SIGNAL_DEPRECATED,
- G_STRUCT_OFFSET (ClutterActorClass, paint),
- NULL, NULL,
- _clutter_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- /**
* ClutterActor::realize:
* @actor: the #ClutterActor that received the signal
*
@@ -7304,36 +7269,6 @@ clutter_actor_class_init (ClutterActorClass *klass)
G_TYPE_NONE, 0);
/**
- * ClutterActor::pick:
- * @actor: the #ClutterActor that received the signal
- * @color: the #ClutterColor to be used when picking
- *
- * The ::pick signal is emitted each time an actor is being painted
- * in "pick mode". The pick mode is used to identify the actor during
- * the event handling phase, or by clutter_stage_get_actor_at_pos().
- * The actor should paint its shape using the passed @pick_color.
- *
- * Subclasses of #ClutterActor should override the class signal handler
- * and paint themselves in that function.
- *
- * It is possible to connect a handler to the ::pick signal in order
- * to set up some custom aspect of a paint in pick mode.
- *
- * Since: 1.0
- * Deprecated: 1.12: Override the #ClutterActorClass.pick virtual function
- * instead.
- */
- actor_signals[PICK] =
- g_signal_new (I_("pick"),
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
- G_STRUCT_OFFSET (ClutterActorClass, pick),
- NULL, NULL,
- _clutter_marshal_VOID__BOXED,
- G_TYPE_NONE, 1,
- CLUTTER_TYPE_COLOR | G_SIGNAL_TYPE_STATIC_SCOPE);
-
- /**
* ClutterActor::allocation-changed:
* @actor: the #ClutterActor that emitted the signal
* @box: a #ClutterActorBox with the new allocation
@@ -14632,46 +14567,6 @@ _clutter_actor_get_paint_volume_real (ClutterActor *self,
return FALSE;
}
- /* Check if there are any handlers connected to the paint
- * signal. If there are then all bets are off for what the paint
- * volume for this actor might possibly be!
- *
- * XXX: It's expected that this is going to end up being quite a
- * costly check to have to do here, but we haven't come up with
- * another solution that can reliably catch paint signal handlers at
- * the right time to either avoid artefacts due to invalid stage
- * clipping or due to incorrect culling.
- *
- * Previously we checked in clutter_actor_paint(), but at that time
- * we may already be using a stage clip that could be derived from
- * an invalid paint-volume. We used to try and handle that by
- * queuing a follow up, unclipped, redraw but still the previous
- * checking wasn't enough to catch invalid volumes involved in
- * culling (considering that containers may derive their volume from
- * children that haven't yet been painted)
- *
- * Longer term, improved solutions could be:
- * - Disallow painting in the paint signal, only allow using it
- * for tracking when paints happen. We can add another API that
- * allows monkey patching the paint of arbitrary actors but in a
- * more controlled way and that also supports modifying the
- * paint-volume.
- * - If we could be notified somehow when signal handlers are
- * connected we wouldn't have to poll for handlers like this.
- *
- * XXX:2.0 - Remove when we remove the paint signal
- */
- if (g_signal_has_handler_pending (self,
- actor_signals[PAINT],
- 0,
- TRUE))
- {
- CLUTTER_NOTE (CLIPPING, "Bail from get_paint_volume (%s): "
- "Actor has \"paint\" signal handlers",
- _clutter_actor_get_debug_name (self));
- return FALSE;
- }
-
_clutter_paint_volume_init_static (pv, self);
if (!CLUTTER_ACTOR_GET_CLASS (self)->get_paint_volume (self, pv))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]