### Interface

# GVnc Framebuffer

#### Description

    interface GVnc.Framebuffer : GObject.Object

No description available.

#### Prerequisite

In order to implement Framebuffer, your type must inherit from`GObject`.

#### Implementations

- VncBaseFramebuffer

#### Instance methods

###### vnc_framebuffer_blt

No description available.

###### vnc_framebuffer_copyrect

Copies data from the range (`srcx`, `srcy`) to (`srcx`+`width`, `srcy`+`height`) over to the range starting at (`dstx`, `dsty`).

###### vnc_framebuffer_fill

Fill all the pixels in the range (`x`, `y`) to (`x` + `width`, `y` + `height`) to the value in `src`. The number of bytes in `src` is determined by the remote pixel format.

###### vnc_framebuffer_get_buffer

Get a pointer to the framebuffer contents.

###### vnc_framebuffer_get_height

Query the height of the remote framebuffer.

###### vnc_framebuffer_get_local_format

Get the pixel format used to store the framebuffer locally.

###### vnc_framebuffer_get_remote_format

No description available.

###### vnc_framebuffer_get_rowstride

Get the number of bytes per line of the framebuffer.

###### vnc_framebuffer_get_width

Query the width of the remote framebuffer.

###### vnc_framebuffer_perfect_format_match

Determine if the local and remote pixel formats match.

###### vnc_framebuffer_rgb24_blt

Fill all the pixels in the range (`x`, `y`) to (`x` + `width`, `y` + `height`) to the value in `src`. The number of bytes in `src` is always 3 as it must be in plain RGB24 format.

###### vnc_framebuffer_set_color_map

Set the color map to use for the framebuffer.

###### vnc_framebuffer_set_pixel_at

Sets a pixel in the framebuffer at (`x`, `y`) to the value in `src`. The number of bytes in `src` is determined by the remote pixel format.

#### Interface structure

    struct GVncFramebufferInterface {
      GTypeInterface parent;
      guint16 (* get_width) (
        VncFramebuffer* fb
      );
      guint16 (* get_height) (
        VncFramebuffer* fb
      );
      int (* get_rowstride) (
        VncFramebuffer* fb
      );
      guint8* (* get_buffer) (
        VncFramebuffer* fb
      );
      const VncPixelFormat* (* get_local_format) (
        VncFramebuffer* fb
      );
      const VncPixelFormat* (* get_remote_format) (
        VncFramebuffer* fb
      );
      gboolean (* perfect_format_match) (
        VncFramebuffer* fb
      );
      void (* set_pixel_at) (
        VncFramebuffer* fb,
        guint8* src,
        guint16 x,
        guint16 y
      );
      void (* fill) (
        VncFramebuffer* fb,
        guint8* src,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      );
      void (* copyrect) (
        VncFramebuffer* fb,
        guint16 srcx,
        guint16 srcy,
        guint16 dstx,
        guint16 dsty,
        guint16 width,
        guint16 height
      );
      void (* blt) (
        VncFramebuffer* fb,
        guint8* src,
        int rowstride,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      );
      void (* rgb24_blt) (
        VncFramebuffer* fb,
        guint8* src,
        int rowstride,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      );
      void (* set_color_map) (
        VncFramebuffer* fb,
        VncColorMap* map
      );

    }

No description available.

###### Interface members

`parent`

    GTypeInterface

| No description available.

`get_width`

    guint16 (* get_width) (
        VncFramebuffer* fb
      )

| No description available.

`get_height`

    guint16 (* get_height) (
        VncFramebuffer* fb
      )

| No description available.

`get_rowstride`

    int (* get_rowstride) (
        VncFramebuffer* fb
      )

| No description available.

`get_buffer`

    guint8* (* get_buffer) (
        VncFramebuffer* fb
      )

| No description available.

`get_local_format`

    const VncPixelFormat* (* get_local_format) (
        VncFramebuffer* fb
      )

| No description available.

`get_remote_format`

    const VncPixelFormat* (* get_remote_format) (
        VncFramebuffer* fb
      )

| No description available.

`perfect_format_match`

    gboolean (* perfect_format_match) (
        VncFramebuffer* fb
      )

| No description available.

`set_pixel_at`

    void (* set_pixel_at) (
        VncFramebuffer* fb,
        guint8* src,
        guint16 x,
        guint16 y
      )

| No description available.

`fill`

    void (* fill) (
        VncFramebuffer* fb,
        guint8* src,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      )

| No description available.

`copyrect`

    void (* copyrect) (
        VncFramebuffer* fb,
        guint16 srcx,
        guint16 srcy,
        guint16 dstx,
        guint16 dsty,
        guint16 width,
        guint16 height
      )

| No description available.

`blt`

    void (* blt) (
        VncFramebuffer* fb,
        guint8* src,
        int rowstride,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      )

| No description available.

`rgb24_blt`

    void (* rgb24_blt) (
        VncFramebuffer* fb,
        guint8* src,
        int rowstride,
        guint16 x,
        guint16 y,
        guint16 width,
        guint16 height
      )

| No description available.

`set_color_map`

    void (* set_color_map) (
        VncFramebuffer* fb,
        VncColorMap* map
      )

| No description available.

#### Virtual methods

###### GVnc.Framebuffer.blt

No description available.

###### GVnc.Framebuffer.copyrect

Copies data from the range (`srcx`, `srcy`) to (`srcx`+`width`, `srcy`+`height`) over to the range starting at (`dstx`, `dsty`).

###### GVnc.Framebuffer.fill

Fill all the pixels in the range (`x`, `y`) to (`x` + `width`, `y` + `height`) to the value in `src`. The number of bytes in `src` is determined by the remote pixel format.

###### GVnc.Framebuffer.get_buffer

No description available.

###### GVnc.Framebuffer.get_height

Query the height of the remote framebuffer.

###### GVnc.Framebuffer.get_local_format

Get the pixel format used to store the framebuffer locally.

###### GVnc.Framebuffer.get_remote_format

No description available.

###### GVnc.Framebuffer.get_rowstride

Get the number of bytes per line of the framebuffer.

###### GVnc.Framebuffer.get_width

Query the width of the remote framebuffer.

###### GVnc.Framebuffer.perfect_format_match

Determine if the local and remote pixel formats match.

###### GVnc.Framebuffer.rgb24_blt

Fill all the pixels in the range (`x`, `y`) to (`x` + `width`, `y` + `height`) to the value in `src`. The number of bytes in `src` is always 3 as it must be in plain RGB24 format.

###### GVnc.Framebuffer.set_color_map

Set the color map to use for the framebuffer.

###### GVnc.Framebuffer.set_pixel_at

Sets a pixel in the framebuffer at (`x`, `y`) to the value in `src`. The number of bytes in `src` is determined by the remote pixel format.