gdk/wayland/surface: Expose gdk_wayland_surface_get_wl_egl_window()

Some GTK based applications such as Qemu UI create and manage
EGLSurfaces associated with the relevant GdkSurfaces. In order to create
an EGLSurface, there needs to be a way to pass the native window
object to eglCreateWindowSurface(). While running in an X environment,
the native window object can be obtained by calling
gdk_x11_surface_get_xid(). Likewise, the native window object can be
obtained by calling gdk_wayland_surface_get_wl_egl_window() while
running in a Wayland environment. Therefore, this API needs to be
exposed to apps.

Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
This commit is contained in:
Vivek Kasireddy 2020-12-28 18:20:04 -08:00
parent 0fcf01ddd5
commit 3344bcaf92
2 changed files with 4 additions and 1 deletions

View File

@ -4209,7 +4209,7 @@ gdk_wayland_surface_get_wl_output (GdkSurface *surface)
return NULL;
}
static struct wl_egl_window *
struct wl_egl_window *
gdk_wayland_surface_get_wl_egl_window (GdkSurface *surface)
{
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);

View File

@ -62,6 +62,9 @@ GType gdk_wayland_popup_get_type (void);
GDK_AVAILABLE_IN_ALL
struct wl_surface *gdk_wayland_surface_get_wl_surface (GdkSurface *surface);
GDK_AVAILABLE_IN_ALL
struct wl_egl_window *gdk_wayland_surface_get_wl_egl_window (GdkSurface *surface);
typedef void (*GdkWaylandToplevelExported) (GdkToplevel *toplevel,
const char *handle,
gpointer user_data);