#include "cally.h"
+#include "cally-actor.h"
+#include "cally-group.h"
+#include "cally-stage.h"
+#include "cally-text.h"
+#include "cally-texture.h"
+#include "cally-rectangle.h"
+#include "cally-clone.h"
+
#include "cally-factory.h"
#include "cally-util.h"
-extern void gnome_accessibility_module_init (void);
-extern void gnome_accessibility_module_shutdown (void);
+#include "clutter-debug.h"
static int cally_initialized = FALSE;
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_RECTANGLE, cally_rectangle, cally_rectangle_new)
CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_CLONE, cally_clone, cally_clone_new)
-void
-cally_accessibility_module_init(void)
+/**
+ * cally_acccessibility_init:
+ *
+ * Initializes the accessibility support.
+ *
+ * Return value: %TRUE if accessibility support has been correctly
+ * initialized.
+ *
+ * Since: 1.4
+ */
+gboolean
+cally_accessibility_init (void)
{
if (cally_initialized)
- return;
+ return TRUE;
cally_initialized = TRUE;
/* Initialize the CallyUtility class */
g_type_class_unref (g_type_class_ref (CALLY_TYPE_UTIL));
- g_message ("Clutter Accessibility Module initialized");
-}
-
+ CLUTTER_NOTE (MISC, "Clutter Accessibility initialized");
-/**
- * gnome_accessibility_module_shutdown:
- * @void:
- *
- * Common gnome hook to be used in order to activate the module
- **/
-void
-gnome_accessibility_module_init (void)
-{
- cally_accessibility_module_init ();
+ return cally_initialized;
}
/**
- * gnome_accessibility_module_shutdown:
- * @void:
+ * cally_get_cally_initialized:
+ *
+ * Returns if the accessibility support using cally is enabled.
*
- * Common gnome hook to be used in order to de-activate the module
- **/
-void
-gnome_accessibility_module_shutdown (void)
+ * Return value: %TRUE if accessibility support has been correctly
+ * initialized.
+ *
+ * Since: 1.4
+ */
+gboolean cally_get_cally_initialized (void)
{
- if (!cally_initialized)
- return;
-
- cally_initialized = FALSE;
-
- g_message ("Clutter Accessibility Module shutdown");
+ return cally_initialized;
}
#ifndef __CALLY_H
#define __CALLY_H
-#include "cally-actor.h"
-#include "cally-group.h"
-#include "cally-stage.h"
-#include "cally-text.h"
-#include "cally-texture.h"
-#include "cally-rectangle.h"
-#include "cally-clone.h"
+#include <clutter/clutter.h>
G_BEGIN_DECLS
-void cally_accessibility_module_init(void);
+gboolean cally_get_cally_initialized (void);
+gboolean cally_accessibility_init (void);
G_END_DECLS
#include "cogl/cogl.h"
#include "pango/cogl-pango.h"
+#include "cally.h" /* For accessibility support */
+
/* main context */
static ClutterMainContext *ClutterCntx = NULL;
static gboolean clutter_fatal_warnings = FALSE;
static gboolean clutter_disable_mipmap_text = FALSE;
static gboolean clutter_use_fuzzy_picking = FALSE;
+static gboolean clutter_enable_accessibility = TRUE;
static guint clutter_default_fps = 60;
return clutter_show_fps;
}
+/**
+ * clutter_get_accessibility_enabled:
+ *
+ * Returns whether Clutter has accessibility support enabled. As
+ * least, a value of TRUE means that there are a proper AtkUtil
+ * implementation available
+ *
+ * Return value: %TRUE if Clutter has accessibility support enabled
+ *
+ * Since: 1.4
+ */
+gboolean
+clutter_get_accessibility_enabled (void)
+{
+ return cally_get_cally_initialized ();
+}
+
+
void
_clutter_stage_maybe_relayout (ClutterActor *stage)
{
clutter_is_initialized = TRUE;
ctx->is_initialized = TRUE;
+ /* Initialize a11y */
+ if (clutter_enable_accessibility)
+ cally_accessibility_init ();
+
return CLUTTER_INIT_SUCCESS;
}
{ "clutter-no-profile", 0, 0, G_OPTION_ARG_CALLBACK, clutter_arg_no_profile_cb,
N_("Clutter profiling flags to unset"), "FLAGS" },
#endif /* CLUTTER_ENABLE_PROFILE */
+ { "clutter-enable-accessibility", 0, 0, G_OPTION_ARG_NONE, &clutter_enable_accessibility,
+ N_("Enable accessibility"), NULL },
{ NULL, },
};
gboolean clutter_get_debug_enabled (void);
gboolean clutter_get_show_fps (void);
gulong clutter_get_timestamp (void);
+gboolean clutter_get_accessibility_enabled (void);
/* Threading functions */
void clutter_threads_init (void);