### 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.