### Constructor

# GVnc BaseFramebuffer new

#### Declaration [src]

    VncBaseFramebuffer*
    vnc_base_framebuffer_new (
      guint8* buffer,
      guint16 width,
      guint16 height,
      int rowstride,
      const VncPixelFormat* localFormat,
      const VncPixelFormat* remoteFormat
    )

#### Description [src]

Allocate a new general purpose framebuffer object storing screen updates in `buffer`. `buffer` must be `height` * `rowstride` bytes in size. The returned object will store a pointer to `buffer`, so it should not be free’d for as long as the framebuffer object exists.

#### Parameters

`buffer`

  Type: An array of `guint8`

  The buffer representing the screen.

  The data is owned by the caller of the function.

`width`

  Type: `guint16`

  The width of the screen.

`height`

  Type: `guint16`

  The height of the screen.

`rowstride`

  Type: `int`

  The number of bytes per line in `buffer`.

`localFormat`

  Type: `VncPixelFormat`

  The format for data stored in `buffer`.

  The data is owned by the caller of the function.

`remoteFormat`

  Type: `VncPixelFormat`

  The format for data before storage in `buffer`.

  The data is owned by the caller of the function.

#### Return value

Type: `VncBaseFramebuffer`

The new framebuffer.

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