### Class

# Clutter DeformEffect

#### Description [src]

    abstract class Clutter.DeformEffect : Clutter.OffscreenEffect {
      /* No available fields */
    }

A base class for effects deforming the geometry of an actor

`ClutterDeformEffect` is an abstract class providing all the plumbing for creating effects that result in the deformation of an actor’s geometry.

`ClutterDeformEffect` uses offscreen buffers to render the contents of a `ClutterActor` and then the Cogl vertex buffers API to submit the geometry to the GPU.

## Implementing ClutterDeformEffect

Sub-classes of `ClutterDeformEffect` should override the `ClutterDeformEffectClass`.deform_vertex() virtual function; this function is called on every vertex that needs to be deformed by the effect. Each passed vertex is an in-out parameter that initially contains the position of the vertex and should be modified according to a specific deformation algorithm.

#### Ancestors

- ClutterOffscreenEffect
- ClutterEffect
- ClutterActorMeta
- GInitiallyUnowned
- GObject

#### Descendants

- ClutterPageTurnEffect

#### Instance methods

###### clutter_deform_effect_get_back_material

Retrieves the handle to the back face material used by `effect`.

###### clutter_deform_effect_get_n_tiles

Retrieves the number of horizontal and vertical tiles used to sub-divide the actor’s geometry during the effect.

###### clutter_deform_effect_invalidate

Invalidates the `effect`‘s vertices and, if it is associated to an actor, it will queue a redraw.

###### clutter_deform_effect_set_back_material

Sets the material that should be used when drawing the back face of the actor during a deformation.

###### clutter_deform_effect_set_n_tiles

Sets the number of horizontal and vertical tiles to be used when applying the effect.

##### Methods inherited from ClutterOffscreenEffect (5)

###### clutter_offscreen_effect_create_texture

Calls the `Clutter.OffscreenEffectClass.create_texture` virtual function of the `effect`.

###### clutter_offscreen_effect_get_pipeline

Retrieves the pipeline used as a render target for the offscreen buffer created by `effect`.

###### clutter_offscreen_effect_get_target_size

Retrieves the size of the offscreen buffer used by `effect` to paint the actor to which it has been applied.

###### clutter_offscreen_effect_get_texture

Retrieves the texture used as a render target for the offscreen buffer created by `effect`.

###### clutter_offscreen_effect_paint_target

Calls the `Clutter.OffscreenEffectClass.paint_target` virtual function of the `effect`.

##### Methods inherited from ClutterEffect (1)

###### clutter_effect_queue_repaint

Queues a repaint of the effect. The effect can detect when the ‘paint’ method is called as a result of this function because it will not have the `CLUTTER_EFFECT_PAINT_ACTOR_DIRTY` flag set. In that case the effect is free to assume that the actor has not changed its appearance since the last time it was painted so it doesn’t need to call `clutter_actor_continue_paint()` if it can draw a cached image. This is mostly intended for effects that are using a %CoglOffscreen to redirect the actor (such as %ClutterOffscreenEffect). In that case the effect can save a bit of rendering time by painting the cached texture without causing the entire actor to be painted.

##### Methods inherited from ClutterActorMeta (5)

###### clutter_actor_meta_get_actor

Retrieves a pointer to the `ClutterActor` that owns `meta`.

###### clutter_actor_meta_get_enabled

Retrieves whether `meta` is enabled.

###### clutter_actor_meta_get_name

Retrieves the name set using `clutter_actor_meta_set_name()`

###### clutter_actor_meta_set_enabled

Sets whether `meta` should be enabled or not.

###### clutter_actor_meta_set_name

Sets the name of `meta`.

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

Please see GObject for a full list of methods.

#### Properties

###### Clutter.DeformEffect:back-material

A material to be used when painting the back of the actor to which this effect has been applied.

###### Clutter.DeformEffect:x-tiles

The number of horizontal tiles. The bigger the number, the smaller the tiles.

###### Clutter.DeformEffect:y-tiles

The number of vertical tiles. The bigger the number, the smaller the tiles.

##### Properties inherited from ClutterActorMeta (3)

###### Clutter.ActorMeta:actor

The `ClutterActor` attached to the `ClutterActorMeta` instance.

###### Clutter.ActorMeta:enabled

Whether or not the `ClutterActorMeta` is enabled.

###### Clutter.ActorMeta:name

The unique name to access the `ClutterActorMeta`.

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

#### Class structure

    struct ClutterDeformEffectClass {
      void (* deform_vertex) (
        ClutterDeformEffect* effect,
        gfloat width,
        gfloat height,
        CoglTextureVertex* vertex
      );
      void (* _clutter_deform1) (
    void
      );
      void (* _clutter_deform2) (
    void
      );
      void (* _clutter_deform3) (
    void
      );
      void (* _clutter_deform4) (
    void
      );
      void (* _clutter_deform5) (
    void
      );
      void (* _clutter_deform6) (
    void
      );
      void (* _clutter_deform7) (
    void
      );

    }

The `ClutterDeformEffectClass` structure contains only private data.

###### Class members

`deform_vertex: void (* deform_vertex) ( ClutterDeformEffect* effect, gfloat width, gfloat height, CoglTextureVertex* vertex )`
  No description available.
`_clutter_deform1: void (* _clutter_deform1) ( void )`
  No description available.
`_clutter_deform2: void (* _clutter_deform2) ( void )`
  No description available.
`_clutter_deform3: void (* _clutter_deform3) ( void )`
  No description available.
`_clutter_deform4: void (* _clutter_deform4) ( void )`
  No description available.
`_clutter_deform5: void (* _clutter_deform5) ( void )`
  No description available.
`_clutter_deform6: void (* _clutter_deform6) ( void )`
  No description available.
`_clutter_deform7: void (* _clutter_deform7) ( void )`
  No description available.

#### Virtual methods

###### Clutter.DeformEffectClass.deform_vertex

No description available.