elementary: add higger level elm_video object.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 30 Jun 2011 17:18:13 +0000 (17:18 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 30 Jun 2011 17:18:13 +0000 (17:18 +0000)
git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@60877 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
data/themes/default.edc
src/lib/Elementary.h.in
src/lib/Makefile.am

index 6ea6a99..8355255 100644 (file)
@@ -229,6 +229,17 @@ PKG_CHECK_MODULES([EIO],
 
 AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"])
 
+PKG_CHECK_MODULES([EMOTION],
+       [emotion],
+       [
+        have_emotion="yes"
+        AC_DEFINE(HAVE_EMOTION, 1, [Use Emotion for asynchronous file access])
+        requirement_elm="emotion ${requirement_elm}"
+       ],
+       [have_emotion="no"])
+
+AM_CONDITIONAL([HAVE_EMOTION], [test "x${have_emotion}" = "xyes"])
+
 requirement_elm="edje >= 1.0.0 ecore-file >= 1.0.0 ecore-evas >= 1.0.0 ecore >= 1.0.0 evas >= 1.0.0 eet >= 1.4.0 eina >= 1.0.0 ${requirement_elm}"
 
 have_elementary_x="no"
@@ -605,7 +616,8 @@ echo "    EWeather...............: ${have_elementary_eweather}"
 echo "    EMap...................: ${have_elementary_emap}"
 echo "    Ethumb.................: ${have_elementary_ethumb}"
 echo "    Quick Launch...........: ${have_fork}"
-echo "    eio....................: ${have_eio}"
+echo "    EIO....................: ${have_eio}"
+echo "    Emotion................: ${have_emotion}"
 echo
 echo "  eet......................: ${eet_eet}"
 echo "  edje_cc..................: ${edje_cc}"
index e2f5471..ff45ea2 100644 (file)
@@ -36504,4 +36504,67 @@ collections {
          }
       }
    }
+
+   group {
+      name: "elm/video/base/default";
+
+      parts {
+         part {
+            name: "clipper";
+            type: RECT;
+
+            description {
+               color: 255 255 255 255;
+            }
+            description {
+               state: darker 0.0;
+               color: 128 128 128 255;
+            }
+         }
+         part {
+            name: "elm.swallow.video";
+            type: SWALLOW;
+
+            clip_to: "clipper";
+            mouse_events: 0;
+
+            description {
+               aspect_preference: BOTH;
+               aspect: 1 1;
+            }
+         }
+      }
+
+      programs {
+         program {
+            signal: "elm,video,load";
+            source: "elm";
+
+            action: STATE_SET darker 0.0;
+            target: clipper;
+         }
+         program {
+            signal: "elm,video,play";
+            source: "elm";
+
+            action: STATE_SET default 0.0;
+            target: clipper;
+         }
+         program {
+            signal: "elm,video,end";
+            source: "elm";
+
+            action: STATE_SET darker 0.0;
+            target: clipper;
+            transition: LINEAR 0.5;
+         }
+         program {
+            signal: "elm,video,pause";
+            source: "elm";
+
+            action: STATE_SET darker 0.0;
+            target: clipper;
+         }
+      }
+   }
 }
index d108b79..a82e433 100644 (file)
@@ -6398,7 +6398,26 @@ extern "C" {
 
    EAPI Evas_Object *elm_genscroller_add(Evas_Object *parent);
    EAPI void         elm_genscroller_world_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
-  
+
+   EAPI Evas_Object *elm_video_add(Evas_Object *parent);
+   EAPI void elm_video_file_set(Evas_Object *video, const char *filename);
+   EAPI void elm_video_uri_set(Evas_Object *video, const char *uri);
+   EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video);
+   EAPI void elm_video_play(Evas_Object *video);
+   EAPI void elm_video_pause(Evas_Object *video);
+   EAPI void elm_video_stop(Evas_Object *video);
+   EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+   EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
+   EAPI void elm_video_audio_mute_set(Evas_Object *video, Eina_Bool mute);
+   EAPI double elm_video_audio_level_get(Evas_Object *video);
+   EAPI void elm_video_audio_level_set(Evas_Object *video, double volume);
+   EAPI double elm_video_play_position_get(Evas_Object *video);
+   EAPI void elm_video_play_position_set(Evas_Object *video, double position);
+   EAPI double elm_video_play_length_get(Evas_Object *video);
+   EAPI void elm_video_remember_position_set(Evas_Object *video, Eina_Bool remember);
+   EAPI Eina_Bool elm_video_remember_position_get(Evas_Object *video);
+   EAPI const char *elm_video_title_get(Evas_Object *video);
+
 #ifdef __cplusplus
 }
 #endif
index 8781fc6..0f86999 100644 (file)
@@ -24,6 +24,7 @@ AM_CPPFLAGS = \
 @ELEMENTARY_EMAP_CFLAGS@ \
 @EVIL_CFLAGS@ \
 @EIO_CFLAGS@ \
+@EMOTION_CFLAGS@ \
 @EFL_PTHREAD_CFLAGS@
 
 if ELEMENTARY_WINDOWS_BUILD
@@ -107,6 +108,7 @@ elm_toggle.c \
 elm_toolbar.c \
 elm_transit.c \
 elm_util.c \
+elm_video.c \
 elm_widget.c \
 elm_win.c \
 els_box.c \
@@ -136,6 +138,7 @@ libelementary_la_LIBADD = \
 @ELEMENTARY_EMAP_LIBS@ \
 @EVIL_LIBS@ \
 @EIO_LIBS@ \
+@EMOTION_LIBS@ \
 @EFL_PTHREAD_LIBS@
 libelementary_la_LDFLAGS = \
 -no-undefined @lt_enable_auto_import@ \