Add in SDL support (needed for WebOS). Admittedly this has not been actually checked...
authorxcomputerman <xcomputerman>
Wed, 13 Jan 2010 08:17:15 +0000 (08:17 +0000)
committerxcomputerman <xcomputerman@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 13 Jan 2010 08:17:15 +0000 (08:17 +0000)
but it will be shortly and it does no evil

SVN revision: 45080

configure.ac
src/lib/Makefile.am
src/lib/elm_main.c
src/lib/elm_priv.h
src/lib/elm_win.c

index 1d812e1..79d21fa 100644 (file)
@@ -166,6 +166,17 @@ PKG_CHECK_MODULES([ELEMENTARY_FB],
    [have_elementary_fb="no"]
 )
 
+have_elementary_sdl="no"
+PKG_CHECK_MODULES([ELEMENTARY_SDL],
+   [ecore-sdl],
+   [
+    AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
+    have_elementary_sdl="yes"
+    requirement_elm="ecore-sdl ${requirement_elm}"
+   ],
+   [have_elementary_sdl="no"]
+)
+
 have_elementary_win32="no"
 PKG_CHECK_MODULES([ELEMENTARY_WIN32],
    [ecore-win32],
@@ -298,6 +309,7 @@ echo
 echo "  Engines:"
 echo "    X11................: ${have_elementary_x}"
 echo "    Framebuffer........: ${have_elementary_fb}"
+echo "    SDL................: ${have_elementary_sdl}"
 echo "    Windows XP.........: ${have_elementary_win32}"
 echo "    Windows CE.........: ${have_elementary_wince}"
 echo
index de7c750..b621340 100644 (file)
@@ -12,6 +12,7 @@ AM_CPPFLAGS = \
 @ELEMENTARY_CFLAGS@ \
 @ELEMENTARY_X_CFLAGS@ \
 @ELEMENTARY_FB_CFLAGS@ \
+@ELEMENTARY_SDL_CFLAGS@ \
 @ELEMENTARY_WIN32_CFLAGS@ \
 @ELEMENTARY_WINCE_CFLAGS@ \
 @ELEMENTARY_EDBUS_CFLAGS@ \
@@ -88,5 +89,5 @@ els_icon.h
 
 
 libelementary_la_CFLAGS =
-libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@
+libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_SDL_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@
 libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
index 78fec3e..12c497a 100644 (file)
@@ -601,6 +601,14 @@ elm_quicklaunch_init(int argc, char **argv)
                 (!strcasecmp(s, "software-fb")) ||
                 (!strcasecmp(s, "software_fb")))
          _elm_config->engine = ELM_SOFTWARE_FB;
+       else if ((!strcasecmp(s, "sdl")) ||
+                (!strcasecmp(s, "software-sdl")) ||
+                (!strcasecmp(s, "software_sdl")))
+         _elm_config->engine = ELM_SOFTWARE_SDL;
+       else if ((!strcasecmp(s, "sdl-16")) ||
+                (!strcasecmp(s, "software-16-sdl")) ||
+                (!strcasecmp(s, "software_16_sdl")))
+         _elm_config->engine = ELM_SOFTWARE_16_SDL;
        else if ((!strcasecmp(s, "opengl")) ||
                 (!strcasecmp(s, "gl")) ||
                 (!strcasecmp(s, "opengl-x11")) ||
@@ -783,6 +791,8 @@ elm_quicklaunch_sub_shutdown(void)
        (_elm_config->engine == ELM_SOFTWARE_16_X11) ||
        (_elm_config->engine == ELM_XRENDER_X11) ||
        (_elm_config->engine == ELM_OPENGL_X11) ||
+       (_elm_config->engine == ELM_SOFTWARE_SDL) ||
+       (_elm_config->engine == ELM_SOFTWARE_16_SDL) ||
        (_elm_config->engine == ELM_SOFTWARE_WIN32) ||
        (_elm_config->engine == ELM_SOFTWARE_16_WINCE))
      {
index b0cfd95..c2e34e0 100644 (file)
@@ -31,7 +31,9 @@ typedef enum _Elm_Engine
      ELM_XRENDER_X11,
      ELM_OPENGL_X11,
      ELM_SOFTWARE_WIN32,
-     ELM_SOFTWARE_16_WINCE
+     ELM_SOFTWARE_16_WINCE,
+     ELM_SOFTWARE_SDL,
+     ELM_SOFTWARE_16_SDL
 } Elm_Engine;
 
 typedef struct _Elm_Config Elm_Config;
index 101b772..ea0b81c 100644 (file)
@@ -192,6 +192,8 @@ _elm_win_xwindow_get(Elm_Win *win)
        break;
       case ELM_SOFTWARE_FB:
       case ELM_SOFTWARE_16_WINCE:
+      case ELM_SOFTWARE_SDL:
+      case ELM_SOFTWARE_16_SDL:
        break;
       case ELM_SOFTWARE_16_X11:
        if (win->ee) win->xwin = ecore_evas_software_x11_16_window_get(win->ee);
@@ -369,6 +371,12 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
       case ELM_SOFTWARE_16_WINCE:
        win->ee = ecore_evas_software_wince_gdi_new(NULL, 0, 0, 1, 1);
        break;
+      case ELM_SOFTWARE_SDL:
+       win->ee = ecore_evas_sdl_new(NULL, 0, 0, 0, 0, 0, 1);
+       break;
+      case ELM_SOFTWARE_16_SDL:
+       win->ee = ecore_evas_sdl16_new(NULL, 0, 0, 0, 0, 0, 1);
+       break;
       default:
        break;
      }
@@ -439,6 +447,8 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
       case ELM_XRENDER_X11:
       case ELM_OPENGL_X11:
       case ELM_SOFTWARE_WIN32:
+      case ELM_SOFTWARE_SDL:
+      case ELM_SOFTWARE_16_SDL:
       default:
        break;
      }