Elementary: Add support for the PSL1GHT engine
authorkakaroto <kakaroto@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 5 Nov 2011 17:50:09 +0000 (17:50 +0000)
committerkakaroto <kakaroto@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 5 Nov 2011 17:50:09 +0000 (17:50 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@64784 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
src/bin/config.c
src/lib/Elementary.h.in
src/lib/elm_config.c
src/lib/elm_priv.h
src/lib/elm_win.c

index 9c88e97..e5ad88c 100644 (file)
@@ -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}"
index f2ba9ea..4fcdd13 100644 (file)
@@ -2711,6 +2711,7 @@ _elm_engine_supported(const char *engine)
       "opengl_sdl",
       "ews",
       "opengl_cocoa",
+      "psl1ght",
       NULL
    };
 
index 1d4a386..a9e78c1 100644 (file)
@@ -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
index 9b90e27..3df2272 100644 (file)
@@ -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")))
index e610fa3..efcc317 100644 (file)
@@ -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="
 
index b2c3bd4..b89c508 100644 (file)
@@ -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);