[clutter] a11y: Use existing clutter_actor_get_paint_visibility
- From: Alejandro PiÃeiro Iglesias <apinheiro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] a11y: Use existing clutter_actor_get_paint_visibility
- Date: Tue, 26 Jul 2011 14:25:04 +0000 (UTC)
commit 468f121f59ad0c10eac7ed42fb339e2861edae59
Author: Alejandro PiÃeiro <apinheiro igalia com>
Date: Tue Jul 26 15:56:18 2011 +0200
a11y: Use existing clutter_actor_get_paint_visibility
Cally was initially created with Clutter 0.6 in mind. To check
recursively the visibility of a actor a custom method was added.
Since 0.8.4 clutter_actor_get_pain_visibility provides
the same functionality.
Also removed a dummy method. Lets add methods that provide a real
functionality.
clutter/cally/cally-actor.c | 56 +++---------------------------------------
1 files changed, 4 insertions(+), 52 deletions(-)
---
diff --git a/clutter/cally/cally-actor.c b/clutter/cally/cally-actor.c
index 0302fd2..40f8d6e 100644
--- a/clutter/cally/cally-actor.c
+++ b/clutter/cally/cally-actor.c
@@ -153,8 +153,6 @@ static AtkObject* cally_actor_ref_child (AtkObject *obj,
gint i);
static AtkAttributeSet * cally_actor_get_attributes (AtkObject *obj);
-static gboolean _cally_actor_all_parents_visible (ClutterActor *actor);
-
/* ClutterContainer */
static gint cally_actor_add_actor (ClutterActor *container,
ClutterActor *actor,
@@ -185,7 +183,6 @@ static void cally_actor_remove_focus_handler (AtkComponent *component,
guint handler_id);
static void cally_actor_focus_event (AtkObject *obj,
gboolean focus_in);
-static gboolean _is_actor_on_screen (ClutterActor *actor);
/* AtkAction.h */
static void cally_actor_action_interface_init (AtkActionIface *iface);
@@ -543,9 +540,11 @@ cally_actor_ref_state_set (AtkObject *obj)
{
atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
- if (_is_actor_on_screen (actor) &&
- _cally_actor_all_parents_visible (actor))
+ /* It would be good to also check if the actor is on screen,
+ like the old and removed clutter_actor_is_on_stage*/
+ if (clutter_actor_get_paint_visibility (actor))
atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
+
}
/* See focus section on implementation notes */
@@ -888,18 +887,6 @@ cally_actor_remove_focus_handler (AtkComponent *component,
g_signal_handler_disconnect (component, handler_id);
}
-/* This method should check if the actor is currently on screen */
-static gboolean
-_is_actor_on_screen (ClutterActor *actor)
-{
- /* FIXME: FILL ME!!
- * You could get some ideas from clutter_actor_is_on_stage, a private clutter
- * function (note: it doesn't exists in the last versions of clutter)
- * A occlusion check could be a good idea too
- */
-
- return TRUE;
-}
/*
*
@@ -1139,41 +1126,6 @@ cally_actor_action_get_keybinding (AtkAction *action,
/* Misc functions */
/*
- * Checks if the parent actor, and his parent, etc is all visible
- * Used to check the showing property
- *
- * FIXME: the same functionality is implemented on clutter since version 0.8.4
- * by clutter_actor_get_paint_visibility, so we should change this function
- * if a clutter version update is made
- */
-static gboolean
-_cally_actor_all_parents_visible (ClutterActor *actor)
-{
- ClutterActor *iter_parent = NULL;
- gboolean result = TRUE;
- ClutterActor *stage = NULL;
-
- stage = clutter_actor_get_stage (actor);
-
- for (iter_parent = clutter_actor_get_parent(actor); iter_parent;
- iter_parent = clutter_actor_get_parent(iter_parent))
- {
- if (!CLUTTER_ACTOR_IS_VISIBLE (iter_parent))
- {
- /* stage parent */
- if (iter_parent != stage)
- result = FALSE;
- else
- result = TRUE;
-
- break;
- }
- }
-
- return result;
-}
-
-/*
* This function is a signal handler for key_focus_in and
* key_focus_out signal which gets emitted on a ClutterActor
*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]