ClutterBehaviourEllipse

ClutterBehaviourEllipse — A behaviour interpolating position along an ellipse

Synopsis

struct              ClutterBehaviourEllipse;
struct              ClutterBehaviourEllipseClass;
ClutterBehaviour *  clutter_behaviour_ellipse_new       (ClutterAlpha *alpha,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         ClutterRotateDirection direction,
                                                         gdouble start,
                                                         gdouble end);
void                clutter_behaviour_ellipse_set_center
                                                        (ClutterBehaviourEllipse *self,
                                                         gint x,
                                                         gint y);
void                clutter_behaviour_ellipse_get_center
                                                        (ClutterBehaviourEllipse *self,
                                                         gint *x,
                                                         gint *y);
void                clutter_behaviour_ellipse_set_angle_start
                                                        (ClutterBehaviourEllipse *self,
                                                         gdouble angle_start);
gdouble             clutter_behaviour_ellipse_get_angle_start
                                                        (ClutterBehaviourEllipse *self);
void                clutter_behaviour_ellipse_set_angle_end
                                                        (ClutterBehaviourEllipse *self,
                                                         gdouble angle_end);
gdouble             clutter_behaviour_ellipse_get_angle_end
                                                        (ClutterBehaviourEllipse *self);
void                clutter_behaviour_ellipse_set_angle_tilt
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateAxis axis,
                                                         gdouble angle_tilt);
gdouble             clutter_behaviour_ellipse_get_angle_tilt
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateAxis axis);
void                clutter_behaviour_ellipse_set_height
                                                        (ClutterBehaviourEllipse *self,
                                                         gint height);
gint                clutter_behaviour_ellipse_get_height
                                                        (ClutterBehaviourEllipse *self);
void                clutter_behaviour_ellipse_set_width (ClutterBehaviourEllipse *self,
                                                         gint width);
gint                clutter_behaviour_ellipse_get_width (ClutterBehaviourEllipse *self);
void                clutter_behaviour_ellipse_set_tilt  (ClutterBehaviourEllipse *self,
                                                         gdouble angle_tilt_x,
                                                         gdouble angle_tilt_y,
                                                         gdouble angle_tilt_z);
void                clutter_behaviour_ellipse_get_tilt  (ClutterBehaviourEllipse *self,
                                                         gdouble *angle_tilt_x,
                                                         gdouble *angle_tilt_y,
                                                         gdouble *angle_tilt_z);
void                clutter_behaviour_ellipse_set_direction
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateDirection direction);
ClutterRotateDirection clutter_behaviour_ellipse_get_direction
                                                        (ClutterBehaviourEllipse *self);

Object Hierarchy

  GObject
   +----ClutterBehaviour
         +----ClutterBehaviourEllipse

Implemented Interfaces

ClutterBehaviourEllipse implements ClutterScriptable.

Properties

  "angle-end"                gdouble               : Read / Write
  "angle-start"              gdouble               : Read / Write
  "angle-tilt-x"             gdouble               : Read / Write
  "angle-tilt-y"             gdouble               : Read / Write
  "angle-tilt-z"             gdouble               : Read / Write
  "center"                   ClutterKnot*          : Read / Write
  "direction"                ClutterRotateDirection  : Read / Write
  "height"                   gint                  : Read / Write
  "width"                    gint                  : Read / Write

Description

ClutterBehaviourEllipse interpolates actors along a path defined by an ellipse.

Note

When applying an ellipse behaviour to an actor, the behaviour will update the actor's position and depth and set them to what is dictated by the ellipses initial position.

Details

struct ClutterBehaviourEllipse

struct ClutterBehaviourEllipse;

Warning

ClutterBehaviourEllipse is deprecated and should not be used in newly-written code. 1.6

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

Since 0.4


struct ClutterBehaviourEllipseClass

struct ClutterBehaviourEllipseClass {
};

Warning

ClutterBehaviourEllipseClass is deprecated and should not be used in newly-written code. 1.6

The ClutterBehaviourEllipseClass struct contains only private data

Since 0.4


clutter_behaviour_ellipse_new ()

