wayland: Update to recent API changes
This commit is contained in:
@ -143,31 +143,6 @@ display_handle_mode(void *data,
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
compositor_handle_visual(void *data,
|
||||
struct wl_compositor *compositor,
|
||||
uint32_t id, uint32_t token)
|
||||
{
|
||||
GdkDisplayWayland *d = data;
|
||||
|
||||
switch (token) {
|
||||
case WL_COMPOSITOR_VISUAL_ARGB32:
|
||||
d->argb_visual = wl_visual_create(d->wl_display, id, 1);
|
||||
break;
|
||||
case WL_COMPOSITOR_VISUAL_PREMULTIPLIED_ARGB32:
|
||||
d->premultiplied_argb_visual =
|
||||
wl_visual_create(d->wl_display, id, 1);
|
||||
break;
|
||||
case WL_COMPOSITOR_VISUAL_XRGB32:
|
||||
d->rgb_visual = wl_visual_create(d->wl_display, id, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static const struct wl_compositor_listener compositor_listener = {
|
||||
compositor_handle_visual,
|
||||
};
|
||||
|
||||
static const struct wl_output_listener output_listener = {
|
||||
output_handle_geometry,
|
||||
display_handle_mode
|
||||
@ -182,21 +157,21 @@ gdk_display_handle_global(struct wl_display *display, uint32_t id,
|
||||
struct wl_input_device *input;
|
||||
|
||||
if (strcmp(interface, "wl_compositor") == 0) {
|
||||
display_wayland->compositor = wl_compositor_create(display, id, 1);
|
||||
wl_compositor_add_listener(display_wayland->compositor,
|
||||
&compositor_listener, display_wayland);
|
||||
display_wayland->compositor =
|
||||
wl_display_bind(display, id, &wl_compositor_interface);
|
||||
} else if (strcmp(interface, "wl_shm") == 0) {
|
||||
display_wayland->shm = wl_shm_create(display, id, 1);
|
||||
display_wayland->shm = wl_display_bind(display, id, &wl_shm_interface);
|
||||
} else if (strcmp(interface, "wl_shell") == 0) {
|
||||
display_wayland->shell = wl_shell_create(display, id, 1);
|
||||
display_wayland->shell = wl_display_bind(display, id, &wl_shell_interface);
|
||||
wl_shell_add_listener(display_wayland->shell,
|
||||
&shell_listener, display_wayland);
|
||||
} else if (strcmp(interface, "wl_output") == 0) {
|
||||
display_wayland->output = wl_output_create(display, id, 1);
|
||||
display_wayland->output =
|
||||
wl_display_bind(display, id, &wl_output_interface);
|
||||
wl_output_add_listener(display_wayland->output,
|
||||
&output_listener, display_wayland);
|
||||
} else if (strcmp(interface, "wl_input_device") == 0) {
|
||||
input = wl_input_device_create(display, id, 1);
|
||||
input = wl_display_bind(display, id, &wl_input_device_interface);
|
||||
_gdk_wayland_device_manager_add_device (gdk_display->device_manager,
|
||||
input);
|
||||
}
|
||||
@ -375,28 +350,16 @@ gdk_wayland_display_beep (GdkDisplay *display)
|
||||
g_return_if_fail (GDK_IS_DISPLAY (display));
|
||||
}
|
||||
|
||||
static void
|
||||
sync_callback(void *data)
|
||||
{
|
||||
gboolean *done = data;
|
||||
|
||||
*done = TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_display_sync (GdkDisplay *display)
|
||||
{
|
||||
GdkDisplayWayland *display_wayland;
|
||||
gboolean done;
|
||||
|
||||
g_return_if_fail (GDK_IS_DISPLAY (display));
|
||||
|
||||
display_wayland = GDK_DISPLAY_WAYLAND (display);
|
||||
|
||||
wl_display_sync_callback(display_wayland->wl_display, sync_callback, &done);
|
||||
wl_display_iterate(display_wayland->wl_display, WL_DISPLAY_WRITABLE);
|
||||
while (!done)
|
||||
wl_display_iterate(display_wayland->wl_display, WL_DISPLAY_READABLE);
|
||||
wl_display_roundtrip(display_wayland->wl_display);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user