]> Pileus Git - ~andy/gtk/blob - gdk/broadway/broadway.h
broadway: Initial support fro V7+ websockets
[~andy/gtk] / gdk / broadway / broadway.h
1 #include <glib.h>
2 #include <gio/gio.h>
3
4 typedef struct BroadwayOutput BroadwayOutput;
5
6 typedef struct  {
7     int x, y;
8     int width, height;
9 } BroadwayRect;
10
11 typedef enum {
12   BROADWAY_WS_CONTINUATION = 0,
13   BROADWAY_WS_TEXT = 1,
14   BROADWAY_WS_BINARY = 2,
15   BROADWAY_WS_CNX_CLOSE = 8,
16   BROADWAY_WS_CNX_PING = 9,
17   BROADWAY_WS_CNX_PONG = 0xa
18 } BroadwayWSOpCode;
19
20 BroadwayOutput *broadway_output_new             (GOutputStream  *out,
21                                                  guint32         serial,
22                                                  gboolean        proto_v7_plus);
23 void            broadway_output_free            (BroadwayOutput *output);
24 int             broadway_output_flush           (BroadwayOutput *output);
25 int             broadway_output_has_error       (BroadwayOutput *output);
26 guint32         broadway_output_get_next_serial (BroadwayOutput *output);
27 void            broadway_output_new_surface     (BroadwayOutput *output,
28                                                  int             id,
29                                                  int             x,
30                                                  int             y,
31                                                  int             w,
32                                                  int             h,
33                                                  gboolean        is_temp);
34 void            broadway_output_show_surface    (BroadwayOutput *output,
35                                                  int             id);
36 void            broadway_output_hide_surface    (BroadwayOutput *output,
37                                                  int             id);
38 void            broadway_output_destroy_surface (BroadwayOutput *output,
39                                                  int             id);
40 void            broadway_output_move_resize_surface (BroadwayOutput *output,
41                                                      int             id,
42                                                      gboolean        has_pos,
43                                                      int             x,
44                                                      int             y,
45                                                      gboolean        has_size,
46                                                      int             w,
47                                                      int             h);
48 void            broadway_output_set_transient_for (BroadwayOutput *output,
49                                                    int             id,
50                                                    int             parent_id);
51 void            broadway_output_put_rgb         (BroadwayOutput *output,
52                                                  int             id,
53                                                  int             x,
54                                                  int             y,
55                                                  int             w,
56                                                  int             h,
57                                                  int             byte_stride,
58                                                  void           *data);
59 void            broadway_output_put_rgba        (BroadwayOutput *output,
60                                                  int             id,
61                                                  int             x,
62                                                  int             y,
63                                                  int             w,
64                                                  int             h,
65                                                  int             byte_stride,
66                                                  void           *data);
67 void            broadway_output_surface_flush   (BroadwayOutput *output,
68                                                  int             id);
69 void            broadway_output_copy_rectangles (BroadwayOutput *output,
70                                                  int             id,
71                                                  BroadwayRect   *rects,
72                                                  int             n_rects,
73                                                  int             dx,
74                                                  int             dy);
75 void            broadway_output_grab_pointer    (BroadwayOutput *output,
76                                                  int id,
77                                                  gboolean owner_event);
78 guint32         broadway_output_ungrab_pointer  (BroadwayOutput *output);
79 void            broadway_output_pong            (BroadwayOutput *output);