ClutterDropAction

ClutterDropAction — An action for drop targets

Functions

Types and Values

Description

ClutterDropAction is a ClutterAction that allows a ClutterActor implementation to control what happens when an actor dragged using a ClutterDragAction crosses the target area or when a dragged actor is released (or "dropped") on the target area.

A trivial use of ClutterDropAction consists in connecting to the “drop” signal and handling the drop from there, for instance:

1
2
3
4
ClutterAction *action = clutter_drop_action ();

g_signal_connect (action, "drop", G_CALLBACK (on_drop), NULL);
clutter_actor_add_action (an_actor, action);

The “can-drop” can be used to control whether the “drop” signal is going to be emitted; returning FALSE from a handler connected to the “can-drop” signal will cause the “drop” signal to be skipped when the input device button is released.

It's important to note that ClutterDropAction will only work with actors dragged using ClutterDragAction.

See drop-action.c for an example of how to use ClutterDropAction.

ClutterDropAction is available since Clutter 1.8

Functions

clutter_drop_action_new ()

ClutterAction *
clutter_drop_action_new (void);

Creates a new ClutterDropAction.

Use clutter_actor_add_action() to add the action to a ClutterActor.

Returns

the newly created ClutterDropAction

Since: 1.8

Types and Values

struct ClutterDropAction

struct ClutterDropAction {
};

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

Since: 1.8


struct ClutterDropActionClass

struct ClutterDropActionClass {
  gboolean (* can_drop) (ClutterDropAction *action,
                         ClutterActor      *actor,
                         gfloat             event_x,
                         gfloat             event_y);

  void     (* over_in)  (ClutterDropAction *action,
                         ClutterActor      *actor);
  void     (* over_out) (ClutterDropAction *action,
                         ClutterActor      *actor);

  void     (* drop)     (ClutterDropAction *action,
                         ClutterActor      *actor,
                         gfloat             event_x,
                         gfloat             event_y);
};

The ClutterDropActionClass structure contains only private data.

Members

can_drop ()

class handler for the “can-drop” signal

 

over_in ()

class handler for the “over-in” signal

 

over_out ()

class handler for the “over-out” signal

 

drop ()

class handler for the “drop” signal

 

Since: 1.8