### Method

# Gsk RenderReplay set_node_filter

since: 4.22

#### Declaration [src]

    void
    gsk_render_replay_set_node_filter (
      GskRenderReplay* self,
      GskRenderReplayNodeFilter filter,
      gpointer user_data,
      GDestroyNotify user_destroy
    )

#### Description [src]

Sets the function to use as a node filter.

This is the most complex function to use for replaying nodes. It can either:

- keep the node and just return it unchanged

- create a replacement node and return that

- discard the node by returning `NULL`

- call `gsk_render_replay_default()` to have the default handler run for this node, which calls your function on its children.

Available since: 4.22

#### Parameters

`filter`

  Type: `GskRenderReplayNodeFilter`

  the function to call to replay nodes.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data to pass to `func`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`user_destroy`

  Type: `GDestroyNotify`

  Destroy notify that will be called to release the user data parameter.