From 6eb20dfe3f505495d12eb3b3a80ccbf9159d4023 Mon Sep 17 00:00:00 2001 From: tasn Date: Mon, 25 Jul 2011 12:02:52 +0000 Subject: [PATCH] Elm engines: Added "buffer" engine. This engine just creates a buffer and renders everything to that buffer. It's really useful for creating emulations of input/output and taking window captures from them. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@61688 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_config.c | 3 +++ src/lib/elm_priv.h | 1 + src/lib/elm_win.c | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c index e1f105b..f8c669d 100644 --- a/src/lib/elm_config.c +++ b/src/lib/elm_config.c @@ -30,6 +30,7 @@ const char *_elm_engines[] = { "sdl", "software_16_sdl", "opengl_sdl", + "buffer", NULL }; @@ -1460,6 +1461,8 @@ _env_get(void) (!strcasecmp(s, "software-16-wince-gdi")) || (!strcasecmp(s, "software_16_wince_gdi"))) eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_16_WINCE); + else if (!strcasecmp(s, "buffer")) + eina_stringshare_replace(&_elm_config->engine, ELM_BUFFER); else if ((!strncmp(s, "shot:", 5))) eina_stringshare_replace(&_elm_config->engine, s); } diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h index d80de60..eb2210f 100644 --- a/src/lib/elm_priv.h +++ b/src/lib/elm_priv.h @@ -78,6 +78,7 @@ extern const char *_elm_engines[]; #define ELM_SOFTWARE_SDL (_elm_engines[9]) #define ELM_SOFTWARE_16_SDL (_elm_engines[10]) #define ELM_OPENGL_SDL (_elm_engines[11]) +#define ELM_BUFFER (_elm_engines[12]) #define ELM_FONT_TOKEN_STYLE ":style=" diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 6ea7d05..3a88b54 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -1527,6 +1527,10 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) win->ee = ecore_evas_gl_sdl_new(NULL, 1, 1, 0, 0); FALLBACK_TRY("OpenGL SDL"); } + else if (ENGINE_COMPARE(ELM_BUFFER)) + { + win->ee = ecore_evas_buffer_new(1, 1); + } else if (!strncmp(_elm_config->engine, "shot:", 5)) { win->ee = ecore_evas_buffer_new(1, 1); -- 2.7.4