From a6dcda0adc057d74e5bf96cf9af2011f66dcf2b5 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 29 May 2013 13:52:20 +0100 Subject: [PATCH] Add new Evas_Engine_Wayland_Egl header. Signed-off-by: Chris Michael --- .../wayland_egl/Evas_Engine_Wayland_Egl.h | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h diff --git a/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h b/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h new file mode 100644 index 0000000000..259ccf7060 --- /dev/null +++ b/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h @@ -0,0 +1,47 @@ +#ifndef _EVAS_ENGINE_WAYLAND_EGL_H +# define _EVAS_ENGINE_WAYLAND_EGL_H + +# define EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_EXISTS 1 + +typedef struct _Evas_Engine_Info_Wayland_Egl Evas_Engine_Info_Wayland_Egl; + +typedef enum _Evas_Engine_Info_Wayland_Egl_Swap_Mode +{ + EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_AUTO = 0, + EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_FULL = 1, + EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_COPY = 2, + EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_DOUBLE = 3, + EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_TRIPLE = 4 +} Evas_Engine_Info_Wayland_Egl_Swap_Mode; + +struct _Evas_Engine_Info_Wayland_Egl +{ + /* PRIVATE - don't mess with this baby or evas will poke its tongue out + * at you and make nasty noises */ + Evas_Engine_Info magic; + + /* engine specific data & parameters it needs to set up */ + struct + { + struct wl_display *display; + struct wl_surface *surface; + int depth, screen, rotation, edges; + unsigned int destination_alpha : 1; + } info; + + struct + { + void (*pre_swap) (void *data, Evas *evas); + void (*post_swap) (void *data, Evas *evas); + void *data; + } callback; + + /* non-blocking or blocking mode */ + Evas_Engine_Render_Mode render_mode; + + unsigned char vsync : 1; + unsigned char indirect : 1; + unsigned char swap_mode : 4; +}; + +#endif