## ClutterBehaviourScale

ClutterBehaviourScale — A behaviour controlling scale

## Synopsis

    enum                ClutterGravity;
                        ClutterBehaviourScale;
                        ClutterBehaviourScaleClass;
    ClutterBehaviour*   clutter_behaviour_scale_new         (ClutterAlpha *alpha,
                                                             gdouble x_scale_start,
                                                             gdouble y_scale_start,
                                                             gdouble x_scale_end,
                                                             gdouble y_scale_end);
    ClutterBehaviour*   clutter_behaviour_scale_newx        (ClutterAlpha *alpha,
                                                             ClutterFixed x_scale_start,
                                                             ClutterFixed y_scale_start,
                                                             ClutterFixed x_scale_end,
                                                             ClutterFixed y_scale_end);
    void                clutter_behaviour_scale_set_bounds  (ClutterBehaviourScale *scale,
                                                             gdouble x_scale_start,
                                                             gdouble y_scale_start,
                                                             gdouble x_scale_end,
                                                             gdouble y_scale_end);
    void                clutter_behaviour_scale_get_bounds  (ClutterBehaviourScale *scale,
                                                             gdouble *x_scale_start,
                                                             gdouble *y_scale_start,
                                                             gdouble *x_scale_end,
                                                             gdouble *y_scale_end);
    void                clutter_behaviour_scale_set_boundsx (ClutterBehaviourScale *scale,
                                                             ClutterFixed x_scale_start,
                                                             ClutterFixed y_scale_start,
                                                             ClutterFixed x_scale_end,
                                                             ClutterFixed y_scale_end);
    void                clutter_behaviour_scale_get_boundsx (ClutterBehaviourScale *scale,
                                                             ClutterFixed *x_scale_start,
                                                             ClutterFixed *y_scale_start,
                                                             ClutterFixed *x_scale_end,
                                                             ClutterFixed *y_scale_end);

## Object Hierarchy

      GObject
       +----ClutterBehaviour
             +----ClutterBehaviourScale

## Properties

      "x-scale-end"              gdouble               : Read / Write
      "x-scale-start"            gdouble               : Read / Write
      "y-scale-end"              gdouble               : Read / Write
      "y-scale-start"            gdouble               : Read / Write

## Description

A ClutterBehaviourScale interpolates actors size between two values.

## Details

### enum ClutterGravity

    typedef enum { /*< prefix=CLUTTER_GRAVITY >*/
      CLUTTER_GRAVITY_NONE       = 0,
      CLUTTER_GRAVITY_NORTH,
      CLUTTER_GRAVITY_NORTH_EAST,
      CLUTTER_GRAVITY_EAST,
      CLUTTER_GRAVITY_SOUTH_EAST,
      CLUTTER_GRAVITY_SOUTH,
      CLUTTER_GRAVITY_SOUTH_WEST,
      CLUTTER_GRAVITY_WEST,
      CLUTTER_GRAVITY_NORTH_WEST,
      CLUTTER_GRAVITY_CENTER
    } ClutterGravity;

Gravity of the scaling operations. When a gravity different than `CLUTTER_GRAVITY_NONE` is used, an actor is scaled keeping the position of the specified portion at the same coordinates.

`CLUTTER_GRAVITY_NONE` | Do not apply any gravity
`CLUTTER_GRAVITY_NORTH` | Scale from topmost downwards
`CLUTTER_GRAVITY_NORTH_EAST` | Scale from the top right corner
`CLUTTER_GRAVITY_EAST` | Scale from the right side
`CLUTTER_GRAVITY_SOUTH_EAST` | Scale from the bottom right corner
`CLUTTER_GRAVITY_SOUTH` | Scale from the bottom upwards
`CLUTTER_GRAVITY_SOUTH_WEST` | Scale from the bottom left corner
`CLUTTER_GRAVITY_WEST` | Scale from the left side
`CLUTTER_GRAVITY_NORTH_WEST` | Scale from the top left corner
`CLUTTER_GRAVITY_CENTER` | Scale from the center.

Since 0.2

### ClutterBehaviourScale

    typedef struct _ClutterBehaviourScale ClutterBehaviourScale;

### ClutterBehaviourScaleClass

    typedef struct {
      ClutterBehaviourClass parent_class;
    } ClutterBehaviourScaleClass;

### clutter_behaviour_scale_new ()

    ClutterBehaviour*   clutter_behaviour_scale_new         (ClutterAlpha *alpha,
                                                             gdouble x_scale_start,
                                                             gdouble y_scale_start,
                                                             gdouble x_scale_end,
                                                             gdouble y_scale_end);

Creates a new ClutterBehaviourScale instance.

