From a970a323047d9241a4ee96f4126c9739fc9780cf Mon Sep 17 00:00:00 2001 From: David Schleef Date: Fri, 11 Feb 2005 22:01:19 +0000 Subject: 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: --- gst/librfb/rfbdecoder.h | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 gst/librfb/rfbdecoder.h (limited to 'gst/librfb/rfbdecoder.h') 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 +#include + +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 -- cgit v1.2.1