## ClutterBehaviourEllipse

ClutterBehaviourEllipse — A behaviour interpolating position along an ellipse

## Functions

ClutterBehaviour * | clutter_behaviour_ellipse_new ()
void | clutter_behaviour_ellipse_set_center ()
void | clutter_behaviour_ellipse_get_center ()
void | clutter_behaviour_ellipse_set_angle_start ()
gdouble | clutter_behaviour_ellipse_get_angle_start ()
void | clutter_behaviour_ellipse_set_angle_end ()
gdouble | clutter_behaviour_ellipse_get_angle_end ()
void | clutter_behaviour_ellipse_set_angle_tilt ()
gdouble | clutter_behaviour_ellipse_get_angle_tilt ()
void | clutter_behaviour_ellipse_set_height ()
gint | clutter_behaviour_ellipse_get_height ()
void | clutter_behaviour_ellipse_set_width ()
gint | clutter_behaviour_ellipse_get_width ()
void | clutter_behaviour_ellipse_set_tilt ()
void | clutter_behaviour_ellipse_get_tilt ()
void | clutter_behaviour_ellipse_set_direction ()
ClutterRotateDirection | clutter_behaviour_ellipse_get_direction ()

## Properties

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

## Types and Values

struct | ClutterBehaviourEllipse
struct | ClutterBehaviourEllipseClass

## Object Hierarchy

        GObject
        ╰── ClutterBehaviour
            ╰── ClutterBehaviourEllipse

## Implemented Interfaces

ClutterBehaviourEllipse implements ClutterScriptable.

## Description

ClutterBehaviourEllipse interpolates actors along a path defined by an ellipse.

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.

## Functions

### 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);

`clutter_behaviour_ellipse_new` is deprecated and should not be used in newly-written code.

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()`.

#### Parameters

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);

`clutter_behaviour_ellipse_set_center` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_get_center` is deprecated and should not be used in newly-written code.

Gets the center of the elliptical path path.

#### Parameters

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);

`clutter_behaviour_ellipse_set_angle_start` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_get_angle_start` is deprecated and should not be used in newly-written code.

Gets the angle at which movements starts.

#### Parameters

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);

`clutter_behaviour_ellipse_set_angle_end` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_get_angle_end` is deprecated and should not be used in newly-written code.

Gets the at which movements ends.

#### Parameters

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);

`clutter_behaviour_ellipse_set_angle_tilt` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_get_angle_tilt` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_set_height` is deprecated and should not be used in newly-written code.

Sets the height of the elliptical path.

#### Parameters

self | a ClutterBehaviourEllipse |
height | height of the ellipse |

Since 0.4

### clutter_behaviour_ellipse_get_height ()

    gint
    clutter_behaviour_ellipse_get_height (ClutterBehaviourEllipse *self);

`clutter_behaviour_ellipse_get_height` is deprecated and should not be used in newly-written code.

Gets the height of the elliptical path.

#### Parameters

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);

`clutter_behaviour_ellipse_set_width` is deprecated and should not be used in newly-written code.

Sets the width of the elliptical path.

#### Parameters

self | a ClutterBehaviourEllipse |
width | width of the ellipse |

Since 0.4

### clutter_behaviour_ellipse_get_width ()

    gint
    clutter_behaviour_ellipse_get_width (ClutterBehaviourEllipse *self);

`clutter_behaviour_ellipse_get_width` is deprecated and should not be used in newly-written code.

Gets the width of the elliptical path.

#### Parameters

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);

`clutter_behaviour_ellipse_set_tilt` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_get_tilt` is deprecated and should not be used in newly-written code.

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

#### Parameters

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);

`clutter_behaviour_ellipse_set_direction` is deprecated and should not be used in newly-written code.

Sets the rotation direction used by the ellipse behaviour.

#### Parameters

self | a ClutterBehaviourEllipse |
direction | the rotation direction |

Since 0.4

### clutter_behaviour_ellipse_get_direction ()

    ClutterRotateDirection
    clutter_behaviour_ellipse_get_direction
                                   (ClutterBehaviourEllipse *self);

`clutter_behaviour_ellipse_get_direction` is deprecated and should not be used in newly-written code.

Retrieves the ClutterRotateDirection used by the ellipse behaviour.

#### Parameters

self | a ClutterBehaviourEllipse |

#### Returns

the rotation direction

Since 0.4

## Types and Values

### struct ClutterBehaviourEllipse

    struct ClutterBehaviourEllipse;

`ClutterBehaviourEllipse` has been deprecated since version 1.6 and should not be used in newly-written code.

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

Since 0.4

### struct ClutterBehaviourEllipseClass

    struct ClutterBehaviourEllipseClass {
    };

`ClutterBehaviourEllipseClass` has been deprecated since version 1.6 and should not be used in newly-written code.

The ClutterBehaviourEllipseClass struct contains only private data

Since 0.4

## Property Details

### The `“angle-end”` property

      “angle-end”                gdouble

The final angle to where the rotation should end.

Flags: Read / Write

Allowed values: [0,360]

Default value: 0

Since 0.4

### The `“angle-start”` property

      “angle-start”              gdouble

The initial angle from where the rotation should start.

Flags: Read / Write

Allowed values: [0,360]

Default value: 0

Since 0.4

### The `“angle-tilt-x”` property

      “angle-tilt-x”             gdouble

The tilt angle for the rotation around center in X axis

Flags: Read / Write

Allowed values: [0,360]

Default value: 360

Since 0.4

### The `“angle-tilt-y”` property

      “angle-tilt-y”             gdouble

The tilt angle for the rotation around center in Y axis

Flags: Read / Write

Allowed values: [0,360]

Default value: 360

Since 0.4

### The `“angle-tilt-z”` property

      “angle-tilt-z”             gdouble

The tilt angle for the rotation on the Z axis

Flags: Read / Write

Allowed values: [0,360]

Default value: 360

Since 0.4

### The `“center”` property

      “center”                   ClutterKnot *

The center of the ellipse.

Flags: Read / Write

Since 0.4

### The `“direction”` property

      “direction”                ClutterRotateDirection

The direction of the rotation.

Flags: Read / Write

Default value: CLUTTER_ROTATE_CW

Since 0.4

### The `“height”` property

      “height”                   gint

Height of the ellipse, in pixels

Flags: Read / Write

Allowed values: >= 0

Default value: 50

Since 0.4

### The `“width”` property

      “width”                    gint

Width of the ellipse, in pixels

Flags: Read / Write

Allowed values: >= 0

Default value: 100

Since 0.4