summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Aguirre <aguirre.nicolas@gmail.com>2015-11-03 00:13:20 +0100
committerNicolas Aguirre <aguirre.nicolas@gmail.com>2015-11-12 10:15:03 +0100
commit406f9bf8edfd49b4377185a300217704d0843808 (patch)
tree334d2134fd3487cd8e78d2268a71692b6dd4c1fe
parent2b7d4f5767839d62fd0be49c07655536fc9093de (diff)
elm: Add eglfs backend support.
-rw-r--r--configure.ac1
-rw-r--r--src/lib/elm_config.c3
-rw-r--r--src/lib/elm_priv.h1
-rw-r--r--src/lib/elm_win.c15
-rw-r--r--src/lib/elm_win.h2
5 files changed, 18 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 9c1a32afe..5eb6739e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -543,6 +543,7 @@ echo
543echo " Engines:" 543echo " Engines:"
544echo " X11....................: ${have_elementary_x}" 544echo " X11....................: ${have_elementary_x}"
545echo " Framebuffer............: ${have_elementary_fb}" 545echo " Framebuffer............: ${have_elementary_fb}"
546echo " Eglfs..................: ${have_elementary_eglfs}"
546echo " DRM....................: ${have_elementary_drm}" 547echo " DRM....................: ${have_elementary_drm}"
547echo " PSL1GHT................: ${have_elementary_psl1ght}" 548echo " PSL1GHT................: ${have_elementary_psl1ght}"
548echo " SDL....................: ${have_elementary_sdl}" 549echo " SDL....................: ${have_elementary_sdl}"
diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index 29ef12de6..3e552517a 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -34,6 +34,7 @@ Eina_Hash *_elm_key_bindings = NULL;
34const char *_elm_engines[] = { 34const char *_elm_engines[] = {
35 "software_x11", 35 "software_x11",
36 "fb", 36 "fb",
37 "eglfs",
37 "opengl_x11", 38 "opengl_x11",
38 "software_gdi", 39 "software_gdi",
39 "sdl", 40 "sdl",
@@ -1864,6 +1865,8 @@ _env_get(void)
1864 eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_EGL); 1865 eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_EGL);
1865 else if ((!strcasecmp(s, "drm"))) 1866 else if ((!strcasecmp(s, "drm")))
1866 eina_stringshare_replace(&_elm_config->engine, ELM_DRM); 1867 eina_stringshare_replace(&_elm_config->engine, ELM_DRM);
1868 else if ((!strcasecmp(s, "eglfs")))
1869 eina_stringshare_replace(&_elm_config->engine, ELM_EGLFS);
1867 else if ((!strcasecmp(s, "ddraw"))) 1870 else if ((!strcasecmp(s, "ddraw")))
1868 eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_DDRAW); 1871 eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_DDRAW);
1869 else 1872 else
diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h
index be92f1513..4b258a61a 100644
--- a/src/lib/elm_priv.h
+++ b/src/lib/elm_priv.h
@@ -148,6 +148,7 @@ extern const char *_elm_engines[];
148#define ELM_WAYLAND_EGL (_elm_engines[11]) 148#define ELM_WAYLAND_EGL (_elm_engines[11])
149#define ELM_DRM (_elm_engines[12]) 149#define ELM_DRM (_elm_engines[12])
150#define ELM_SOFTWARE_DDRAW (_elm_engines[13]) 150#define ELM_SOFTWARE_DDRAW (_elm_engines[13])
151#define ELM_EGLFS (_elm_engines[14])
151 152
152#define ELM_FONT_TOKEN_STYLE ":style=" 153#define ELM_FONT_TOKEN_STYLE ":style="
153 154
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index f9d3e8428..3a573423a 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -3446,6 +3446,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3446#endif 3446#endif
3447#ifdef HAVE_ELEMENTARY_FB 3447#ifdef HAVE_ELEMENTARY_FB
3448 enginelist[p++] = ELM_SOFTWARE_FB; 3448 enginelist[p++] = ELM_SOFTWARE_FB;
3449 enginelist[p++] = ELM_EGLFS;
3449#endif 3450#endif
3450 } 3451 }
3451#endif 3452#endif
@@ -3506,6 +3507,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3506 enginelist[p++] = ELM_DRM; 3507 enginelist[p++] = ELM_DRM;
3507#endif 3508#endif
3508#ifdef HAVE_ELEMENTARY_FB 3509#ifdef HAVE_ELEMENTARY_FB
3510 enginelist[p++] = ELM_EGLFS;
3509 enginelist[p++] = ELM_SOFTWARE_FB; 3511 enginelist[p++] = ELM_SOFTWARE_FB;
3510#endif 3512#endif
3511#ifdef HAVE_ELEMENTARY_COCOA 3513#ifdef HAVE_ELEMENTARY_COCOA
@@ -3551,6 +3553,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3551 enginelist[p++] = ELM_DRM; 3553 enginelist[p++] = ELM_DRM;
3552#endif 3554#endif
3553#ifdef HAVE_ELEMENTARY_FB 3555#ifdef HAVE_ELEMENTARY_FB
3556 enginelist[p++] = ELM_EGLFS;
3554 enginelist[p++] = ELM_SOFTWARE_FB; 3557 enginelist[p++] = ELM_SOFTWARE_FB;
3555#endif 3558#endif
3556#ifdef HAVE_ELEMENTARY_COCOA 3559#ifdef HAVE_ELEMENTARY_COCOA
@@ -3634,6 +3637,8 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3634 tmp_sd.ee = ecore_evas_ews_new(0, 0, 1, 1); 3637 tmp_sd.ee = ecore_evas_ews_new(0, 0, 1, 1);
3635 else if (!strcmp(enginelist[i], ELM_SOFTWARE_FB)) 3638 else if (!strcmp(enginelist[i], ELM_SOFTWARE_FB))
3636 tmp_sd.ee = ecore_evas_fb_new(NULL, 0, 1, 1); 3639 tmp_sd.ee = ecore_evas_fb_new(NULL, 0, 1, 1);
3640 else if (!strcmp(enginelist[i], ELM_EGLFS))
3641 tmp_sd.ee = ecore_evas_eglfs_new(NULL, 0, 1, 1);
3637 else if (!strcmp(enginelist[i], ELM_BUFFER)) 3642 else if (!strcmp(enginelist[i], ELM_BUFFER))
3638 tmp_sd.ee = ecore_evas_buffer_new(1, 1); 3643 tmp_sd.ee = ecore_evas_buffer_new(1, 1);
3639 else if (!strcmp(enginelist[i], ELM_SOFTWARE_PSL1GHT)) 3644 else if (!strcmp(enginelist[i], ELM_SOFTWARE_PSL1GHT))
@@ -3810,7 +3815,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3810 _elm_win_list = eina_list_append(_elm_win_list, obj); 3815 _elm_win_list = eina_list_append(_elm_win_list, obj);
3811 _elm_win_count++; 3816 _elm_win_count++;
3812 3817
3813 if ((engine) && ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM)))) 3818 if ((engine) && ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM) || (!strcmp(engine, ELM_EGLFS))))
3814 { 3819 {
3815 TRAP(sd, fullscreen_set, 1); 3820 TRAP(sd, fullscreen_set, 1);
3816 } 3821 }
@@ -3842,7 +3847,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
3842 if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) || 3847 if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) ||
3843 ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) && 3848 ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) &&
3844 ((engine) && 3849 ((engine) &&
3845 ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM)))))) 3850 ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM) || (!strcmp(engine, ELM_EGLFS))))))
3846 { 3851 {
3847 Evas_Object *o; 3852 Evas_Object *o;
3848 Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0; 3853 Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
@@ -4267,7 +4272,8 @@ _elm_win_fullscreen_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Eina_Bool fullscr
4267 // YYY: handle if sd->img_obj 4272 // YYY: handle if sd->img_obj
4268 if (engine_name && 4273 if (engine_name &&
4269 ((!strcmp(engine_name, ELM_SOFTWARE_FB)) || 4274 ((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
4270 (!strcmp(engine_name, ELM_DRM)))) 4275 (!strcmp(engine_name, ELM_DRM)) ||
4276 (!strcmp(engine_name, ELM_EGLFS))))
4271 { 4277 {
4272 // these engines... can ONLY be fullscreen 4278 // these engines... can ONLY be fullscreen
4273 return; 4279 return;
@@ -4312,7 +4318,8 @@ _elm_win_fullscreen_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
4312 4318
4313 if (engine_name && 4319 if (engine_name &&
4314 ((!strcmp(engine_name, ELM_SOFTWARE_FB)) || 4320 ((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
4315 (!strcmp(engine_name, ELM_DRM)))) 4321 (!strcmp(engine_name, ELM_DRM)) ||
4322 (!strcmp(engine_name, ELM_EGLFS))))
4316 { 4323 {
4317 // these engines... can ONLY be fullscreen 4324 // these engines... can ONLY be fullscreen
4318 return EINA_TRUE; 4325 return EINA_TRUE;
diff --git a/src/lib/elm_win.h b/src/lib/elm_win.h
index 28f4c09b1..b186f31d4 100644
--- a/src/lib/elm_win.h
+++ b/src/lib/elm_win.h
@@ -31,6 +31,8 @@
31 * exits) 31 * exits)
32 * @li "fb", "software-fb", "software_fb" (Linux framebuffer direct software 32 * @li "fb", "software-fb", "software_fb" (Linux framebuffer direct software
33 * rendering) 33 * rendering)
34 * @li "fb", "software-fb", "software_fb" (Linux framebuffer accelerated
35 * rendering)
34 * @li "sdl", "software-sdl", "software_sdl" (SDL software rendering to SDL 36 * @li "sdl", "software-sdl", "software_sdl" (SDL software rendering to SDL
35 * buffer) 37 * buffer)
36 * @li "gl-sdl", "gl_sdl", "opengl-sdl", "opengl_sdl" (OpenGL or OpenGL-ES2 38 * @li "gl-sdl", "gl_sdl", "opengl-sdl", "opengl_sdl" (OpenGL or OpenGL-ES2