ClutterZoomAction

ClutterZoomAction — Action enabling zooming on actors

Properties

ClutterZoomAxis zoom-axis Read / Write

Signals

gboolean zoom Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── ClutterActorMeta
            ╰── ClutterAction
                ╰── ClutterGestureAction
                    ╰── ClutterZoomAction

Description

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:

will automatically result in the actor to be scale according to the distance between two touch points.

Functions

clutter_zoom_action_new ()

ClutterAction *
clutter_zoom_action_new (void);

Creates a new ClutterZoomAction instance

Returns

the newly created ClutterZoomAction

Since: 1.12


clutter_zoom_action_set_zoom_axis ()

void
clutter_zoom_action_set_zoom_axis (ClutterZoomAction *action,
                                   ClutterZoomAxis axis);

Restricts the zooming action to a specific axis

Parameters

action

a ClutterZoomAction

 

axis

the axis to constraint the zooming to

 

Since: 1.12


clutter_zoom_action_get_zoom_axis ()

ClutterZoomAxis
clutter_zoom_action_get_zoom_axis (ClutterZoomAction *action);

Retrieves the axis constraint set by clutter_zoom_action_set_zoom_axis()

Parameters

action

a ClutterZoomAction

 

Returns

the axis constraint

Since: 1.12


clutter_zoom_action_get_focal_point ()

void
clutter_zoom_action_get_focal_point (ClutterZoomAction *action,
                                     ClutterPoint *point);

Retrieves the focal point of the current zoom

Parameters

action

a ClutterZoomAction

 

point

a ClutterPoint.

[out]

Since: 1.12


clutter_zoom_action_get_transformed_focal_point ()

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

Parameters

action

a ClutterZoomAction

 

point

a ClutterPoint.

[out]

Since: 1.12

Types and Values

struct ClutterZoomAction

struct ClutterZoomAction;

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

Since: 1.12


struct ClutterZoomActionClass

struct ClutterZoomActionClass {
  gboolean (* zoom)  (ClutterZoomAction *action,
                      ClutterActor      *actor,
                      ClutterPoint      *focal_point,
                      gdouble            factor);
};

The ClutterZoomActionClass structure contains only private data

Members

zoom ()

class handler of the “zoom” signal

 

Since: 1.12


enum ClutterZoomAxis

The axis of the constraint that should be applied by the zooming action.

Members

CLUTTER_ZOOM_X_AXIS

Scale only on the X axis

 

CLUTTER_ZOOM_Y_AXIS

Scale only on the Y axis

 

CLUTTER_ZOOM_BOTH

Scale on both axis

 

Since: 1.12

Property Details

The “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

Signal Details

The “zoom” signal

gboolean
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.

Parameters

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.

 

Returns

TRUE if the zoom should continue, and FALSE if the zoom should be cancelled.

Flags: Run Last

Since: 1.12