`alpha` : | a ClutterAlpha
`x_scale_start` : | initial scale factor on the X axis
`y_scale_start` : | initial scale factor on the Y axis
`x_scale_end` : | final scale factor on the X axis
`y_scale_end` : | final scale factor on the Y axis
Returns : | the newly created ClutterBehaviourScale

Since 0.2

### clutter_behaviour_scale_newx ()

    ClutterBehaviour*   clutter_behaviour_scale_newx        (ClutterAlpha *alpha,
                                                             ClutterFixed x_scale_start,
                                                             ClutterFixed y_scale_start,
                                                             ClutterFixed x_scale_end,
                                                             ClutterFixed y_scale_end);

A fixed point implementation of `clutter_behaviour_scale_new()`

`alpha` : | a ClutterAlpha
`x_scale_start` : | initial scale factor on the X axis
`y_scale_start` : | initial scale factor on the Y axis
`x_scale_end` : | final scale factor on the X axis
`y_scale_end` : | final scale factor on the Y axis
Returns : | the newly created ClutterBehaviourScale

Since 0.2

### clutter_behaviour_scale_set_bounds ()

    void                clutter_behaviour_scale_set_bounds  (ClutterBehaviourScale *scale,
                                                             gdouble x_scale_start,
                                                             gdouble y_scale_start,
                                                             gdouble x_scale_end,
                                                             gdouble y_scale_end);

Sets the bounds used by scale behaviour.

`scale` : | a ClutterBehaviourScale
`x_scale_start` : | initial scale factor on the X axis
`y_scale_start` : | initial scale factor on the Y axis
`x_scale_end` : | final scale factor on the X axis
`y_scale_end` : | final scale factor on the Y axis

Since 0.6

### clutter_behaviour_scale_get_bounds ()

    void                clutter_behaviour_scale_get_bounds  (ClutterBehaviourScale *scale,
                                                             gdouble *x_scale_start,
                                                             gdouble *y_scale_start,
                                                             gdouble *x_scale_end,
                                                             gdouble *y_scale_end);

Retrieves the bounds used by scale behaviour.

`scale` : | a ClutterBehaviourScale
`x_scale_start` : | return location for the initial scale factor on the X axis, or `NULL`
`y_scale_start` : | return location for the initial scale factor on the Y axis, or `NULL`
`x_scale_end` : | return location for the final scale factor on the X axis, or `NULL`
`y_scale_end` : | return location for the final scale factor on the Y axis, or `NULL`

Since 0.4

### clutter_behaviour_scale_set_boundsx ()

    void                clutter_behaviour_scale_set_boundsx (ClutterBehaviourScale *scale,
                                                             ClutterFixed x_scale_start,
                                                             ClutterFixed y_scale_start,
                                                             ClutterFixed x_scale_end,
                                                             ClutterFixed y_scale_end);

Fixed point version of `clutter_behaviour_scale_set_bounds()`.

Sets the bounds used by scale behaviour.

`scale` : | a ClutterBehaviourScale
`x_scale_start` : | initial scale factor on the X axis
`y_scale_start` : | initial scale factor on the Y axis
`x_scale_end` : | final scale factor on the X axis
`y_scale_end` : | final scale factor on the Y axis

Since 0.6

### clutter_behaviour_scale_get_boundsx ()

    void                clutter_behaviour_scale_get_boundsx (ClutterBehaviourScale *scale,
                                                             ClutterFixed *x_scale_start,
                                                             ClutterFixed *y_scale_start,
                                                             ClutterFixed *x_scale_end,
                                                             ClutterFixed *y_scale_end);

Fixed point version of `clutter_behaviour_scale_get_bounds()`.

Retrieves the bounds used by scale behaviour.

`scale` : | a ClutterBehaviourScale
`x_scale_start` : | return location for the initial scale factor on the X axis, or `NULL`
`y_scale_start` : | return location for the initial scale factor on the Y axis, or `NULL`
`x_scale_end` : | return location for the final scale factor on the X axis, or `NULL`
`y_scale_end` : | return location for the final scale factor on the Y axis, or `NULL`

Since 0.4

## Property Details

### The `"x-scale-end"` property

      "x-scale-end"              gdouble               : Read / Write

The final scaling factor on the X axis for the actors.

Allowed values: >= 0

Default value: 1

Since 0.6

### The `"x-scale-start"` property

      "x-scale-start"            gdouble               : Read / Write

The initial scaling factor on the X axis for the actors.

Allowed values: >= 0

Default value: 1

Since 0.6

### The `"y-scale-end"` property

      "y-scale-end"              gdouble               : Read / Write

The final scaling factor on the Y axis for the actors.

Allowed values: >= 0

Default value: 1

Since 0.6

### The `"y-scale-start"` property

      "y-scale-start"            gdouble               : Read / Write

The initial scaling factor on the Y axis for the actors.

Allowed values: >= 0

Default value: 1

Since 0.6