| Clutter Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Signals | ||||
struct ClutterDropAction;
struct ClutterDropActionClass;
ClutterAction * clutter_drop_action_new (void);
GObject
+----GInitiallyUnowned
+----ClutterActorMeta
+----ClutterAction
+----ClutterDropAction
ClutterDropAction is a ClutterAction that allows a ClutterActor implementation to control what happens when a dragged actor 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.
ClutterDropAction is available since Clutter 1.8
struct ClutterDropAction;
The ClutterDropAction structure contains only private data and should be accessed using the provided API.
Since 1.8
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.
| class handler for the "can-drop" signal | |
| class handler for the "over-in" signal | |
| class handler for the "over-out" signal | |
| class handler for the "drop" signal |
Since 1.8
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
"can-drop" signalgboolean user_function (ClutterDropAction *action,
ClutterActor *actor,
gfloat Returns,
gfloat arg3,
gpointer user_data) : Run Last
The ::can-drop signal is emitted when the dragged actor is dropped
on actor. The return value of the ::can-drop signal will determine
whether or not the "drop" signal is going to be
emitted on action.
The default implementation of ClutterDropAction returns TRUE for
this signal.
|
the ClutterDropAction that emitted the signal |
|
the ClutterActor attached to the action
|
|
user data set when the signal handler was connected. |
Returns : |
TRUE if the drop is accepted, and FALSE otherwise |
Since 1.8
"drop" signalvoid user_function (ClutterDropAction *action,
ClutterActor *actor,
gfloat arg2,
gfloat arg3,
gpointer user_data) : Run Last
The ::drop signal is emitted when the dragged actor is dropped
on actor. This signal is only emitted if at least an handler of
"can-drop" returns TRUE.
|
the ClutterDropAction that emitted the signal |
|
the ClutterActor attached to the action
|
|
user data set when the signal handler was connected. |
Since 1.8
"over-in" signalvoid user_function (ClutterDropAction *action,
ClutterActor *actor,
gpointer user_data) : Run Last
The ::over-in signal is emitted when the dragged actor crosses
into actor.
|
the ClutterDropAction that emitted the signal |
|
the ClutterActor attached to the action
|
|
user data set when the signal handler was connected. |
Since 1.8
"over-out" signalvoid user_function (ClutterDropAction *action,
ClutterActor *actor,
gpointer user_data) : Run Last
The ::over-out signal is emitted when the dragged actor crosses
outside actor.
|
the ClutterDropAction that emitted the signal |
|
the ClutterActor attached to the action
|
|
user data set when the signal handler was connected. |
Since 1.8