Clutter Reference Manual: Paint Nodes

## Paint Nodes Paint Nodes — ClutterPaintNode implementations |

## Synopsis

                        ClutterColorNode;
                        ClutterColorNodeClass;
    ClutterPaintNode *  clutter_color_node_new              (const ClutterColor *color);

                        ClutterTextureNode;
                        ClutterTextureNodeClass;
    ClutterPaintNode *  clutter_texture_node_new            (CoglTexture *texture,
                                                             const ClutterColor *color,
                                                             ClutterScalingFilter min_filter,
                                                             ClutterScalingFilter mag_filter);

                        ClutterPipelineNode;
                        ClutterPipelineNodeClass;
    ClutterPaintNode *  clutter_pipeline_node_new           (CoglPipeline *pipeline);

                        ClutterTextNode;
                        ClutterTextNodeClass;
    ClutterPaintNode *  clutter_text_node_new               (PangoLayout *layout,
                                                             const ClutterColor *color);

                        ClutterClipNode;
                        ClutterClipNodeClass;
    ClutterPaintNode *  clutter_clip_node_new               (void);

## Description

Clutter provides a set of predefined ClutterPaintNode implementations that cover all the state changes available.

## Details

### ClutterColorNode

    typedef struct _ClutterColorNode ClutterColorNode;

The ClutterTextNode structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### ClutterColorNodeClass

    typedef struct _ClutterColorNodeClass ClutterColorNodeClass;

The ClutterColorNodeClass structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### clutter_color_node_new ()

    ClutterPaintNode *  clutter_color_node_new              (const ClutterColor *color);

Creates a new ClutterPaintNode that will paint a solid color fill using `color`.

`color` : | the color to paint, or `NULL`. [allow-none]
Returns : | the newly created ClutterPaintNode. Use `clutter_paint_node_unref()` when done. [transfer full]

Since 1.10

### ClutterTextureNode

    typedef struct _ClutterTextureNode ClutterTextureNode;

The ClutterTextNode structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### ClutterTextureNodeClass

    typedef struct _ClutterTextureNodeClass ClutterTextureNodeClass;

The ClutterTextureNodeClass structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### clutter_texture_node_new ()

    ClutterPaintNode *  clutter_texture_node_new            (CoglTexture *texture,
                                                             const ClutterColor *color,
                                                             ClutterScalingFilter min_filter,
                                                             ClutterScalingFilter mag_filter);

Creates a new ClutterPaintNode that will paint the passed `texture`.

This function will take a reference on `texture`, so it is safe to call `cogl_object_unref()` on `texture` when it returns.

`texture` : | a CoglTexture
`color` : | a ClutterColor
`min_filter` : | the minification filter for the texture
`mag_filter` : | the magnification filter for the texture
Returns : | the newly created ClutterPaintNode. Use `clutter_paint_node_unref()` when done. [transfer full]

Since 1.10

### ClutterPipelineNode

    typedef struct _ClutterPipelineNode ClutterPipelineNode;

The ClutterTextNode structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### ClutterPipelineNodeClass

    typedef struct _ClutterPipelineNodeClass ClutterPipelineNodeClass;

The ClutterPipelineNodeClass structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### clutter_pipeline_node_new ()

    ClutterPaintNode *  clutter_pipeline_node_new           (CoglPipeline *pipeline);

Creates a new ClutterPaintNode that will use the `pipeline` to paint its contents.

This function will acquire a reference on the passed `pipeline`, so it is safe to call `cogl_object_unref()` when it returns.

`pipeline` : | a Cogl pipeline state object, or `NULL`. [allow-none]
Returns : | the newly created ClutterPaintNode. Use `clutter_paint_node_unref()` when done. [transfer full]

Since 1.10

### ClutterTextNode

    typedef struct _ClutterTextNode ClutterTextNode;

The ClutterTextNode structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### ClutterTextNodeClass

    typedef struct _ClutterTextNodeClass ClutterTextNodeClass;

The ClutterTextNodeClass structure is an opaque type whose contents cannot be directly accessed.

Since 1.10

### clutter_text_node_new ()

    ClutterPaintNode *  clutter_text_node_new               (PangoLayout *layout,
                                                             const ClutterColor *color);

Creates a new ClutterPaintNode that will paint a PangoLayout with the given color.

This function takes a reference on the passed `layout`, so it is safe to call `g_object_unref()` after it returns.

`layout` : | a PangoLayout, or `NULL`. [allow-none]
`color` : | the color used to paint the layout, or `NULL`. [allow-none]
Returns : | the newly created ClutterPaintNode. Use `clutter_paint_node_unref()` when done. [transfer full]

Since 1.10

### ClutterClipNode

    typedef struct _ClutterClipNode ClutterClipNode;

The ClutterTextNode structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### ClutterClipNodeClass

    typedef struct _ClutterClipNodeClass ClutterClipNodeClass;

The ClutterClipNodeClass structure is an opaque type whose members cannot be directly accessed.

Since 1.10

### clutter_clip_node_new ()

    ClutterPaintNode *  clutter_clip_node_new               (void);

Creates a new ClutterPaintNode that will clip its child nodes to the 2D regions added to it.

Returns : | the newly created ClutterPaintNode. Use `clutter_paint_node_unref()` when done. [transfer full]

Since 1.10