Clutter.Interval
Description: Reference for Clutter.Interval

### Class

# ClutterInterval

since: 13

#### Description [src]

    class Clutter.Interval : GObject.InitiallyUnowned
      implements Clutter.Scriptable {
      /* No available fields */
    }

An object holding an interval of two values

`ClutterInterval` is a simple object that can hold two values defining an interval. `ClutterInterval` can hold any value that can be enclosed inside a `GValue`.

Once a `ClutterInterval` for a specific `GType` has been instantiated the `ClutterInterval:value-type` property cannot be changed anymore.

`ClutterInterval` starts with a floating reference; this means that any object taking a reference on a `ClutterInterval` instance should also take ownership of the interval by using g_object_ref_sink().

`ClutterInterval` can be subclassed to override the validation and value computation.

Available since: 13

#### Ancestors

- GInitiallyUnowned
- GObject

#### Implements

- ClutterScriptable

#### Constructors

###### clutter_interval_new

Creates a new `ClutterInterval` holding values of type `gtype`.

since: 13

###### clutter_interval_new_with_values

Creates a new `ClutterInterval` of type `gtype`, between `initial` and `final`.

since: 13

#### Functions

###### clutter_interval_register_progress_func

Sets the progress function for a given `value_type`, like:

since: 13

#### Instance methods

###### clutter_interval_clone

Creates a copy of `interval`.

since: 13

###### clutter_interval_compute

Computes the value between the `interval` boundaries given the progress `factor`.

since: 13

###### clutter_interval_compute_value

Computes the value between the `interval` boundaries given the progress `factor` and copies it into `value`.

since: 13

###### clutter_interval_get_final_value

Retrieves the final value of `interval` and copies it into `value`.

since: 13

###### clutter_interval_get_initial_value

Retrieves the initial value of `interval` and copies it into `value`.

since: 13

###### clutter_interval_get_interval

Variable arguments wrapper for `clutter_interval_get_initial_value()` and `clutter_interval_get_final_value()` that avoids using the `GValue` arguments:

since: 13

###### clutter_interval_get_value_type

Retrieves the `GType` of the values inside `interval`.

since: 13

###### clutter_interval_is_valid

Checks if the `interval` has a valid initial and final values.

since: 13

###### clutter_interval_peek_final_value

Gets the pointer to the final value of `interval`.

since: 13

###### clutter_interval_peek_initial_value

Gets the pointer to the initial value of `interval`.

since: 13

###### clutter_interval_set_final

Variadic arguments version of clutter_interval_set_final_value().

since: 13

###### clutter_interval_set_final_value

Sets the final value of `interval` to `value`. The value is copied inside the `ClutterInterval`.

since: 13

###### clutter_interval_set_initial

Variadic arguments version of clutter_interval_set_initial_value().

since: 13

###### clutter_interval_set_initial_value

Sets the initial value of `interval` to `value`. The value is copied inside the `ClutterInterval`.

since: 13

###### clutter_interval_set_interval

Variable arguments wrapper for `clutter_interval_set_initial_value()` and `clutter_interval_set_final_value()` that avoids using the `GValue` arguments:

since: 13

###### clutter_interval_validate

Validates the initial and final values of `interval` against a `GParamSpec`.

since: 13

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from ClutterScriptable (4)

###### clutter_scriptable_get_id

Retrieves the id of `scriptable` set using `clutter_scriptable_set_id()`.

since: 13

###### clutter_scriptable_parse_custom_node

Parses the passed JSON node. The implementation must set the type of the passed `GValue` pointer using g_value_init().

since: 13

###### clutter_scriptable_set_custom_property

Overrides the common properties setting. The underlying virtual function should be used when implementing custom properties.

since: 13

###### clutter_scriptable_set_id

Sets `id_` as the unique Clutter script it for this instance of `ClutterScriptableIface`.

since: 13

#### Properties

###### Clutter.Interval:final

The final value of the interval.

since: 13

###### Clutter.Interval:initial

The initial value of the interval.

since: 13

###### Clutter.Interval:value-type

The type of the values in the interval.

since: 13

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

since: 2.0

#### Class structure

    struct ClutterIntervalClass {
      gboolean (* validate) (
        ClutterInterval* interval,
        GParamSpec* pspec
      );
      gboolean (* compute_value) (
        ClutterInterval* interval,
        gdouble factor,
        GValue* value
      );

    }

The `ClutterIntervalClass` contains only private data.

###### Class members

`validate: gboolean (* validate) ( ClutterInterval* interval, GParamSpec* pspec )`
  No description available.
`compute_value: gboolean (* compute_value) ( ClutterInterval* interval, gdouble factor, GValue* value )`
  No description available.

#### Virtual methods

###### Clutter.IntervalClass.compute_value

Computes the value between the `interval` boundaries given the progress `factor` and copies it into `value`.

since: 13

###### Clutter.IntervalClass.validate

Validates the initial and final values of `interval` against a `GParamSpec`.

since: 13