tests/wayland/client-utils: Bind newer wl_compositor
Out of the new metadata, only gather the preferred scale, which will be used in a later commit. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4205>
This commit is contained in:
parent
d579bf4a6c
commit
ff58ef4bb7
@ -416,7 +416,7 @@ handle_registry_global (void *user_data,
|
||||
{
|
||||
display->compositor =
|
||||
wl_registry_bind (registry, id, &wl_compositor_interface,
|
||||
MIN (version, 5));
|
||||
MIN (version, 6));
|
||||
}
|
||||
else if (strcmp (interface, wl_subcompositor_interface.name) == 0)
|
||||
{
|
||||
@ -778,6 +778,44 @@ wayland_surface_init (WaylandSurface *surface)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
surface_enter (void *user_data,
|
||||
struct wl_surface *wl_surface,
|
||||
struct wl_output *output)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
surface_leave (void *user_data,
|
||||
struct wl_surface *wl_surface,
|
||||
struct wl_output *output)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
surface_preferred_buffer_scale (void *user_data,
|
||||
struct wl_surface *wl_surface,
|
||||
int32_t factor)
|
||||
{
|
||||
WaylandSurface *surface = user_data;
|
||||
|
||||
surface->preferred_buffer_scale = factor;
|
||||
}
|
||||
|
||||
static void
|
||||
surface_preferred_buffer_transform (void *user_data,
|
||||
struct wl_surface *wl_surface,
|
||||
uint32_t transform)
|
||||
{
|
||||
}
|
||||
|
||||
static const struct wl_surface_listener surface_listener = {
|
||||
surface_enter,
|
||||
surface_leave,
|
||||
surface_preferred_buffer_scale,
|
||||
surface_preferred_buffer_transform,
|
||||
};
|
||||
|
||||
WaylandSurface *
|
||||
wayland_surface_new (WaylandDisplay *display,
|
||||
const char *title,
|
||||
@ -794,7 +832,9 @@ wayland_surface_new (WaylandDisplay *display,
|
||||
surface->default_height = default_height;
|
||||
surface->color = color;
|
||||
surface->wl_surface = wl_compositor_create_surface (display->compositor);
|
||||
wl_surface_set_user_data (surface->wl_surface, surface);
|
||||
wl_surface_add_listener (surface->wl_surface,
|
||||
&surface_listener,
|
||||
surface);
|
||||
surface->xdg_surface = xdg_wm_base_get_xdg_surface (display->xdg_wm_base,
|
||||
surface->wl_surface);
|
||||
xdg_surface_add_listener (surface->xdg_surface, &xdg_surface_listener,
|
||||
|
@ -90,6 +90,8 @@ typedef struct _WaylandSurface
|
||||
|
||||
uint32_t color;
|
||||
gboolean is_opaque;
|
||||
|
||||
int32_t preferred_buffer_scale;
|
||||
} WaylandSurface;
|
||||
|
||||
#define WAYLAND_TYPE_SURFACE (wayland_surface_get_type ())
|
||||
|
Loading…
x
Reference in New Issue
Block a user