From ae9246beae46c1d07a37602217c61749532da124 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 29 May 2013 14:03:21 +0100 Subject: [PATCH] Add evas_engine header file Signed-off-by: Chris Michael --- .../evas/engines/wayland_egl/evas_engine.h | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/modules/evas/engines/wayland_egl/evas_engine.h diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.h b/src/modules/evas/engines/wayland_egl/evas_engine.h new file mode 100644 index 0000000000..1b133cabfa --- /dev/null +++ b/src/modules/evas/engines/wayland_egl/evas_engine.h @@ -0,0 +1,82 @@ +#ifndef EVAS_ENGINE_H +# define EVAS_ENGINE_H + +# include "config.h" +# include "evas_common.h" +# include "evas_private.h" +# include "evas_gl_common.h" +# include "Evas.h" +# include "Evas_Engine_Wayland_Egl.h" + +# define GL_GLEXT_PROTOTYPES + +/* NB: This already includes wayland-client.h */ +# include + +# ifdef GL_GLES +# include +# include +# include +# endif + +extern int _evas_engine_wl_egl_log_dom; + +# ifdef ERR +# undef ERR +# endif +# define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_wl_egl_log_dom, __VA_ARGS__) + +# ifdef DBG +# undef DBG +# endif +# define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_wl_egl_log_dom, __VA_ARGS__) + +# ifdef INF +# undef INF +# endif +# define INF(...) EINA_LOG_DOM_INFO(_evas_engine_wl_egl_log_dom, __VA_ARGS__) + +# ifdef WRN +# undef WRN +# endif +# define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_wl_egl_log_dom, __VA_ARGS__) + +# ifdef CRIT +# undef CRIT +# endif +# define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_wl_egl_log_dom, __VA_ARGS__) + +typedef struct _Evas_GL_Wl_Window Evas_GL_Wl_Window; + +struct _Evas_GL_Wl_Window +{ + struct wl_display *disp; + struct wl_egl_window *win; + struct wl_surface *surface; + int w, h; + int depth, screen, rot, alpha; + + Evas_Engine_GL_Context *gl_context; + + struct + { + int drew : 1; + } draw; + +#ifdef GL_GLES + EGLContext egl_context[1]; + EGLSurface egl_surface[1]; + EGLConfig egl_config; + EGLDisplay egl_disp; +#endif + + int surf : 1; +}; + +Evas_GL_Wl_Window *eng_window_new(struct wl_display *disp, struct wl_surface *surface, int screen, int depth, int w, int h, int indirect, int alpha, int rot); +void eng_window_free(Evas_GL_Wl_Window *gw); +void eng_window_use(Evas_GL_Wl_Window *gw); +void eng_window_unsurf(Evas_GL_Wl_Window *gw); +void eng_window_resurf(Evas_GL_Wl_Window *gw); + +#endif