From 6d0046291002320747c4893d4722a18049287756 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Sat, 5 Nov 2011 17:50:09 +0000 Subject: [PATCH] Elementary: Add support for the PSL1GHT engine SVN revision: 64784 --- legacy/elementary/configure.ac | 24 +++++++++++++++++++++++ legacy/elementary/src/bin/config.c | 1 + legacy/elementary/src/lib/Elementary.h.in | 2 ++ legacy/elementary/src/lib/elm_config.c | 3 +++ legacy/elementary/src/lib/elm_priv.h | 1 + legacy/elementary/src/lib/elm_win.c | 5 +++++ 6 files changed, 36 insertions(+) diff --git a/legacy/elementary/configure.ac b/legacy/elementary/configure.ac index 9c88e97902..e5ad88c612 100644 --- a/legacy/elementary/configure.ac +++ b/legacy/elementary/configure.ac @@ -304,6 +304,29 @@ if test "x$want_elementary_fb" = "xyes" -a "x$have_elementary_fb" = "xno"; then AC_MSG_ERROR([ecore-fb support requested, but not found by pkg-config.]) fi +have_elementary_psl1ght="no" +want_elementary_psl1ght="auto" +AC_ARG_ENABLE([ecore-psl1ght], + [AC_HELP_STRING([--disable-ecore-psl1ght], [disable ecore-psl1ght support. @<:@default=detect@:>@])], + [want_elementary_psl1ght=$enableval], []) + +if test "x$want_elementary_psl1ght" != "xno"; then + PKG_CHECK_MODULES([ELEMENTARY_PSL1GHT], + [ecore-psl1ght >= 1.0.0], + [ + AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for Elementary]) + have_elementary_psl1ght="yes" + requirement_elm="ecore-psl1ght >= 1.0.0 ${requirement_elm}" + ], + [have_elementary_psl1ght="no"] + ) +else + have_elementary_psl1ght="no" +fi +if test "x$want_elementary_psl1ght" = "xyes" -a "x$have_elementary_psl1ght" = "xno"; then + AC_MSG_ERROR([ecore-psl1ght support requested, but not found by pkg-config.]) +fi + have_elementary_sdl="no" want_elementary_sdl="auto" AC_ARG_ENABLE([ecore-sdl], @@ -679,6 +702,7 @@ echo echo " Engines:" echo " X11....................: ${have_elementary_x}" echo " Framebuffer............: ${have_elementary_fb}" +echo " PSL1GHT................: ${have_elementary_psl1ght}" echo " SDL....................: ${have_elementary_sdl}" echo " Cocoa..................: ${have_elementary_cocoa}" echo " Windows XP.............: ${have_elementary_win32}" diff --git a/legacy/elementary/src/bin/config.c b/legacy/elementary/src/bin/config.c index f2ba9ea663..4fcdd139b3 100644 --- a/legacy/elementary/src/bin/config.c +++ b/legacy/elementary/src/bin/config.c @@ -2711,6 +2711,7 @@ _elm_engine_supported(const char *engine) "opengl_sdl", "ews", "opengl_cocoa", + "psl1ght", NULL }; diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 1d4a386129..a9e78c12e5 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -1974,6 +1974,7 @@ extern "C" { * @li "buffer" * @li "ews" * @li "opengl_cocoa" + * @li "psl1ght" * * @{ */ @@ -3645,6 +3646,7 @@ extern "C" { * buffer with 16bit software renderer) * @li "ews" (rendering to EWS - Ecore + Evas Single Process Windowing System) * @li "gl-cocoa", "gl_cocoa", "opengl-cocoa", "opengl_cocoa" (OpenGL rendering in Cocoa) + * @li "psl1ght" (PS3 rendering using PSL1GHT) * * All engines use a simple string to select the engine to render, EXCEPT * the "shot" engine. This actually encodes the output of the virtual diff --git a/legacy/elementary/src/lib/elm_config.c b/legacy/elementary/src/lib/elm_config.c index 9b90e278e2..3df2272208 100644 --- a/legacy/elementary/src/lib/elm_config.c +++ b/legacy/elementary/src/lib/elm_config.c @@ -34,6 +34,7 @@ const char *_elm_engines[] = { "buffer", "ews", "opengl_cocoa", + "psl1ght", NULL }; @@ -1160,6 +1161,8 @@ _env_get(void) else if ((!strcasecmp(s, "directfb")) || (!strcasecmp(s, "dfb"))) eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_DIRECTFB); + else if ((!strcasecmp(s, "psl1ght"))) + eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_PSL1GHT); else if ((!strcasecmp(s, "sdl")) || (!strcasecmp(s, "software-sdl")) || (!strcasecmp(s, "software_sdl"))) diff --git a/legacy/elementary/src/lib/elm_priv.h b/legacy/elementary/src/lib/elm_priv.h index e610fa3965..efcc3179da 100644 --- a/legacy/elementary/src/lib/elm_priv.h +++ b/legacy/elementary/src/lib/elm_priv.h @@ -88,6 +88,7 @@ extern const char *_elm_engines[]; #define ELM_BUFFER (_elm_engines[12]) #define ELM_EWS (_elm_engines[13]) #define ELM_OPENGL_COCOA (_elm_engines[14]) +#define ELM_SOFTWARE_PSL1GHT (_elm_engines[15]) #define ELM_FONT_TOKEN_STYLE ":style=" diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c index b2c3bd4fcd..b89c50844a 100644 --- a/legacy/elementary/src/lib/elm_win.c +++ b/legacy/elementary/src/lib/elm_win.c @@ -1474,6 +1474,11 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) win->ee = ecore_evas_software_wince_gdi_new(NULL, 0, 0, 1, 1); FALLBACK_TRY("Sofware-16-WinCE"); } + else if (ENGINE_COMPARE(ELM_SOFTWARE_PSL1GHT)) + { + win->ee = ecore_evas_psl1ght_new(NULL, 1, 1); + FALLBACK_TRY("PSL1GHT"); + } else if (ENGINE_COMPARE(ELM_SOFTWARE_SDL)) { win->ee = ecore_evas_sdl_new(NULL, 0, 0, 0, 0, 0, 1);