### Method

# Gsk Renderer render

#### Declaration [src]

    void
    gsk_renderer_render (
      GskRenderer* renderer,
      GskRenderNode* root,
      const cairo_region_t* region
    )

#### Description [src]

Renders the scene graph, described by a tree of `GskRenderNode` instances to the renderer’s surface, ensuring that the given `region` gets redrawn.

If the renderer has no associated surface, this function does nothing.

Renderers must ensure that changes of the contents given by the `root` node as well as the area given by `region` are redrawn. They are however free to not redraw any pixel outside of `region` if they can guarantee that it didn’t change.

The `renderer` will acquire a reference on the `GskRenderNode` tree while the rendering is in progress.

#### Parameters

`root`

  Type: `GskRenderNode`

  A `GskRenderNode`

  The data is owned by the caller of the method.

`region`

  Type: `cairo_region_t`

  The `cairo_region_t` that must be redrawn or `NULL` for the whole window.

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