ClutterBehaviourRotate

ClutterBehaviourRotate — A behaviour controlling rotation

Synopsis

enum                ClutterRotateAxis;
enum                ClutterRotateDirection;
struct              ClutterBehaviourRotate;
struct              ClutterBehaviourRotateClass;
ClutterBehaviour *      clutter_behaviour_rotate_new    (ClutterAlpha *alpha,
                                                         ClutterRotateAxis axis,
                                                         ClutterRotateDirection direction,
                                                         gdouble angle_start,
                                                         gdouble angle_end);
void                clutter_behaviour_rotate_set_axis   (ClutterBehaviourRotate *rotate,
                                                         ClutterRotateAxis axis);
ClutterRotateAxis   clutter_behaviour_rotate_get_axis   (ClutterBehaviourRotate *rotate);
void                clutter_behaviour_rotate_set_direction
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterRotateDirection direction);
ClutterRotateDirection  clutter_behaviour_rotate_get_direction
                                                        (ClutterBehaviourRotate *rotate);
void                clutter_behaviour_rotate_set_bounds (ClutterBehaviourRotate *rotate,
                                                         gdouble angle_start,
                                                         gdouble angle_end);
void                clutter_behaviour_rotate_get_bounds (ClutterBehaviourRotate *rotate,
                                                         gdouble *angle_start,
                                                         gdouble *angle_end);
void                clutter_behaviour_rotate_set_center (ClutterBehaviourRotate *rotate,
                                                         gint x,
                                                         gint y,
                                                         gint z);
void                clutter_behaviour_rotate_get_center (ClutterBehaviourRotate *rotate,
                                                         gint *x,
                                                         gint *y,
                                                         gint *z);

Object Hierarchy

  GObject
   +----ClutterBehaviour
         +----ClutterBehaviourRotate

Implemented Interfaces

ClutterBehaviourRotate implements ClutterScriptable.

Properties

  "angle-end"                gdouble               : Read / Write
  "angle-start"              gdouble               : Read / Write
  "axis"                     ClutterRotateAxis     : Read / Write
  "center-x"                 gint                  : Read / Write
  "center-y"                 gint                  : Read / Write
  "center-z"                 gint                  : Read / Write
  "direction"                ClutterRotateDirection  : Read / Write

Description

A ClutterBehaviourRotate rotate actors between a starting and ending angle on a given axis.

The ClutterBehaviourRotate is available since version 0.4.

Details

enum ClutterRotateAxis

typedef enum { /*< prefix=CLUTTER >*/
  CLUTTER_X_AXIS,
  CLUTTER_Y_AXIS,
  CLUTTER_Z_AXIS
} ClutterRotateAxis;

Axis of a rotation.

CLUTTER_X_AXIS

Rotate around the X axis

CLUTTER_Y_AXIS

Rotate around the Y axis

CLUTTER_Z_AXIS

Rotate around the Z axis

Since 0.4


enum ClutterRotateDirection

typedef enum { /*< prefix=CLUTTER_ROTATE >*/
  CLUTTER_ROTATE_CW,
  CLUTTER_ROTATE_CCW
} ClutterRotateDirection;

Direction of a rotation.

CLUTTER_ROTATE_CW

Clockwise rotation

CLUTTER_ROTATE_CCW

Counter-clockwise rotation

Since 0.4


struct ClutterBehaviourRotate

struct ClutterBehaviourRotate;

The ClutterBehaviourRotate struct contains only private data and should be accessed using the provided API

Since 0.4


struct ClutterBehaviourRotateClass

struct ClutterBehaviourRotateClass {
};

The ClutterBehaviourRotateClass struct contains only private data

Since 0.4


clutter_behaviour_rotate_new ()

ClutterBehaviour *      clutter_behaviour_rotate_new    (ClutterAlpha *alpha,
                                                         ClutterRotateAxis axis,
                                                         ClutterRotateDirection direction,
                                                         gdouble angle_start,
                                                         gdouble angle_end);

Creates a new ClutterBehaviourRotate. This behaviour will rotate actors bound to it on axis, following direction, between angle_start and angle_end. Angles >= 360 degrees will be clamped to the canonical interval <0, 360), if angle_start == angle_end, the behaviour will carry out a single rotation of 360 degrees.

If alpha is not NULL, the ClutterBehaviour will take ownership of the ClutterAlpha instance. In the case when alpha is NULL, it can be set later with clutter_behaviour_set_alpha().

alpha :

a ClutterAlpha instance, or NULL. [allow-none]

axis :

the rotation axis

direction :

the rotation direction

