summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2011-12-08 16:21:57 +0000
committerRob Bradford <rob@linux.intel.com>2011-12-08 16:21:57 +0000
commit005709e550f161c169b91953011c884f1a171806 (patch)
treeff2348d3ebab1522e9082d37e00d3b62bcfebdbb
parent444533421e21eb51951f646838456e101c437bf2 (diff)
downloadcogl-rbradford/wayland-update.tar.gz
wayland: Add API to access the shell surface for the onscreenrbradford/wayland-update
-rw-r--r--cogl/cogl-onscreen.h2
-rw-r--r--cogl/winsys/cogl-winsys-egl.c16
2 files changed, 18 insertions, 0 deletions
diff --git a/cogl/cogl-onscreen.h b/cogl/cogl-onscreen.h
index 8a9d64ae..9bcc7693 100644
--- a/cogl/cogl-onscreen.h
+++ b/cogl/cogl-onscreen.h
@@ -131,6 +131,8 @@ cogl_win32_onscreen_get_window (CoglOnscreen *onscreen);
#if defined (COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT)
struct wl_surface *
cogl_wayland_onscreen_get_surface (CoglOnscreen *onscreen);
+struct wl_shell_surface *
+cogl_wayland_onscreen_get_shell_surface (CoglOnscreen *onscreen);
#endif /* COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT */
#define cogl_onscreen_set_swap_throttled cogl_onscreen_set_swap_throttled_EXP
diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c
index abf7d23a..895a8d84 100644
--- a/cogl/winsys/cogl-winsys-egl.c
+++ b/cogl/winsys/cogl-winsys-egl.c
@@ -1936,6 +1936,22 @@ cogl_wayland_onscreen_get_surface (CoglOnscreen *onscreen)
return NULL;
}
+
+struct wl_shell_surface *
+cogl_wayland_onscreen_get_shell_surface (CoglOnscreen *onscreen)
+{
+ CoglFramebuffer *fb;
+
+ fb = COGL_FRAMEBUFFER (onscreen);
+ if (fb->allocated)
+ {
+ CoglOnscreenEGL *egl_onscreen = onscreen->winsys;
+ return egl_onscreen->wayland_shell_surface;
+ }
+ else
+ return NULL;
+}
+
#endif /* COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT */
#ifdef EGL_KHR_image_base