diff options
author | David Schleef <ds@schleef.org> | 2005-02-11 22:01:19 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2005-02-11 22:01:19 +0000 |
commit | a970a323047d9241a4ee96f4126c9739fc9780cf (patch) | |
tree | 0cc2c90fba41e659ddfa701c08f9bc0b95545427 /gst/librfb/rfbdecoder.h | |
parent | 909da9fb0489c3744547e6386531461c072da5fc (diff) | |
download | gst-plugins-bad-a970a323047d9241a4ee96f4126c9739fc9780cf.tar.gz gst-plugins-bad-a970a323047d9241a4ee96f4126c9739fc9780cf.tar.bz2 gst-plugins-bad-a970a323047d9241a4ee96f4126c9739fc9780cf.zip |
configure.ac: Pull in librfb from my CVS tree, because it is too small and annoying to be separate. Move rfbsrc plug...
Original commit message from CVS:
* configure.ac: Pull in librfb from my CVS tree, because it is
too small and annoying to be separate. Move rfbsrc plugin
to gst/.
* ext/Makefile.am:
* ext/librfb/Makefile.am:
* ext/librfb/gstrfbsrc.c:
* gst/librfb/Makefile.am:
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfb.c:
* gst/librfb/rfb.h:
* gst/librfb/rfbbuffer.c:
* gst/librfb/rfbbuffer.h:
* gst/librfb/rfbbytestream.c:
* gst/librfb/rfbbytestream.h:
* gst/librfb/rfbcontext.h:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
* gst/librfb/rfbutil.h:
Diffstat (limited to 'gst/librfb/rfbdecoder.h')
-rw-r--r-- | gst/librfb/rfbdecoder.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/gst/librfb/rfbdecoder.h b/gst/librfb/rfbdecoder.h new file mode 100644 index 00000000..db16cb2c --- /dev/null +++ b/gst/librfb/rfbdecoder.h @@ -0,0 +1,87 @@ + +#ifndef _LIBRFB_DECODER_H_ +#define _LIBRFB_DECODER_H_ + +#include <glib.h> +#include <librfb/rfbbytestream.h> + +G_BEGIN_DECLS + +typedef struct _RfbDecoder RfbDecoder; + +struct _RfbDecoder +{ + int (*send_data) (guint8 *buffer, int length, gpointer user_data); + gpointer buffer_handler_data; + + RfbBytestream *bytestream; + + gpointer decoder_private; + + void (*paint_rect) (RfbDecoder *decoder, int x, int y, int w, int h, + guint8 *data); + void (*copy_rect) (RfbDecoder *decoder, int x, int y, int w, int h, + int src_x, int src_y); + + /* settable properties */ + gboolean shared_flag; + + /* readable properties */ + gboolean inited; + + int protocol_major; + int protocol_minor; + unsigned int security_type; + + unsigned int width; + unsigned int height; + unsigned int bpp; + unsigned int depth; + gboolean big_endian; + gboolean true_colour; + unsigned int red_max; + unsigned int green_max; + unsigned int blue_max; + unsigned int red_shift; + unsigned int green_shift; + unsigned int blue_shift; + + char *name; + + /* state information */ + gboolean (*state) (RfbDecoder *decoder); + int n_rects; +}; + +#if 0 +typedef struct _RfbRect +{ + RfbConnection *connection; + + unsigned int x_pos; + unsigned int y_pos; + unsigned int width; + unsigned int height; + unsigned int encoding_type; + + char *data; +} RfbRect; +#endif + + +RfbDecoder *rfb_decoder_new (void); +void rfb_decoder_use_file_descriptor (RfbDecoder * decoder, int fd); +void rfb_decoder_connect_tcp (RfbDecoder *decoder, char * addr, unsigned int port); +void rfb_decoder_set_peer (RfbDecoder * decoder); +gboolean rfb_decoder_iterate (RfbDecoder * decoder); +int rfb_decoder_send (RfbDecoder * decoder, guint8 *data, int len); +void rfb_decoder_send_update_request (RfbDecoder * decoder, + gboolean incremental, int x, int y, int width, int height); +void rfb_decoder_send_key_event (RfbDecoder * decoder, unsigned int key, + gboolean down_flag); +void rfb_decoder_send_pointer_event (RfbDecoder * decoder, + int button_mask, int x, int y); + +G_END_DECLS + +#endif |