### Method

# Gegl Bufferiterator_new

#### Declaration [src]

    GeglBufferIterator*
    gegl_buffer_iterator_new (
      GeglBuffer* buffer,
      const GeglRectangle* roi,
      gint level,
      const Babl* format,
      GeglAccessMode access_mode,
      GeglAbyssPolicy abyss_policy,
      gint max_slots
    )

#### Description [src]

Create a new buffer iterator, this buffer will be iterated through in linear chunks, some chunks might be full tiles the coordinates, see the documentation of gegl_buffer_iterator_next for how to use it and destroy it.

This method is not directly available to language bindings.

#### Parameters

`roi`

  Type: `GeglRectangle`

  The rectangle to iterate over.

  The data is owned by the caller of the method.

`level`

  Type: `gint`

  The level at which we are iterating, the roi will indicate the extent at 1:1, x,y,width and height are/(2^level).

`format`

  Type: `Babl`

  The format we want to process this buffers data in, pass 0 to use the buffers format.

  The data is owned by the caller of the method.

`access_mode`

  Type: `GeglAccessMode`

  Whether we need reading or writing to this buffer one of GEGL_BUFFER_READ, GEGL_BUFFER_WRITE and GEGL_BUFFER_READWRITE.

`abyss_policy`

  Type: `GeglAbyssPolicy`

  How request outside the buffer extent are handled.

`max_slots`

  Type: `gint`

  No description available.

#### Return value

Type: `GeglBufferIterator`

A new buffer iterator that can be used to iterate through the buffers pixels.

The returned data is owned by the instance.