summaryrefslogtreecommitdiffstats
path: root/gst/librfb/rfbdecoder.h
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2005-02-11 22:01:19 +0000
committerDavid Schleef <ds@schleef.org>2005-02-11 22:01:19 +0000
commita970a323047d9241a4ee96f4126c9739fc9780cf (patch)
tree0cc2c90fba41e659ddfa701c08f9bc0b95545427 /gst/librfb/rfbdecoder.h
parent909da9fb0489c3744547e6386531461c072da5fc (diff)
downloadgst-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.h87
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