ClutterBehaviourRotate

ClutterBehaviourRotate — A behaviour controlling rotation

Synopsis

enum                ClutterRotateAxis;
enum                ClutterRotateDirection;
                    ClutterBehaviourRotate;
                    ClutterBehaviourRotateClass;
ClutterBehaviour*   clutter_behaviour_rotate_new        (ClutterAlpha *alpha,
                                                         ClutterRotateAxis axis,
                                                         ClutterRotateDirection direction,
                                                         gdouble angle_start,
                                                         gdouble angle_end);
ClutterBehaviour*   clutter_behaviour_rotate_newx       (ClutterAlpha *alpha,
                                                         ClutterRotateAxis axis,
                                                         ClutterRotateDirection direction,
                                                         ClutterFixed angle_start,
                                                         ClutterFixed 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_set_boundsx
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterFixed angle_start,
                                                         ClutterFixed angle_end);
void                clutter_behaviour_rotate_get_bounds (ClutterBehaviourRotate *rotate,
                                                         gdouble *angle_start,
                                                         gdouble *angle_end);
void                clutter_behaviour_rotate_get_boundsx
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterFixed *angle_start,
                                                         ClutterFixed *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

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


ClutterBehaviourRotate

typedef struct _ClutterBehaviourRotate ClutterBehaviourRotate;


ClutterBehaviourRotateClass

typedef struct {
  ClutterBehaviourClass parent_class;
} ClutterBehaviourRotateClass;


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.

alpha :

a ClutterAlpha, or NULL

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_newx ()

ClutterBehaviour*   clutter_behaviour_rotate_newx       (ClutterAlpha *alpha,
                                                         ClutterRotateAxis axis,
                                                         ClutterRotateDirection direction,
                                                         ClutterFixed angle_start,
                                                         ClutterFixed angle_end);

Creates a new ClutterBehaviourRotate. This is the fixed point version of clutter_behaviour_rotate_new().

alpha :

a ClutterAlpha or NULL

axis :

the rotation axis

direction :

the rotation direction

angle_start :

the starting angle, in fixed point notation in degrees, between 0 and 360.

angle_end :

the final angle, in fixed point notation 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_set_boundsx ()

void                clutter_behaviour_rotate_set_boundsx
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterFixed angle_start,
                                                         ClutterFixed angle_end);

Fixed point version of clutter_behaviour_rotate_set_bounds().

rotate :

a ClutterBehaviourRotate

angle_start :

initial angle, in fixed point notation in degrees, between 0 and 360.

angle_end :

final angle, in fixed point notation in degress, 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_get_boundsx ()

void                clutter_behaviour_rotate_get_boundsx
                                                        (ClutterBehaviourRotate *rotate,
                                                         ClutterFixed *angle_start,
                                                         ClutterFixed *angle_end);

Retrieves the rotation boundaries of the rotate behaviour. This is the fixed point notation version of clutter_behaviour_rotate_get_bounds().

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

y :

return location for the Y center of rotation

z :

return location for the Z center of rotation

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