Example #1
0
static void
display_handle_global(struct wl_display *display, uint32_t id,
		      const char *interface, uint32_t version, void *data)
{
	struct display *d = data;

	if (strcmp(interface, "compositor") == 0) {
		d->compositor = wl_compositor_create(display, id);
	} else if (strcmp(interface, "output") == 0) {
		d->output = wl_output_create(display, id);
		wl_output_add_listener(d->output, &output_listener, d);
	} else if (strcmp(interface, "input_device") == 0) {
		display_add_input(d, id);
	} else if (strcmp(interface, "shell") == 0) {
		d->shell = wl_shell_create(display, id);
		wl_shell_add_listener(d->shell, &shell_listener, d);
	} else if (strcmp(interface, "drm") == 0) {
		d->drm = wl_drm_create(display, id);
		wl_drm_add_listener(d->drm, &drm_listener, d);
	} else if (strcmp(interface, "shm") == 0) {
		d->shm = wl_shm_create(display, id);
	} else if (strcmp(interface, "selection_offer") == 0) {
		add_selection_offer(d, id);
	} else if (d->global_handler) {
		d->global_handler(d, interface, id, version);
	}
}
Example #2
0
static void
display_handle_global (struct wl_display *display,
                       uint32_t id,
		       const char *interface,
                       uint32_t version,
                       void *data)
{
  ClutterBackendWayland *backend_wayland = data;

  if (strcmp (interface, "compositor") == 0)
    {
      backend_wayland->wayland_compositor = wl_compositor_create (display, id);
    }
  else if (strcmp (interface, "output") == 0)
    {
      backend_wayland->wayland_output = wl_output_create (display, id);
      wl_output_add_listener (backend_wayland->wayland_output,
                              &output_listener, backend_wayland);
    }
  else if (strcmp (interface, "input_device") == 0)
    {
      _clutter_backend_add_input_device (backend_wayland, id);
    }
  else if (strcmp (interface, "shell") == 0)
    {
      backend_wayland->wayland_shell = wl_shell_create (display, id);
      wl_shell_add_listener (backend_wayland->wayland_shell,
                             &shell_listener, backend_wayland);
    }
  else if (strcmp (interface, "drm") == 0)
    {
      backend_wayland->wayland_drm = wl_drm_create (display, id);
      wl_drm_add_listener (backend_wayland->wayland_drm,
                           &drm_listener, backend_wayland);
    }
  else if (strcmp (interface, "shm") == 0)
    {
      backend_wayland->wayland_shm = wl_shm_create (display, id);
    }
}