diff --git a/wayland/Makefile.am b/wayland/Makefile.am index 7b3cec42..cf91c8d5 100644 --- a/wayland/Makefile.am +++ b/wayland/Makefile.am @@ -6,7 +6,8 @@ include_HEADERS = \ wayland-server-protocol.h \ wayland-server.h \ wayland-client-protocol.h \ - wayland-client.h + wayland-client.h \ + wayland-egl.h libwayland_util_la_SOURCES = \ connection.c \ diff --git a/wayland/wayland-egl.h b/wayland/wayland-egl.h new file mode 100644 index 00000000..0cb46277 --- /dev/null +++ b/wayland/wayland-egl.h @@ -0,0 +1,79 @@ +/* + * Copyright © 2011 Kristian Høgsberg + * Copyright © 2011 Benjamin Franzke + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _WAYLAND_EGL_H +#define _WAYLAND_EGL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +struct wl_egl_display; +struct wl_egl_window; +struct wl_egl_pixmap; + +struct wl_egl_display * +wl_egl_display_create(struct wl_display *egl_display); + +void +wl_egl_display_destroy(struct wl_egl_display *egl_display); + +struct wl_egl_window * +wl_egl_window_create(struct wl_surface *surface, + int width, int height, + struct wl_visual *visual); + +void +wl_egl_window_destroy(struct wl_egl_window *egl_window); + +void +wl_egl_window_resize(struct wl_egl_window *egl_window, + int width, int height, + int dx, int dy); + +void +wl_egl_window_get_attached_size(struct wl_egl_window *egl_window, + int *width, int *height); + +struct wl_egl_pixmap * +wl_egl_pixmap_create(struct wl_egl_display *egl_display, + int width, int height, + struct wl_visual *visual, uint32_t flags); +void +wl_egl_pixmap_destroy(struct wl_egl_pixmap *egl_pixmap); + +struct wl_buffer * +wl_egl_pixmap_create_buffer(struct wl_egl_display *egl_display, + struct wl_egl_pixmap *egl_pixmap); + +void +wl_egl_pixmap_flush(struct wl_egl_display *egl_display, + struct wl_egl_pixmap *egl_pixmap); + +#ifdef __cplusplus +} +#endif + +#endif