## ClutterBehaviourScale ClutterBehaviourScale — A behaviour controlling scale |

## Synopsis

    enum                ClutterGravity;
    struct              ClutterBehaviourScale;
    struct              ClutterBehaviourScaleClass;
    ClutterBehaviour *  clutter_behaviour_scale_new         (ClutterAlpha *alpha,
                                                             gdouble x_scale_start,
                                                             gdouble y_scale_start,
                                                             gdouble x_scale_end,
                                                             gdouble 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);

## Object Hierarchy

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

## Implemented Interfaces

ClutterBehaviourScale implements ClutterScriptable.

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

### struct ClutterBehaviourScale

    struct ClutterBehaviourScale;

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

Since 0.2

### struct ClutterBehaviourScaleClass

    struct ClutterBehaviourScaleClass {
    };

The ClutterBehaviourScaleClass struct contains only private data

Since 0.2

### 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.

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_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`. [out]
`y_scale_start` : | return location for the initial scale factor on the Y axis, or `NULL`. [out]
`x_scale_end` : | return location for the final scale factor on the X axis, or `NULL`. [out]
`y_scale_end` : | return location for the final scale factor on the Y axis, or `NULL`. [out]

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