### Function

# Shell Screenshot composite_to_stream

#### Declaration [src]

    void
    shell_screenshot_composite_to_stream (
      CoglTexture* texture,
      int x,
      int y,
      int width,
      int height,
      float scale,
      CoglTexture* cursor,
      int cursor_x,
      int cursor_y,
      float cursor_scale,
      GOutputStream* stream,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Composite a rectangle defined by x, y, width, height from the texture to a pixbuf and write it as a PNG image into the stream.

#### Parameters

`texture`

  Type: `CoglTexture`

  The source texture.

  The data is owned by the caller of the function.

`x`

  Type: `int`

  X coordinate of the rectangle.

`y`

  Type: `int`

  Y coordinate of the rectangle.

`width`

  Type: `int`

  Width of the rectangle, or -1 to use the full texture.

`height`

  Type: `int`

  Height of the rectangle, or -1 to use the full texture.

`scale`

  Type: `float`

  Scale of the source texture.

`cursor`

  Type: `CoglTexture`

  The cursor texture.

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

`cursor_x`

  Type: `int`

  X coordinate to put the cursor texture at, relative to the full source texture.

`cursor_y`

  Type: `int`

  Y coordinate to put the cursor texture at, relative to the full source texture.

`cursor_scale`

  Type: `float`

  Scale of the cursor texture.

`stream`

  Type: `GOutputStream`

  The stream to write the PNG image into.

  The data is owned by the caller of the function.

`callback`

  Type: `GAsyncReadyCallback`

  Function to call returning success or failure.

`user_data`

  Type: `gpointer`

  The data to pass to callback function.

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