### Library
+BUILT_SOURCES += \
+ lib/emotion/emotion_object.eo.c \
+ lib/emotion/emotion_object.eo.h \
+ lib/emotion/emotion_object.eo.legacy.h
+
+emotioneolianfilesdir = $(datadir)/eolian/include/emotion-@VMAJ@
+emotioneolianfiles_DATA = \
+ lib/emotion/emotion_object.eo
+
+EXTRA_DIST += \
+ ${emotioneolianfiles_DATA}
+
lib_LTLIBRARIES += \
lib/emotion/libemotion.la
installed_emotionmainheadersdir = $(includedir)/emotion-@VMAJ@
dist_installed_emotionmainheaders_DATA = lib/emotion/Emotion.h
+nodist_installed_emotionmainheaders_DATA = \
+ lib/emotion/emotion_object.eo.h
+
# libemotion.la
lib_emotion_libemotion_la_SOURCES = \
lib/emotion/emotion_modules.h \
--- /dev/null
+class Emotion.Object (Efl.File, Efl.Player, Efl.Image) {
+ eo_prefix: emotion_obj;
+ properties {
+ option {
+ set {
+ /**
+ * @brief Set the specified option for the current module.
+ *
+ * This function allows one to mute the video or audio of the emotion object.
+ *
+ * @note Please don't use this function, consider using
+ * emotion_object_audio_mute_set() and emotion_object_video_mute_set() instead.
+ *
+ * @see emotion_object_audio_mute_set()
+ * @see emotion_object_video_mute_set()
+ *
+ * @ingroup Emotion_Init
+ */
+ legacy emotion_object_module_option_set;
+ }
+ values {
+ const(char) *opt; /*@ The option that is being set. Currently supported optiosn: "video" and "audio". */
+ const(char) *val; /*@ The value of the option. Currently only supports "off" (?!?!?!) */
+ }
+ }
+ engine {
+ set {
+ /**
+ * @brief Initializes an emotion object with the specified module.
+ *
+ * This function is required after creating the emotion object, in order to
+ * specify which module will be used with this object. Different objects can
+ * use different modules to play a media file. The current supported modules are
+ * @b gstreamer and @b xine.
+ *
+ * To use any of them, you need to make sure that support for them was compiled
+ * correctly.
+ *
+ * @note It's possible to disable the build of a module with
+ * --disable-module_name.
+ *
+ * @see emotion_object_add()
+ * @see emotion_object_file_set()
+ *
+ * @ingroup Emotion_Init
+ */
+ legacy emotion_object_init;
+ return bool; /*@ @c EINA_TRUE if the specified module was successfully initialized for this object, @c EINA_FALSE otherwise. */
+ }
+ values {
+ const(char) *module_filename; /*@ The name of the module to be used (gstreamer or xine). */
+ }
+ }
+ }
+ implements {
+ Efl.File.file.set;
+ Efl.File.file.get;
+ Efl.Player.play.set;
+ Efl.Player.play.get;
+ Efl.Player.position.set;
+ Efl.Player.position.get;
+ Efl.Player.progress.get;
+ Efl.Player.audio_volume.set;
+ Efl.Player.audio_volume.get;
+ Efl.Player.audio_mute.set;
+ Efl.Player.audio_mute.get;
+ Efl.Image.load_size.get;
+ Efl.Image.ratio.get;
+ Efl.Image.smooth_scale.set;
+ Efl.Image.smooth_scale.get;
+ }
+}
+
+/* FIXME: Need to be added:
+EAPI double emotion_object_buffer_size_get (const Evas_Object *obj);
+EAPI Eina_Bool emotion_object_seekable_get (const Evas_Object *obj);
+EAPI double emotion_object_play_length_get (const Evas_Object *obj);
+EAPI const char *emotion_object_progress_info_get (const Evas_Object *obj);
+EAPI Eina_Bool emotion_object_video_handled_get (const Evas_Object *obj);
+EAPI Eina_Bool emotion_object_audio_handled_get (const Evas_Object *obj);
+
+Everything starting from (needs to be added):
+EAPI int emotion_object_audio_channel_count (const Evas_Object *obj);
+
+Should this be part of player or emotion object?
+EAPI void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev);
+
+Deliberations:
+Should this really implement the image interface?
+*/
+