Top |
GObject ╰── GInitiallyUnowned ╰── ClutterActorMeta ╰── ClutterAction ╰── ClutterGestureAction ╰── ClutterZoomAction
ClutterZoomAction is a sub-class of ClutterGestureAction that implements all the necessary logic for zooming actors using a "pinch" gesture between two touch points.
The simplest usage of ClutterZoomAction consists in adding it to a ClutterActor and setting it as reactive; for instance, the following code:
1 2 |
clutter_actor_add_action (actor, clutter_zoom_action_new ()); clutter_actor_set_reactive (actor, TRUE); |
will automatically result in the actor to be scale according to the distance between two touch points.
ClutterAction *
clutter_zoom_action_new (void
);
Creates a new ClutterZoomAction instance
Since: 1.12
void clutter_zoom_action_set_zoom_axis (ClutterZoomAction *action
,ClutterZoomAxis axis
);
Restricts the zooming action to a specific axis
Since: 1.12
ClutterZoomAxis
clutter_zoom_action_get_zoom_axis (ClutterZoomAction *action
);
Retrieves the axis constraint set by clutter_zoom_action_set_zoom_axis()
Since: 1.12
void clutter_zoom_action_get_focal_point (ClutterZoomAction *action
,ClutterPoint *point
);
Retrieves the focal point of the current zoom
Since: 1.12
void clutter_zoom_action_get_transformed_focal_point (ClutterZoomAction *action
,ClutterPoint *point
);
Retrieves the focal point relative to the actor's coordinates of the current zoom
Since: 1.12
struct ClutterZoomAction;
The ClutterZoomAction structure contains only private data and should be accessed using the provided API
Since: 1.12
struct ClutterZoomActionClass { gboolean (* zoom) (ClutterZoomAction *action, ClutterActor *actor, ClutterPoint *focal_point, gdouble factor); };
The ClutterZoomActionClass structure contains only private data
Since: 1.12
The axis of the constraint that should be applied by the zooming action.
Since: 1.12
“zoom-axis”
property“zoom-axis” ClutterZoomAxis
Constraints the zooming action to the specified axis
Flags: Read / Write
Default value: CLUTTER_ZOOM_BOTH
Since: 1.12
“zoom”
signalgboolean user_function (ClutterZoomAction *action, ClutterActor *actor, ClutterPoint *focal_point, gdouble factor, gpointer user_data)
The ::zoom signal is emitted for each series of touch events that change the distance and focal point between the touch points.
The default handler of the signal will call
clutter_actor_set_scale()
on actor
using the ratio of the first
distance between the touch points and the current distance. To
override the default behaviour, connect to this signal and return
FALSE
.
action |
the ClutterZoomAction that emitted the signal |
|
actor |
the ClutterActor attached to the action |
|
focal_point |
the focal point of the zoom |
|
factor |
the initial distance between the 2 touch points |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 1.12