### Function

# Vips Area new

#### Declaration [src]

    VipsArea*
    vips_area_new (
      VipsCallbackFn free_fn,
      void* data
    )

#### Description [src]

A VipsArea wraps a chunk of memory. It adds reference counting and a free function. It also keeps a count and a `GType`, so the area can be an array.

This type is used for things like passing an array of double or an array of `VipsObject` pointers to operations, and for reference-counted immutable strings.

Initial count == 1, so `vips_area_unref()` after attaching somewhere.

See also

`vips_area_unref()`.

#### Parameters

`free_fn`

  Type: `VipsCallbackFn`

  `data` will be freed with this function.

`data`

  Type: `void*`

  Data will be freed with this function.

  The argument can be `NULL`.
  The called function takes ownership of the data, and is responsible for freeing it.

#### Return value

Type: `VipsArea`

The new `VipsArea`.

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