### Function

# Vips GenerateFn

#### Declaration

    int
    (* VipsGenerateFn) (
      VipsRegion* out,
      void* seq,
      void* a,
      void* b,
      gboolean* stop
    )

#### Description [src]

Fill `out`->valid with pixels. `seq` contains per-thread state, such as the input regions. Set `stop` to `TRUE` to stop processing.

See also

`vips_image_generate()`, `vips_stop_many()`.

#### Parameters

`out`

  Type: `VipsRegion`

  `VipsRegion` to fill.

  The data is owned by the caller of the function.

`seq`

  Type: `void*`

  Sequence value.

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

`a`

  Type: `void*`

  User data.

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

`b`

  Type: `void*`

  User data.

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

`stop`

  Type: `gboolean*`

  Set this to stop processing.

  The data is owned by the caller of the function.

#### Return value

Type: `int`

0 on success, -1 on error.