ClutterBehaviour *  clutter_behaviour_ellipse_new       (ClutterAlpha *alpha,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height,
                                                         ClutterRotateDirection direction,
                                                         gdouble start,
                                                         gdouble end);

Creates a behaviour that drives actors along an elliptical path with given center, width and height; the movement starts at start degrees (with 0 corresponding to 12 o'clock) and ends at end degrees. Angles greated than 360 degrees get clamped to the canonical interval <0, 360); if start is equal to end, the behaviour will rotate by exacly 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]

x :

x coordinace of the center

y :

y coordiance of the center

width :

width of the ellipse

height :

height of the ellipse

direction :

ClutterRotateDirection of rotation

start :

angle in degrees at which movement starts, between 0 and 360

end :

angle in degrees at which movement ends, between 0 and 360

Returns :

the newly created ClutterBehaviourEllipse

Since 0.4


clutter_behaviour_ellipse_set_center ()

void                clutter_behaviour_ellipse_set_center
                                                        (ClutterBehaviourEllipse *self,
                                                         gint x,
                                                         gint y);

Sets the center of the elliptical path to the point represented by knot.

self :

a ClutterBehaviourEllipse

x :

x coordinace of centre

y :

y coordinace of centre

Since 0.4


clutter_behaviour_ellipse_get_center ()

void                clutter_behaviour_ellipse_get_center
                                                        (ClutterBehaviourEllipse *self,
                                                         gint *x,
                                                         gint *y);

Gets the center of the elliptical path path.

self :

a ClutterBehaviourEllipse

x :

return location for the X coordinate of the center, or NULL. [out]

y :

return location for the Y coordinate of the center, or NULL. [out]

Since 0.4


clutter_behaviour_ellipse_set_angle_start ()

void                clutter_behaviour_ellipse_set_angle_start
                                                        (ClutterBehaviourEllipse *self,
                                                         gdouble angle_start);

Sets the angle at which movement starts; angles >= 360 degress get clamped to the canonical interval <0, 360).

self :

a ClutterBehaviourEllipse

angle_start :

angle at which movement starts in degrees, between 0 and 360.

Since 0.6


clutter_behaviour_ellipse_get_angle_start ()

gdouble             clutter_behaviour_ellipse_get_angle_start
                                                        (ClutterBehaviourEllipse *self);

Gets the angle at which movements starts.

self :

a ClutterBehaviourEllipse

Returns :

angle in degrees

Since 0.6


clutter_behaviour_ellipse_set_angle_end ()

void                clutter_behaviour_ellipse_set_angle_end
                                                        (ClutterBehaviourEllipse *self,
                                                         gdouble angle_end);

Sets the angle at which movement ends; angles >= 360 degress get clamped to the canonical interval <0, 360).

self :

a ClutterBehaviourEllipse

angle_end :

angle at which movement ends in degrees, between 0 and 360.

Since 0.4


clutter_behaviour_ellipse_get_angle_end ()

gdouble             clutter_behaviour_ellipse_get_angle_end
                                                        (ClutterBehaviourEllipse *self);

Gets the at which movements ends.

self :

a ClutterBehaviourEllipse

Returns :

angle in degrees

Since 0.4


clutter_behaviour_ellipse_set_angle_tilt ()

void                clutter_behaviour_ellipse_set_angle_tilt
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateAxis axis,
                                                         gdouble angle_tilt);

Sets the angle at which the ellipse should be tilted around it's center.

self :

a ClutterBehaviourEllipse

axis :

a ClutterRotateAxis

angle_tilt :

tilt of the elipse around the center in the given axis in degrees.

Since 0.4


clutter_behaviour_ellipse_get_angle_tilt ()

gdouble             clutter_behaviour_ellipse_get_angle_tilt
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateAxis axis);

Gets the tilt of the ellipse around the center in the given axis.

self :

a ClutterBehaviourEllipse

axis :

a ClutterRotateAxis

Returns :

angle in degrees.

Since 0.4


clutter_behaviour_ellipse_set_height ()

void                clutter_behaviour_ellipse_set_height
                                                        (ClutterBehaviourEllipse *self,
                                                         gint height);

Sets the height of the elliptical path.

self :

a ClutterBehaviourEllipse

height :

height of the ellipse