angle_start :

the starting angle in degrees, between 0 and 360.

angle_end :

the final angle in degrees, between 0 and 360.

Returns :

the newly created ClutterBehaviourRotate.

Since 0.4


clutter_behaviour_rotate_set_axis ()

void                clutter_behaviour_rotate_set_axis   (ClutterBehaviourRotate *rotate,
                                                         ClutterRotateAxis axis);

Sets the axis used by the rotate behaviour.

Since 0.4


clutter_behaviour_rotate_get_axis ()

ClutterRotateAxis   clutter_behaviour_rotate_get_axis   (ClutterBehaviourRotate *rotate);

Retrieves the ClutterRotateAxis used by the rotate behaviour.

rotate :

a ClutterBehaviourRotate

Returns :

the rotation axis

Since 0.4


clutter_behaviour_rotate_set_direction ()

void                clutter_behaviour_rotate_set_direction
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterRotateDirection direction);

Sets the rotation direction used by the rotate behaviour.

rotate :

a ClutterBehaviourRotate

direction :

the rotation direction

Since 0.4


clutter_behaviour_rotate_get_direction ()

ClutterRotateDirection  clutter_behaviour_rotate_get_direction
                                                        (ClutterBehaviourRotate *rotate);

Retrieves the ClutterRotateDirection used by the rotate behaviour.

rotate :

a ClutterBehaviourRotate

Returns :

the rotation direction

Since 0.4


clutter_behaviour_rotate_set_bounds ()

void                clutter_behaviour_rotate_set_bounds (ClutterBehaviourRotate *rotate,
                                                         gdouble angle_start,
                                                         gdouble angle_end);

Sets the initial and final angles of a rotation behaviour; angles >= 360 degrees get clamped to the canonical interval <0, 360).

rotate :

a ClutterBehaviourRotate

angle_start :

initial angle in degrees, between 0 and 360.

angle_end :

final angle in degrees, between 0 and 360.

Since 0.4


clutter_behaviour_rotate_get_bounds ()

void                clutter_behaviour_rotate_get_bounds (ClutterBehaviourRotate *rotate,
                                                         gdouble *angle_start,
                                                         gdouble *angle_end);

Retrieves the rotation boundaries of the rotate behaviour.

rotate :

a ClutterBehaviourRotate

angle_start :

return value for the initial angle

angle_end :

return value for the final angle

Since 0.4


clutter_behaviour_rotate_set_center ()

void                clutter_behaviour_rotate_set_center (ClutterBehaviourRotate *rotate,
                                                         gint x,
                                                         gint y,
                                                         gint z);

Sets the center of rotation. The coordinates are relative to the plane normal to the rotation axis set with clutter_behaviour_rotate_set_axis().

rotate :

a ClutterBehaviourRotate

x :

X axis center of rotation

y :

Y axis center of rotation

z :

Z axis center of rotation

Since 0.4


clutter_behaviour_rotate_get_center ()

void                clutter_behaviour_rotate_get_center (ClutterBehaviourRotate *rotate,
                                                         gint *x,
                                                         gint *y,
                                                         gint *z);

Retrieves the center of rotation set using clutter_behaviour_rotate_set_center().

rotate :

a ClutterBehaviourRotate

x :

return location for the X center of rotation. [out]

y :

return location for the Y center of rotation. [out]

z :

return location for the Z center of rotation. [out]

Since 0.4

Property Details

The "angle-end" property

  "angle-end"                gdouble               : Read / Write

The final angle to where the rotation should end.

Allowed values: [0,360]

Default value: 0

Since 0.4


The "angle-start" property

  "angle-start"              gdouble               : Read / Write

The initial angle from whence the rotation should start.

Allowed values: [0,360]

Default value: 0

Since 0.4


The "axis" property

  "axis"                     ClutterRotateAxis     : Read / Write

The axis of rotation.

Default value: CLUTTER_Z_AXIS

Since 0.4


The "center-x" property

  "center-x"                 gint                  : Read / Write

The x center of rotation.

Allowed values: >= -2147483647

Default value: 0

Since 0.4


The "center-y" property

  "center-y"                 gint                  : Read / Write

The y center of rotation.

Allowed values: >= -2147483647

Default value: 0

Since 0.4


The "center-z" property

  "center-z"                 gint                  : Read / Write

The z center of rotation.

Allowed values: >= -2147483647

Default value: 0

Since 0.4


The "direction" property

  "direction"                ClutterRotateDirection  : Read / Write

The direction of the rotation.

Default value: CLUTTER_ROTATE_CW

Since 0.4