### Method

# Gegl Buffercopy

#### Declaration [src]

    void
    gegl_buffer_copy (
      GeglBuffer* src,
      const GeglRectangle* src_rect,
      GeglAbyssPolicy repeat_mode,
      GeglBuffer* dst,
      const GeglRectangle* dst_rect
    )

#### Description [src]

Copy a region from source buffer to destination buffer.

If the babl_formats of the buffers are the same, and the tile boundaries align, this will create copy-on-write tiles in the destination buffer.

This function never does any scaling. When src_rect and dst_rect do not have the same width and height, the size of src_rect is used.

#### Parameters

`src_rect`

  Type: `GeglRectangle`

  Source rectangle (or NULL to copy entire source buffer).

  The data is owned by the caller of the method.

`repeat_mode`

  Type: `GeglAbyssPolicy`

  The abyss policy to be using if src_rect is outside src’s extent.

`dst`

  Type: `GeglBuffer`

  Destination buffer.

  The data is owned by the caller of the method.

`dst_rect`

  Type: `GeglRectangle`

  Position of upper left destination pixel (or NULL to match `src_rect`).

  The data is owned by the caller of the method.