### Signal

# Clutter Canvas::draw

since: 13

#### Declaration

    gboolean
    draw (
      ClutterCanvas* self,
      cairo_t* cr,
      gint width,
      gint height,
      gpointer user_data
    )

#### Description [src]

The `ClutterCanvas::draw` signal is emitted each time a canvas is invalidated.

It is safe to connect multiple handlers to this signal: each handler invocation will be automatically protected by `cairo_save()` and `cairo_restore()` pairs.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Signal emission will restart instead of recursing
Available since: 13

#### Parameters

`cr`

  Type: `cairo_t`

  The Cairo context used to draw.

  The data is owned by the caller of the function.

`width`

  Type: `gint`

  The width of the `canvas`.

`height`

  Type: `gint`

  The height of the `canvas`.

#### Return value

Type: `gboolean`

`TRUE` if the signal emission should stop, and `FALSE` otherwise.