]> Pileus Git - ~andy/gtk/blob - gdk/broadway/broadway-server.h
broadway: During pointer grabs, send pointer events only to one client
[~andy/gtk] / gdk / broadway / broadway-server.h
1 #ifndef __BROADWAY_SERVER__
2 #define __BROADWAY_SERVER__
3
4 #include "broadway-protocol.h"
5 #include <glib-object.h>
6 #include <cairo.h>
7
8 void broadway_events_got_input (BroadwayInputMsg *message,
9                                 gint32 client_id);
10
11 typedef struct _BroadwayServer BroadwayServer;
12 typedef struct _BroadwayServerClass BroadwayServerClass;
13
14 #define BROADWAY_TYPE_SERVER              (broadway_server_get_type())
15 #define BROADWAY_SERVER(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), BROADWAY_TYPE_SERVER, BroadwayServer))
16 #define BROADWAY_SERVER_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), BROADWAY_TYPE_SERVER, BroadwayServerClass))
17 #define BROADWAY_IS_SERVER(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), BROADWAY_TYPE_SERVER))
18 #define BROADWAY_IS_SERVER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), BROADWAY_TYPE_SERVER))
19 #define BROADWAY_SERVER_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), BROADWAY_TYPE_SERVER, BroadwayServerClass))
20
21
22 BroadwayServer     *broadway_server_new                      (int               port,
23                                                               GError          **error);
24 gboolean            broadway_server_has_client               (BroadwayServer   *server);
25 void                broadway_server_flush                    (BroadwayServer   *server);
26 void                broadway_server_sync                     (BroadwayServer   *server);
27 gulong              broadway_server_get_next_serial          (BroadwayServer   *server);
28 guint32             broadway_server_get_last_seen_time       (BroadwayServer   *server);
29 gboolean            broadway_server_lookahead_event          (BroadwayServer   *server,
30                                                               const char       *types);
31 void                broadway_server_query_mouse              (BroadwayServer   *server,
32                                                               guint32          *toplevel,
33                                                               gint32           *root_x,
34                                                               gint32           *root_y,
35                                                               guint32          *mask);
36 guint32             broadway_server_grab_pointer             (BroadwayServer   *server,
37                                                               gint              client_id,
38                                                               gint              id,
39                                                               gboolean          owner_events,
40                                                               guint32           event_mask,
41                                                               guint32           time_);
42 guint32             broadway_server_ungrab_pointer           (BroadwayServer   *server,
43                                                               guint32           time_);
44 gint32              broadway_server_get_mouse_toplevel       (BroadwayServer   *server);
45 guint32             broadway_server_new_window               (BroadwayServer   *server,
46                                                               int               x,
47                                                               int               y,
48                                                               int               width,
49                                                               int               height,
50                                                               gboolean          is_temp);
51 void                broadway_server_destroy_window           (BroadwayServer   *server,
52                                                               gint              id);
53 gboolean            broadway_server_window_show              (BroadwayServer   *server,
54                                                               gint              id);
55 gboolean            broadway_server_window_hide              (BroadwayServer   *server,
56                                                               gint              id);
57 void                broadway_server_window_set_transient_for (BroadwayServer   *server,
58                                                               gint              id,
59                                                               gint              parent);
60 gboolean            broadway_server_window_translate         (BroadwayServer   *server,
61                                                               gint              id,
62                                                               cairo_region_t   *area,
63                                                               gint              dx,
64                                                               gint              dy);
65 cairo_surface_t   * broadway_server_create_surface           (int               width,
66                                                               int               height);
67 void                broadway_server_window_update            (BroadwayServer   *server,
68                                                               gint              id,
69                                                               cairo_surface_t  *surface);
70 gboolean            broadway_server_window_move_resize       (BroadwayServer   *server,
71                                                               gint              id,
72                                                               int               x,
73                                                               int               y,
74                                                               int               width,
75                                                               int               height);
76
77 #endif /* __BROADWAY_SERVER__ */