### Constructor

# Gsk ColorMatrixNode new

#### Declaration [src]

    GskRenderNode*
    gsk_color_matrix_node_new (
      GskRenderNode* child,
      const graphene_matrix_t* color_matrix,
      const graphene_vec4_t* color_offset
    )

#### Description [src]

Creates a `GskRenderNode` that will drawn the `child` with `color_matrix`.

In particular, the node will transform colors by applying

    pixel = transpose(color_matrix) * pixel + color_offset

for every pixel. The transformation operates on unpremultiplied colors, with color components ordered R, G, B, A.

#### Parameters

`child`

  Type: `GskRenderNode`

  The node to draw.

  The data is owned by the caller of the function.

`color_matrix`

  Type: `graphene_matrix_t`

  The matrix to apply.

  The data is owned by the caller of the function.

`color_offset`

  Type: `graphene_vec4_t`

  Values to add to the color.

  The data is owned by the caller of the function.

#### Return value

Type: `GskColorMatrixNode`

A new `GskRenderNode`

The caller of the function takes ownership of the data, and is responsible for freeing it.