gtk2/gdk/broadway/broadway.h
Michael Meeks 14a17873de broadway: Initial support fro V7+ websockets
Allows more modern browsers eg. firefox 5+ to use gtk/broadway
Auto-detects protocol version, and can switch between them at
as you connect a different browser.

This works to some extent, but seems to hang sometimes, for
instance the "button box" test in testgtk never shows up.
2011-11-10 10:12:28 +01:00

80 lines
2.8 KiB
C

#include <glib.h>
#include <gio/gio.h>
typedef struct BroadwayOutput BroadwayOutput;
typedef struct {
int x, y;
int width, height;
} BroadwayRect;
typedef enum {
BROADWAY_WS_CONTINUATION = 0,
BROADWAY_WS_TEXT = 1,
BROADWAY_WS_BINARY = 2,
BROADWAY_WS_CNX_CLOSE = 8,
BROADWAY_WS_CNX_PING = 9,
BROADWAY_WS_CNX_PONG = 0xa
} BroadwayWSOpCode;
BroadwayOutput *broadway_output_new (GOutputStream *out,
guint32 serial,
gboolean proto_v7_plus);
void broadway_output_free (BroadwayOutput *output);
int broadway_output_flush (BroadwayOutput *output);
int broadway_output_has_error (BroadwayOutput *output);
guint32 broadway_output_get_next_serial (BroadwayOutput *output);
void broadway_output_new_surface (BroadwayOutput *output,
int id,
int x,
int y,
int w,
int h,
gboolean is_temp);
void broadway_output_show_surface (BroadwayOutput *output,
int id);
void broadway_output_hide_surface (BroadwayOutput *output,
int id);
void broadway_output_destroy_surface (BroadwayOutput *output,
int id);
void broadway_output_move_resize_surface (BroadwayOutput *output,
int id,
gboolean has_pos,
int x,
int y,
gboolean has_size,
int w,
int h);
void broadway_output_set_transient_for (BroadwayOutput *output,
int id,
int parent_id);
void broadway_output_put_rgb (BroadwayOutput *output,
int id,
int x,
int y,
int w,
int h,
int byte_stride,
void *data);
void broadway_output_put_rgba (BroadwayOutput *output,
int id,
int x,
int y,
int w,
int h,
int byte_stride,
void *data);
void broadway_output_surface_flush (BroadwayOutput *output,
int id);
void broadway_output_copy_rectangles (BroadwayOutput *output,
int id,
BroadwayRect *rects,
int n_rects,
int dx,
int dy);
void broadway_output_grab_pointer (BroadwayOutput *output,
int id,
gboolean owner_event);
guint32 broadway_output_ungrab_pointer (BroadwayOutput *output);
void broadway_output_pong (BroadwayOutput *output);