summaryrefslogtreecommitdiff
path: root/src/egl/wayland/wayland-egl-priv.h
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-02-04 12:24:08 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-02-07 13:55:20 +0100
commit214fc6e85057bc4661b76ae3f3c22733910da69c (patch)
tree6b8a31fcf2180ee6f5575db6fabb7da7e51a9254 /src/egl/wayland/wayland-egl-priv.h
parente586c4b7634f856a350f029709adc8a32271562c (diff)
egl: Implement libwayland-egl
This library is required and defined by wayland for EGL implementations supporting wayland.
Diffstat (limited to 'src/egl/wayland/wayland-egl-priv.h')
-rw-r--r--src/egl/wayland/wayland-egl-priv.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/egl/wayland/wayland-egl-priv.h b/src/egl/wayland/wayland-egl-priv.h
new file mode 100644
index 0000000000..38b21c25be
--- /dev/null
+++ b/src/egl/wayland/wayland-egl-priv.h
@@ -0,0 +1,60 @@
+#ifndef _WAYLAND_EGL_PRIV_H
+#define _WAYLAND_EGL_PRIV_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GCC visibility */
+#if defined(__GNUC__) && __GNUC__ >= 4
+#define WL_EGL_EXPORT __attribute__ ((visibility("default")))
+#else
+#define WL_EGL_EXPORT
+#endif
+
+#include <stdbool.h>
+#include <wayland-client.h>
+
+struct wl_egl_display {
+ struct wl_display *display;
+
+ struct wl_drm *drm;
+ int fd;
+ char *device_name;
+ bool authenticated;
+
+ void (*glFlush)(void);
+};
+
+struct wl_egl_window {
+ struct wl_surface *surface;
+ struct wl_visual *visual;
+
+ int width;
+ int height;
+ int dx;
+ int dy;
+
+ int attached_width;
+ int attached_height;
+};
+
+struct wl_egl_pixmap {
+ struct wl_egl_display *display;
+ struct wl_visual *visual;
+
+ int name;
+ int width;
+ int height;
+ int stride;
+
+ void (*destroy) (struct wl_egl_pixmap *egl_pixmap);
+
+ void *driver_private;
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif