### Method

# Gegl Buffer linear_open

#### Declaration [src]

    gpointer
    gegl_buffer_linear_open (
      GeglBuffer* buffer,
      const GeglRectangle* extent,
      gint* rowstride,
      const Babl* format
    )

#### Description [src]

Raw direct random access to the full data of a buffer in linear memory.

This method is not directly available to language bindings.

#### Parameters

`extent`

  Type: `GeglRectangle`

  Region to open, pass NULL for entire buffer.

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

`rowstride`

  Type: `gint*`

  Return location for rowstride.

  The argument will be set by the function.
  The argument can be `NULL`.

`format`

  Type: `Babl`

  Desired format or NULL to use buffers format.

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

#### Return value

Type: `gpointer`

A pointer to a linear memory region describing the buffer, if the request is compatible with the underlying data storage direct access to the underlying data is provided. Otherwise, it returns a copy of the data.

The returned data is owned by the instance.
The return value can be `NULL`.