### 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`

  The render node to render.

  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 surface.

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