]> Pileus Git - ~andy/gtk/blob - gdk/broadway/broadway-output.h
gdk: prevent NULL pointer access when debugging is enabled
[~andy/gtk] / gdk / broadway / broadway-output.h
1 #ifndef __BROADWAY_H__
2 #define __BROADWAY_H__
3
4 #include <glib.h>
5 #include <gio/gio.h>
6 #include "broadway-protocol.h"
7
8 typedef struct BroadwayOutput BroadwayOutput;
9
10 typedef enum {
11   BROADWAY_WS_CONTINUATION = 0,
12   BROADWAY_WS_TEXT = 1,
13   BROADWAY_WS_BINARY = 2,
14   BROADWAY_WS_CNX_CLOSE = 8,
15   BROADWAY_WS_CNX_PING = 9,
16   BROADWAY_WS_CNX_PONG = 0xa
17 } BroadwayWSOpCode;
18
19 BroadwayOutput *broadway_output_new             (GOutputStream  *out,
20                                                  guint32         serial,
21                                                  gboolean        proto_v7_plus,
22                                                  gboolean        binary);
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);
80
81 #endif /* __BROADWAY_H__ */