## CallyActor

CallyActor — Implementation of the ATK interfaces for ClutterActor

## Synopsis

    struct              CallyActor;
    struct              CallyActorClass;
    void                (*CallyActionFunc)                  (CallyActor *cally_actor);
    AtkObject *         cally_actor_new                     (ClutterActor *actor);
    guint               cally_actor_add_action              (CallyActor *cally_actor,
                                                             const gchar *action_name,
                                                             const gchar *action_description,
                                                             const gchar *action_keybinding,
                                                             CallyActionFunc action_func);
    gboolean            cally_actor_remove_action           (CallyActor *cally_actor,
                                                             gint action_id);
    gboolean            cally_actor_remove_action_by_name   (CallyActor *cally_actor,
                                                             const gchar *action_name);

## Object Hierarchy

      GObject
       +----AtkObject
             +----AtkGObjectAccessible
                   +----CallyActor
                         +----CallyClone
                         +----CallyGroup
                         +----CallyRectangle
                         +----CallyText
                         +----CallyTexture

## Implemented Interfaces

CallyActor implements AtkComponent and AtkAction.

## Description

CallyActor implements the required ATK interfaces of ClutterActor exposing the common elements on each actor (position, extents, etc).

## Details

### struct CallyActor

    struct CallyActor;

The CallyActor structure contains only private data and should be accessed using the provided API

Since 1.4

### struct CallyActorClass

    struct CallyActorClass {
      /* Signal handler for notify signal on Clutter Actor */
      void     (*notify_clutter) (GObject    *object,
                                  GParamSpec *pspec);

      /*
       * Signal handler for key_focus_in and key_focus_out on Clutter Actor
       */
      gboolean (*focus_clutter)  (ClutterActor *actor,
                                  gpointer      data);

      gint     (*add_actor)      (ClutterActor *container,
                                  ClutterActor *actor,
                                  gpointer      data);

      gint     (*remove_actor)   (ClutterActor *container,
                                  ClutterActor *actor,
                                  gpointer      data);
    };

The CallyActorClass structure contains only private data

`notify_clutter` () | Signal handler for notify signal on Clutter actor
`focus_clutter` () | Signal handler for key-focus-in and key-focus-out signal on Clutter actor
`add_actor` () | Signal handler for actor-added signal on ClutterContainer interface
`remove_actor` () | Signal handler for actor-added signal on ClutterContainer interface

Since 1.4

### CallyActionFunc ()

    void                (*CallyActionFunc)                  (CallyActor *cally_actor);

Action function, to be used on AtkAction implementations as a individual action

`cally_actor` : | a CallyActor

Since 1.4

### cally_actor_new ()

    AtkObject *         cally_actor_new                     (ClutterActor *actor);

Creates a new CallyActor for the given `actor`

`actor` : | a ClutterActor
Returns : | the newly created AtkObject

Since 1.4

### cally_actor_add_action ()

    guint               cally_actor_add_action              (CallyActor *cally_actor,
                                                             const gchar *action_name,
                                                             const gchar *action_description,
                                                             const gchar *action_keybinding,
                                                             CallyActionFunc action_func);

Adds a new action to be accessed with the AtkAction interface.

`cally_actor` : | a CallyActor
`action_name` : | the action name
`action_description` : | the action description
`action_keybinding` : | the action keybinding
`action_func` : | the callback of the action, to be executed with do_action
Returns : | added action id, or 0 if failure

Since 1.4

### cally_actor_remove_action ()

    gboolean            cally_actor_remove_action           (CallyActor *cally_actor,
                                                             gint action_id);

Removes a action, using the `action_id` returned by `cally_actor_add_action()`

`cally_actor` : | a CallyActor
`action_id` : | the action id
Returns : | `TRUE` if the operation was succesful, `FALSE` otherwise

Since 1.4

### cally_actor_remove_action_by_name ()

    gboolean            cally_actor_remove_action_by_name   (CallyActor *cally_actor,
                                                             const gchar *action_name);

Removes an action, using the `action_name` used when the action was added with `cally_actor_add_action()`

`cally_actor` : | a CallyActor
`action_name` : | the name of the action to remove
Returns : | `TRUE` if the operation was succesful, `FALSE` otherwise

Since 1.4

## See Also

ClutterActor