1 #ifndef _EVAS_ENGINE_WAYLAND_EGL_H
2 #define _EVAS_ENGINE_WAYLAND_EGL_H
4 #include <wayland-client.h>
6 typedef struct _Evas_Engine_Info_Wayland_Egl Evas_Engine_Info_Wayland_Egl;
8 struct _Evas_Engine_Info_Wayland_Egl
10 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
11 /* at you and make nasty noises */
12 Evas_Engine_Info magic;
14 /* engine specific data & parameters it needs to set up */
16 struct wl_display *display;
17 struct wl_surface *surface;
21 unsigned int destination_alpha : 1;
23 /* engine specific function calls to query stuff about the destination */
24 /* engine (what visual & colormap & depth to use, performance info etc. */
26 int (*best_depth_get) (Evas_Engine_Info_Wayland_Egl *einfo);
30 void (*pre_swap) (void *data, Evas *e);
31 void (*post_swap) (void *data, Evas *e);
33 void *data; // data for callback calls
36 /* non-blocking or blocking mode */
37 Evas_Engine_Render_Mode render_mode;
39 unsigned char vsync : 1; // does nothing right now
40 unsigned char indirect : 1; // use indirect rendering