Class
ClutterClickAction
Description [src]
class Clutter.ClickAction : Clutter.Action
{
  /* No available fields */
}Action for clickable actors
ClutterClickAction is a sub-class of ClutterAction that implements
the logic for clickable actors, by using the low level events of
ClutterActor, such as ClutterActor::button-press-event and
ClutterActor::button-release-event, to synthesize the high level
ClutterClickAction::clicked signal.
To use ClutterClickAction you just need to apply it to a ClutterActor
using clutter_actor_add_action() and connect to the
ClutterClickAction::clicked signal:
  ClutterAction *action = clutter_click_action_new ();
  clutter_actor_add_action (actor, action);
  g_signal_connect (action, "clicked", G_CALLBACK (on_clicked), NULL);
ClutterClickAction also supports long press gestures: a long press is
activated if the pointer remains pressed within a certain threshold (as
defined by the ClutterClickAction:long-press-threshold property) for a
minimum amount of time (as the defined by the
ClutterClickAction:long-press-duration property).
The ClutterClickAction::long-press signal is emitted multiple times,
using different ClutterLongPressState values; to handle long presses
you should connect to the ClutterClickAction::long-press signal and
handle the different states:
  static gboolean
  on_long_press (ClutterClickAction    *action,
                 ClutterActor          *actor,
                 ClutterLongPressState  state)
  {
    switch (state)
      {
      case CLUTTER_LONG_PRESS_QUERY:
        // return TRUE if the actor should support long press
        // gestures, and FALSE otherwise; this state will be
        // emitted on button presses
        return TRUE;
      case CLUTTER_LONG_PRESS_ACTIVATE:
        // this state is emitted if the minimum duration has
        // been reached without the gesture being cancelled.
        // the return value is not used
        return TRUE;
      case CLUTTER_LONG_PRESS_CANCEL:
        // this state is emitted if the long press was cancelled;
        // for instance, the pointer went outside the actor or the
        // allowed threshold, or the button was released before
        // the minimum duration was reached. the return value is
        // not used
        return FALSE;
      }
  }
Instance methods
clutter_click_action_release
Emulates a release of the pointer button, which ungrabs the pointer
and unsets the ClutterClickAction:pressed state.
Methods inherited from ClutterAction (1)
Methods inherited from ClutterActorMeta (5)
clutter_actor_meta_get_actor
Retrieves a pointer to the ClutterActor that owns meta.
clutter_actor_meta_get_enabled
Retrieves whether meta is enabled.
clutter_actor_meta_get_name
Retrieves the name set using clutter_actor_meta_set_name().
clutter_actor_meta_set_enabled
Sets whether meta should be enabled or not.
clutter_actor_meta_set_name
Sets the name of meta.
Properties
Clutter.ClickAction:long-press-duration
The minimum duration of a press for it to be recognized as a long press gesture, in milliseconds.
Clutter.ClickAction:long-press-threshold
The maximum allowed distance that can be covered (on both axes) before a long press gesture is cancelled, in pixels.
Properties inherited from ClutterActorMeta (3)
Clutter.ActorMeta:actor
The ClutterActor attached to the ClutterActorMeta instance.
Clutter.ActorMeta:enabled
Whether or not the ClutterActorMeta is enabled.
Clutter.ActorMeta:name
The unique name to access the ClutterActorMeta.
Signals
Clutter.ClickAction::clicked
The signal is emitted when the ClutterActor to which a ClutterClickAction has been applied should respond to a
pointer button press and release events.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct ClutterClickActionClass {
  void (* clicked) (
    ClutterClickAction* action,
    ClutterActor* actor
  );
  gboolean (* long_press) (
    ClutterClickAction* action,
    ClutterActor* actor,
    ClutterLongPressState state
  );
  
}The ClutterClickActionClass structure
contains only private data.
Class members
- clicked: void (* clicked) ( ClutterClickAction* action, ClutterActor* actor )
- Class handler for the - ClutterClickAction::clickedsignal.
- long_press: gboolean (* long_press) ( ClutterClickAction* action, ClutterActor* actor, ClutterLongPressState state )
- Class handler for the - ClutterClickAction::long-presssignal.