1 #ifndef _EVAS_ENGINE_WAYLAND_EGL_H
2 #define _EVAS_ENGINE_WAYLAND_EGL_H
5 * Wayland supoprt is considered experimental as wayland itself is still
6 * unstable and liable to change core protocol. If you use this api, it is
7 * possible it will break in future, until this notice is removed.
10 #include <wayland-client.h>
12 typedef struct _Evas_Engine_Info_Wayland_Egl Evas_Engine_Info_Wayland_Egl;
14 struct _Evas_Engine_Info_Wayland_Egl
16 /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
17 /* at you and make nasty noises */
18 Evas_Engine_Info magic;
20 /* engine specific data & parameters it needs to set up */
22 struct wl_display *display;
23 struct wl_surface *surface;
27 unsigned int destination_alpha : 1;
29 /* engine specific function calls to query stuff about the destination */
30 /* engine (what visual & colormap & depth to use, performance info etc. */
32 int (*best_depth_get) (Evas_Engine_Info_Wayland_Egl *einfo);
36 void (*pre_swap) (void *data, Evas *e);
37 void (*post_swap) (void *data, Evas *e);
39 void *data; // data for callback calls
42 /* non-blocking or blocking mode */
43 Evas_Engine_Render_Mode render_mode;
45 unsigned char vsync : 1; // does nothing right now
46 unsigned char indirect : 1; // use indirect rendering