mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-18 17:30:10 +00:00
8e686357c4
With this we always roundtrip position change to the webbrowser. This avoids conflicts when things change from both directions (app and user). Also, we fake configure evens when there is no web client to ensure apps get the events.
72 lines
3.9 KiB
C
72 lines
3.9 KiB
C
#ifndef __GDK_BROADWAY_SERVER__
|
|
#define __GDK_BROADWAY_SERVER__
|
|
|
|
#include <gdk/gdktypes.h>
|
|
#include "broadway-protocol.h"
|
|
|
|
typedef struct _GdkBroadwayServer GdkBroadwayServer;
|
|
typedef struct _GdkBroadwayServerClass GdkBroadwayServerClass;
|
|
|
|
#define GDK_TYPE_BROADWAY_SERVER (gdk_broadway_server_get_type())
|
|
#define GDK_BROADWAY_SERVER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_BROADWAY_SERVER, GdkBroadwayServer))
|
|
#define GDK_BROADWAY_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_BROADWAY_SERVER, GdkBroadwayServerClass))
|
|
#define GDK_IS_BROADWAY_SERVER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_BROADWAY_SERVER))
|
|
#define GDK_IS_BROADWAY_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_BROADWAY_SERVER))
|
|
#define GDK_BROADWAY_SERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_BROADWAY_SERVER, GdkBroadwayServerClass))
|
|
|
|
GdkBroadwayServer *_gdk_broadway_server_new (int port,
|
|
GError **error);
|
|
void _gdk_broadway_server_flush (GdkBroadwayServer *server);
|
|
void _gdk_broadway_server_sync (GdkBroadwayServer *server);
|
|
gulong _gdk_broadway_server_get_next_serial (GdkBroadwayServer *server);
|
|
guint32 _gdk_broadway_server_get_last_seen_time (GdkBroadwayServer *server);
|
|
gboolean _gdk_broadway_server_lookahead_event (GdkBroadwayServer *server,
|
|
const char *types);
|
|
void _gdk_broadway_server_query_mouse (GdkBroadwayServer *server,
|
|
guint32 *toplevel,
|
|
gint32 *root_x,
|
|
gint32 *root_y,
|
|
guint32 *mask);
|
|
GdkGrabStatus _gdk_broadway_server_grab_pointer (GdkBroadwayServer *server,
|
|
gint id,
|
|
gboolean owner_events,
|
|
guint32 event_mask,
|
|
guint32 time_);
|
|
guint32 _gdk_broadway_server_ungrab_pointer (GdkBroadwayServer *server,
|
|
guint32 time_);
|
|
gint32 _gdk_broadway_server_get_mouse_toplevel (GdkBroadwayServer *server);
|
|
guint32 _gdk_broadway_server_new_window (GdkBroadwayServer *server,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
gboolean is_temp);
|
|
void _gdk_broadway_server_destroy_window (GdkBroadwayServer *server,
|
|
gint id);
|
|
gboolean _gdk_broadway_server_window_show (GdkBroadwayServer *server,
|
|
gint id);
|
|
gboolean _gdk_broadway_server_window_hide (GdkBroadwayServer *server,
|
|
gint id);
|
|
void _gdk_broadway_server_window_set_transient_for (GdkBroadwayServer *server,
|
|
gint id,
|
|
gint parent);
|
|
gboolean _gdk_broadway_server_window_translate (GdkBroadwayServer *server,
|
|
gint id,
|
|
cairo_region_t *area,
|
|
gint dx,
|
|
gint dy);
|
|
cairo_surface_t *_gdk_broadway_server_create_surface (int width,
|
|
int height);
|
|
void _gdk_broadway_server_window_update (GdkBroadwayServer *server,
|
|
gint id,
|
|
cairo_surface_t *surface);
|
|
gboolean _gdk_broadway_server_window_move_resize (GdkBroadwayServer *server,
|
|
gint id,
|
|
gboolean with_move,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height);
|
|
|
|
#endif /* __GDK_BROADWAY_SERVER__ */
|