From afe3b8cd136a6b9ce2f81d769e342cb503fc8aad Mon Sep 17 00:00:00 2001 From: kakaroto Date: Sat, 5 Nov 2011 17:50:09 +0000 Subject: [PATCH] Elementary: Add support for the PSL1GHT engine git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@64784 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- configure.ac | 24 ++++++++++++++++++++++++ src/bin/config.c | 1 + src/lib/Elementary.h.in | 2 ++ src/lib/elm_config.c | 3 +++ src/lib/elm_priv.h | 1 + src/lib/elm_win.c | 5 +++++ 6 files changed, 36 insertions(+) diff --git a/configure.ac b/configure.ac index 9c88e97..e5ad88c 100644 --- a/configure.ac +++ b/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/src/bin/config.c b/src/bin/config.c index f2ba9ea..4fcdd13 100644 --- a/src/bin/config.c +++ b/src/bin/config.c @@ -2711,6 +2711,7 @@ _elm_engine_supported(const char *engine) "opengl_sdl", "ews", "opengl_cocoa", + "psl1ght", NULL }; diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 1d4a386..a9e78c1 100644 --- a/src/lib/Elementary.h.in +++ b/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/src/lib/elm_config.c b/src/lib/elm_config.c index 9b90e27..3df2272 100644 --- a/src/lib/elm_config.c +++ b/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/src/lib/elm_priv.h b/src/lib/elm_priv.h index e610fa3..efcc317 100644 --- a/src/lib/elm_priv.h +++ b/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/src/lib/elm_win.c b/src/lib/elm_win.c index b2c3bd4..b89c508 100644 --- a/src/lib/elm_win.c +++ b/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); -- 2.7.4