Gdk.Texture.download

### Method

# Gdk Texturedownload

#### Declaration [src]

    void
    gdk_texture_download (
      GdkTexture* texture,
      guchar* data,
      gsize stride
    )

#### Description [src]

Downloads the `texture` into local memory.

This may be an expensive operation, as the actual texture data may reside on a GPU or on a remote display server.

The data format of the downloaded data is equivalent to `CAIRO_FORMAT_ARGB32`, so every downloaded pixel requires 4 bytes of memory.

Downloading a texture into a Cairo image surface:

    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                          gdk_texture_get_width (texture),
                                          gdk_texture_get_height (texture));
    gdk_texture_download (texture,
                          cairo_image_surface_get_data (surface),
                          cairo_image_surface_get_stride (surface));
    cairo_surface_mark_dirty (surface);

For more flexible download capabilites, see `GdkTextureDownloader`.

#### Parameters

`data`

  Type: An array of `guchar`

  Pointer to enough memory to be filled with the downloaded data of `texture`.

  The data is owned by the caller of the method.

`stride`

  Type: `gsize`

  Rowstride in bytes.