[gtk: 1/2] gdk/wayland/surface: Expose gdk_wayland_surface_get_wl_egl_window()
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 1/2] gdk/wayland/surface: Expose gdk_wayland_surface_get_wl_egl_window()
- Date: Wed, 30 Dec 2020 03:32:07 +0000 (UTC)
commit 3344bcaf92bf1659bd3db0a896edd01dcd3005f3
Author: Vivek Kasireddy <vivek kasireddy intel com>
Date: Mon Dec 28 18:20:04 2020 -0800
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>
gdk/wayland/gdksurface-wayland.c | 2 +-
gdk/wayland/gdkwaylandsurface.h | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c
index dd0d1891fa..296acdf2bb 100644
--- a/gdk/wayland/gdksurface-wayland.c
+++ b/gdk/wayland/gdksurface-wayland.c
@@ -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);
diff --git a/gdk/wayland/gdkwaylandsurface.h b/gdk/wayland/gdkwaylandsurface.h
index 851a4d5607..180903ff7c 100644
--- a/gdk/wayland/gdkwaylandsurface.h
+++ b/gdk/wayland/gdkwaylandsurface.h
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]