diff options
author | Christopher Michael <cp.michael@samsung.com> | 2013-02-27 13:47:33 +0000 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2013-02-27 13:47:33 +0000 |
commit | 84c96d566acfcf634f6ce4bb7edd98188e9b17b3 (patch) | |
tree | 4d0e07314a57513fa8534ee2f7b672c791234a13 | |
parent | b2e0c9efd9a86b864102a4c18560ccc264fe52a8 (diff) | |
download | efl-84c96d566acfcf634f6ce4bb7edd98188e9b17b3.tar.gz |
Add initial engine header file.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
-rw-r--r-- | src/modules/evas/engines/wayland_egl/evas_engine.h | 71 |
1 files changed, 71 insertions, 0 deletions
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..6c5caf1176 --- /dev/null +++ b/src/modules/evas/engines/wayland_egl/evas_engine.h @@ -0,0 +1,71 @@ +#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" + +#include <EGL/egl.h> +#include <wayland-egl.h> + +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_surface *surf; + struct wl_egl_window *win; + Evas_Coord w, h; + Eina_Bool alpha : 1; + int rotation; + Evas_Engine_GL_Context *gl_context; + Eina_Bool drawn : 1; + Eina_Bool surf : 1; + struct + { + EGLContext context[1]; + EGLSurface surface[1]; + EGLConfig config; + EGLDisplay disp; + } egl; +}; + +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 |