4 void registry_listener_callback(void* data, struct wl_registry* registry, uint32_t id, const char* interface, uint32_t version)
6 if (0 == strcmp(interface, "wl_compositor"))
8 wl_compositor** compositor = reinterpret_cast<wl_compositor**>(data);
9 *compositor = reinterpret_cast<wl_compositor*>(wl_registry_bind(registry, id, &wl_compositor_interface, 1));
18 wlDisplay = wl_display_connect(NULL);
19 wlRegistry = wl_display_get_registry(wlDisplay);
21 static const struct wl_registry_listener registry_listener = {
22 registry_listener_callback,
26 wl_registry_add_listener(wlRegistry, ®istry_listener, &wlCompositor);
27 wl_display_dispatch(wlDisplay);
28 wl_display_roundtrip(wlDisplay);
30 wlSurface = wl_compositor_create_surface(wlCompositor);
35 wl_surface_destroy(wlSurface);
36 wl_compositor_destroy(wlCompositor);
37 wl_registry_destroy(wlRegistry);
38 wl_display_disconnect(wlDisplay);