mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-03-20 15:51:07 +01:00
wayland: Use the built-in names of interfaces to enable protocols
This commit is contained in:
@@ -499,7 +499,7 @@ static void wayland_preferred_check_handle_global(void *data, struct wl_registry
|
||||
d->has_fifo_v1 = true;
|
||||
}
|
||||
#ifdef SDL_WL_FIXES_VERSION
|
||||
else if (SDL_strcmp(interface, "wl_fixes") == 0) {
|
||||
else if (SDL_strcmp(interface, wl_fixes_interface.name) == 0) {
|
||||
d->wl_fixes = wl_registry_bind(registry, id, &wl_fixes_interface, SDL_min(SDL_WL_FIXES_VERSION, version));
|
||||
}
|
||||
#endif
|
||||
@@ -1279,83 +1279,81 @@ static void handle_registry_global(void *data, struct wl_registry *registry, uin
|
||||
{
|
||||
SDL_VideoData *d = data;
|
||||
|
||||
// printf("WAYLAND INTERFACE: %s\n", interface);
|
||||
|
||||
if (SDL_strcmp(interface, "wl_compositor") == 0) {
|
||||
if (SDL_strcmp(interface, wl_compositor_interface.name) == 0) {
|
||||
d->compositor = wl_registry_bind(d->registry, id, &wl_compositor_interface, SDL_min(SDL_WL_COMPOSITOR_VERSION, version));
|
||||
} else if (SDL_strcmp(interface, "wl_subcompositor") == 0) {
|
||||
} else if (SDL_strcmp(interface, wl_subcompositor_interface.name) == 0) {
|
||||
d->subcompositor = wl_registry_bind(d->registry, id, &wl_subcompositor_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "wl_output") == 0) {
|
||||
} else if (SDL_strcmp(interface, wl_output_interface.name) == 0) {
|
||||
Wayland_add_display(d, id, SDL_min(version, SDL_WL_OUTPUT_VERSION));
|
||||
} else if (SDL_strcmp(interface, "wl_seat") == 0) {
|
||||
} else if (SDL_strcmp(interface, wl_seat_interface.name) == 0) {
|
||||
struct wl_seat *seat = wl_registry_bind(d->registry, id, &wl_seat_interface, SDL_min(SDL_WL_SEAT_VERSION, version));
|
||||
Wayland_DisplayCreateSeat(d, seat, id);
|
||||
} else if (SDL_strcmp(interface, "xdg_wm_base") == 0) {
|
||||
} else if (SDL_strcmp(interface, xdg_wm_base_interface.name) == 0) {
|
||||
d->shell.xdg = wl_registry_bind(d->registry, id, &xdg_wm_base_interface, SDL_min(version, 7));
|
||||
xdg_wm_base_add_listener(d->shell.xdg, &_xdg_wm_base_listener, NULL);
|
||||
} else if (SDL_strcmp(interface, "wl_shm") == 0) {
|
||||
} else if (SDL_strcmp(interface, wl_shm_interface.name) == 0) {
|
||||
d->shm = wl_registry_bind(registry, id, &wl_shm_interface, SDL_min(SDL_WL_SHM_VERSION, version));
|
||||
} else if (SDL_strcmp(interface, "zwp_relative_pointer_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_relative_pointer_manager_v1_interface.name) == 0) {
|
||||
d->relative_pointer_manager = wl_registry_bind(d->registry, id, &zwp_relative_pointer_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_pointer_constraints_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_pointer_constraints_v1_interface.name) == 0) {
|
||||
d->pointer_constraints = wl_registry_bind(d->registry, id, &zwp_pointer_constraints_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_keyboard_shortcuts_inhibit_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_keyboard_shortcuts_inhibit_manager_v1_interface.name) == 0) {
|
||||
d->key_inhibitor_manager = wl_registry_bind(d->registry, id, &zwp_keyboard_shortcuts_inhibit_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_idle_inhibit_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_idle_inhibit_manager_v1_interface.name) == 0) {
|
||||
d->idle_inhibit_manager = wl_registry_bind(d->registry, id, &zwp_idle_inhibit_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "xdg_activation_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, xdg_activation_v1_interface.name) == 0) {
|
||||
d->activation_manager = wl_registry_bind(d->registry, id, &xdg_activation_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_text_input_manager_v3") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_text_input_manager_v3_interface.name) == 0) {
|
||||
d->text_input_manager = wl_registry_bind(d->registry, id, &zwp_text_input_manager_v3_interface, 1);
|
||||
Wayland_DisplayInitTextInputManager(d, id);
|
||||
} else if (SDL_strcmp(interface, "wl_data_device_manager") == 0) {
|
||||
} else if (SDL_strcmp(interface, wl_data_device_manager_interface.name) == 0) {
|
||||
d->data_device_manager = wl_registry_bind(d->registry, id, &wl_data_device_manager_interface, SDL_min(3, version));
|
||||
Wayland_DisplayInitDataDeviceManager(d);
|
||||
} else if (SDL_strcmp(interface, "zwp_primary_selection_device_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_primary_selection_device_manager_v1_interface.name) == 0) {
|
||||
d->primary_selection_device_manager = wl_registry_bind(d->registry, id, &zwp_primary_selection_device_manager_v1_interface, 1);
|
||||
Wayland_DisplayInitPrimarySelectionDeviceManager(d);
|
||||
} else if (SDL_strcmp(interface, "zxdg_decoration_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zxdg_decoration_manager_v1_interface.name) == 0) {
|
||||
d->decoration_manager = wl_registry_bind(d->registry, id, &zxdg_decoration_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_tablet_manager_v2") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_tablet_manager_v2_interface.name) == 0) {
|
||||
d->tablet_manager = wl_registry_bind(d->registry, id, &zwp_tablet_manager_v2_interface, 1);
|
||||
Wayland_DisplayInitTabletManager(d);
|
||||
} else if (SDL_strcmp(interface, "zxdg_output_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) {
|
||||
version = SDL_min(version, 3); // Versions 1 through 3 are supported.
|
||||
d->xdg_output_manager = wl_registry_bind(d->registry, id, &zxdg_output_manager_v1_interface, version);
|
||||
Wayland_init_xdg_output(d);
|
||||
} else if (SDL_strcmp(interface, "wp_viewporter") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_viewporter_interface.name) == 0) {
|
||||
d->viewporter = wl_registry_bind(d->registry, id, &wp_viewporter_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "wp_fractional_scale_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_fractional_scale_manager_v1_interface.name) == 0) {
|
||||
d->fractional_scale_manager = wl_registry_bind(d->registry, id, &wp_fractional_scale_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_input_timestamps_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_input_timestamps_manager_v1_interface.name) == 0) {
|
||||
d->input_timestamps_manager = wl_registry_bind(d->registry, id, &zwp_input_timestamps_manager_v1_interface, 1);
|
||||
Wayland_DisplayInitInputTimestampManager(d);
|
||||
} else if (SDL_strcmp(interface, "wp_cursor_shape_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_cursor_shape_manager_v1_interface.name) == 0) {
|
||||
d->cursor_shape_manager = wl_registry_bind(d->registry, id, &wp_cursor_shape_manager_v1_interface, 1);
|
||||
Wayland_DisplayInitCursorShapeManager(d);
|
||||
} else if (SDL_strcmp(interface, "zxdg_exporter_v2") == 0) {
|
||||
} else if (SDL_strcmp(interface, zxdg_exporter_v2_interface.name) == 0) {
|
||||
d->zxdg_exporter_v2 = wl_registry_bind(d->registry, id, &zxdg_exporter_v2_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "xdg_wm_dialog_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, xdg_wm_dialog_v1_interface.name) == 0) {
|
||||
d->xdg_wm_dialog_v1 = wl_registry_bind(d->registry, id, &xdg_wm_dialog_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "wp_alpha_modifier_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_alpha_modifier_v1_interface.name) == 0) {
|
||||
d->wp_alpha_modifier_v1 = wl_registry_bind(d->registry, id, &wp_alpha_modifier_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "xdg_toplevel_icon_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, xdg_toplevel_icon_manager_v1_interface.name) == 0) {
|
||||
d->xdg_toplevel_icon_manager_v1 = wl_registry_bind(d->registry, id, &xdg_toplevel_icon_manager_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "frog_color_management_factory_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, frog_color_management_factory_v1_interface.name) == 0) {
|
||||
d->frog_color_management_factory_v1 = wl_registry_bind(d->registry, id, &frog_color_management_factory_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "wp_color_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_color_manager_v1_interface.name) == 0) {
|
||||
d->wp_color_manager_v1 = wl_registry_bind(d->registry, id, &wp_color_manager_v1_interface, SDL_min(version, 2));
|
||||
Wayland_InitColorManager(d);
|
||||
} else if (SDL_strcmp(interface, "wp_pointer_warp_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_pointer_warp_v1_interface.name) == 0) {
|
||||
d->wp_pointer_warp_v1 = wl_registry_bind(d->registry, id, &wp_pointer_warp_v1_interface, 1);
|
||||
} else if (SDL_strcmp(interface, "zwp_pointer_gestures_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, zwp_pointer_gestures_v1_interface.name) == 0) {
|
||||
d->zwp_pointer_gestures = wl_registry_bind(d->registry, id, &zwp_pointer_gestures_v1_interface, SDL_min(version, 3));
|
||||
Wayland_DisplayInitPointerGestureManager(d);
|
||||
} else if (SDL_strcmp(interface, "wp_single_pixel_buffer_manager_v1") == 0) {
|
||||
} else if (SDL_strcmp(interface, wp_single_pixel_buffer_manager_v1_interface.name) == 0) {
|
||||
d->single_pixel_buffer_manager = wl_registry_bind(d->registry, id, &wp_single_pixel_buffer_manager_v1_interface, 1);
|
||||
}
|
||||
#ifdef SDL_WL_FIXES_VERSION
|
||||
else if (SDL_strcmp(interface, "wl_fixes") == 0) {
|
||||
else if (SDL_strcmp(interface, wl_fixes_interface.name) == 0) {
|
||||
d->wl_fixes = wl_registry_bind(d->registry, id, &wl_fixes_interface, SDL_min(SDL_WL_FIXES_VERSION, version));
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user