### Function

# Gimp RunThumbnailFunc

since: 3.0

#### Declaration

    GimpValueArray*
    (* GimpRunThumbnailFunc) (
      GimpProcedure* procedure,
      GFile* file,
      gint size,
      GimpProcedureConfig* config,
      gpointer run_data
    )

#### Description [src]

The thumbnail function is run during the lifetime of the GIMP session, each time a plug-in thumbnail procedure is called.

`GimpThumbnailProcedure` are always run non-interactively.

On success, the returned array must contain: 1. a `GimpImage`: this is the only mandatory return value. It should ideally be a simple image whose dimensions are closest to `size` and meant to be displayed as a small static image. 2. (optional) the full image’s width (not the thumbnail’s image’s), or 0 if unknown. 3. (optional) the full image’s height, or 0 if unknown. 4. (optional) the `GimpImageType` of the full image. 5. (optional) the number of layers in the full image.

Available since: 3.0

#### Parameters

`procedure`

  Type: `GimpProcedure`

  The `GimpProcedure` that runs.

  The data is owned by the caller of the function.

`file`

  Type: `GFile`

  The `GFile` to load the thumbnail from.

  The data is owned by the caller of the function.

`size`

  Type: `gint`

  The requested thumbnail size.

`config`

  Type: `GimpProcedureConfig`

  The `procedure`‘s remaining arguments.

  The data is owned by the caller of the function.

`run_data`

  Type: `gpointer`

  The run_data given in gimp_thumbnail_procedure_new().

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

#### Return value

Type: `GimpValueArray`

The `procedure`‘s return values.

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