mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-02 22:46:35 +00:00
88 lines
2 KiB
C
88 lines
2 KiB
C
|
|
||
|
#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
|