Since 0.4


clutter_behaviour_ellipse_get_height ()

gint                clutter_behaviour_ellipse_get_height
                                                        (ClutterBehaviourEllipse *self);

Gets the height of the elliptical path.

self :

a ClutterBehaviourEllipse

Returns :

the height of the path

Since 0.4


clutter_behaviour_ellipse_set_width ()

void                clutter_behaviour_ellipse_set_width (ClutterBehaviourEllipse *self,
                                                         gint width);

Sets the width of the elliptical path.

self :

a ClutterBehaviourEllipse

width :

width of the ellipse

Since 0.4


clutter_behaviour_ellipse_get_width ()

gint                clutter_behaviour_ellipse_get_width (ClutterBehaviourEllipse *self);

Gets the width of the elliptical path.

self :

a ClutterBehaviourEllipse

Returns :

the width of the path

Since 0.4


clutter_behaviour_ellipse_set_tilt ()

void                clutter_behaviour_ellipse_set_tilt  (ClutterBehaviourEllipse *self,
                                                         gdouble angle_tilt_x,
                                                         gdouble angle_tilt_y,
                                                         gdouble angle_tilt_z);

Sets the angles at which the ellipse should be tilted around it's center.

self :

a ClutterBehaviourEllipse

angle_tilt_x :

tilt of the elipse around the center in X axis in degrees.

angle_tilt_y :

tilt of the elipse around the center in Y axis in degrees.

angle_tilt_z :

tilt of the elipse around the center in Z axis in degrees.

Since 0.4


clutter_behaviour_ellipse_get_tilt ()

void                clutter_behaviour_ellipse_get_tilt  (ClutterBehaviourEllipse *self,
                                                         gdouble *angle_tilt_x,
                                                         gdouble *angle_tilt_y,
                                                         gdouble *angle_tilt_z);

Gets the tilt of the ellipse around the center in Y axis.

self :

a ClutterBehaviourEllipse

angle_tilt_x :

return location for tilt angle on the X axis, or NULL. [out]

angle_tilt_y :

return location for tilt angle on the Y axis, or NULL. [out]

angle_tilt_z :

return location for tilt angle on the Z axis, or NULL. [out]

Since 0.4


clutter_behaviour_ellipse_set_direction ()

void                clutter_behaviour_ellipse_set_direction
                                                        (ClutterBehaviourEllipse *self,
                                                         ClutterRotateDirection direction);

Sets the rotation direction used by the ellipse behaviour.

self :

a ClutterBehaviourEllipse

direction :

the rotation direction

Since 0.4


clutter_behaviour_ellipse_get_direction ()

ClutterRotateDirection clutter_behaviour_ellipse_get_direction
                                                        (ClutterBehaviourEllipse *self);

Retrieves the ClutterRotateDirection used by the ellipse behaviour.

self :

a ClutterBehaviourEllipse

Returns :

the rotation direction

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 where the rotation should start.

Allowed values: [0,360]

Default value: 0

Since 0.4


The "angle-tilt-x" property

  "angle-tilt-x"             gdouble               : Read / Write

The tilt angle for the rotation around center in X axis

Allowed values: [0,360]

Default value: 360

Since 0.4


The "angle-tilt-y" property

  "angle-tilt-y"             gdouble               : Read / Write

The tilt angle for the rotation around center in Y axis

Allowed values: [0,360]

Default value: 360

Since 0.4


The "angle-tilt-z" property

  "angle-tilt-z"             gdouble               : Read / Write

The tilt angle for the rotation on the Z axis

Allowed values: [0,360]

Default value: 360

Since 0.4


The "center" property

  "center"                   ClutterKnot*          : Read / Write

The center of the ellipse.

Since 0.4


The "direction" property

  "direction"                ClutterRotateDirection  : Read / Write

The direction of the rotation.

Default value: CLUTTER_ROTATE_CW

Since 0.4


The "height" property

  "height"                   gint                  : Read / Write

Height of the ellipse, in pixels

Allowed values: >= 0

Default value: 50

Since 0.4


The "width" property

  "width"                    gint                  : Read / Write

Width of the ellipse, in pixels

Allowed values: >= 0

Default value: 100

Since 0.4