### Constructor

# Gtk CClosureExpression new

#### Declaration [src]

    GtkExpression*
    gtk_cclosure_expression_new (
      GType value_type,
      GClosureMarshal marshal,
      guint n_params,
      GtkExpression** params,
      GCallback callback_func,
      gpointer user_data,
      GClosureNotify user_destroy
    )

#### Description [src]

Creates a `GtkExpression` that calls `callback_func` when it is evaluated.

This function is a variant of `gtk_closure_expression_new()` that creates a `GClosure` by calling `g_cclosure_new()` with the given `callback_func`, `user_data` and `user_destroy`.

#### Parameters

`value_type`

  Type: `GType`

  The type of the value that this expression evaluates to.

`marshal`

  Type: `GClosureMarshal`

  Marshaller used for creating a closure.

  The argument can be `NULL`.

`n_params`

  Type: `guint`

  The number of params needed for evaluating `closure`.

`params`

  Type: An array of `GtkExpression*`

  Expressions for each parameter.

  The length of the array is specified in the `n_params` argument.
  The called function takes ownership of the data, and is responsible for freeing it.

`callback_func`

  Type: `GCallback`

  Callback used for creating a closure.

`user_data`

  Type: `gpointer`

  User data used for creating a closure.

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

`user_destroy`

  Type: `GClosureNotify`

  Destroy notify for `user_data`.

  The argument can be `NULL`.

#### Return value

Type: `GtkCClosureExpression`

A new `GtkExpression`.

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