[Elementary.h] Add docs for video
authorMike McCormack <mj.mccormack@samsung.com>
Mon, 7 Nov 2011 01:45:45 +0000 (10:45 +0900)
committerMike McCormack <mj.mccormack@samsung.com>
Mon, 7 Nov 2011 01:45:45 +0000 (10:45 +0900)
src/lib/Elementary.h.in

index 353db17..318a5c0 100644 (file)
@@ -27824,28 +27824,236 @@ 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);
 
+   /**
+    * @defgroup Video Video
+    *
+    * @addtogroup Video
+    * @{
+    *
+    * Elementary comes with two object that help design application that need
+    * to display video. The main one, Elm_Video, display a video by using Emotion.
+    * It does embedded the video inside an Edje object, so you can do some
+    * animation depending on the video state change. It does also implement a
+    * ressource management policy to remove this burden from the application writer.
+    *
+    * The second one, Elm_Player is a video player that need to be linked with and Elm_Video.
+    * It take care of updating its content according to Emotion event and provide a
+    * way to theme itself. It also does automatically raise the priority of the
+    * linked Elm_Video so it will use the video decoder if available. It also does
+    * activate the remember function on the linked Elm_Video object.
+    *
+    * Signals that you can add callback for are :
+    *
+    * "forward,clicked" - the user clicked the forward button.
+    * "info,clicked" - the user clicked the info button.
+    * "next,clicked" - the user clicked the next button.
+    * "pause,clicked" - the user clicked the pause button.
+    * "play,clicked" - the user clicked the play button.
+    * "prev,clicked" - the user clicked the prev button.
+    * "rewind,clicked" - the user clicked the rewind button.
+    * "stop,clicked" - the user clicked the stop button.
+    * 
+    * To set the video of the player, you can use elm_object_content_set() API.
+    * 
+    */
+
+   /**
+    * @brief Add a new Elm_Player object to the given parent Elementary (container) object.
+    *
+    * @param parent The parent object
+    * @return a new player widget handle or @c NULL, on errors.
+    *
+    * This function inserts a new player widget on the canvas.
+    *
+    * @see elm_object_content_set()
+    *
+    * @ingroup Video
+    */
+   EAPI Evas_Object *elm_player_add(Evas_Object *parent);
+
+   /**
+    * @brief Link a Elm_Payer with an Elm_Video object.
+    *
+    * @param player the Elm_Player object.
+    * @param video The Elm_Video object.
+    *
+    * This mean that action on the player widget will affect the
+    * video object and the state of the video will be reflected in
+    * the player itself.
+    *
+    * @see elm_player_add()
+    * @see elm_video_add()
+    *
+    * @ingroup Video
+    */
+   EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+
+   /**
+    * @brief Add a new Elm_Video object to the given parent Elementary (container) object.
+    *
+    * @param parent The parent object
+    * @return a new video widget handle or @c NULL, on errors.
+    *
+    * This function inserts a new video widget on the canvas.
+    *
+    * @seeelm_video_file_set()
+    * @see elm_video_uri_set()
+    *
+    * @ingroup Video
+    */
    EAPI Evas_Object *elm_video_add(Evas_Object *parent);
+
+   /**
+    * @brief Define the file that will be the video source.
+    *
+    * @param video The video object to define the file for.
+    * @param filename The file to target.
+    *
+    * This function will explicitly define a filename as a source
+    * for the video of the Elm_Video object.
+    *
+    * @see elm_video_uri_set()
+    * @see elm_video_add()
+    * @see elm_player_add()
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_file_set(Evas_Object *video, const char *filename);
+
+   /**
+    * @brief Define the uri that will be the video source.
+    *
+    * @param video The video object to define the file for.
+    * @param uri The uri to target.
+    *
+    * This function will define an uri as a source for the video of the
+    * Elm_Video object. URI could be remote source of video, like http:// or local source
+    * like for example WebCam who are most of the time v4l2:// (but that depend and
+    * you should use Emotion API to request and list the available Webcam on your system).
+    *
+    * @see elm_video_file_set()
+    * @see elm_video_add()
+    * @see elm_player_add()
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_uri_set(Evas_Object *video, const char *uri);
+
+   /**
+    * @brief Get the underlying Emotion object.
+    *
+    * @param video The video object to proceed the request on.
+    * @return the underlying Emotion object.
+    *
+    * @ingroup Video
+    */
    EAPI Evas_Object *elm_video_emotion_get(Evas_Object *video);
+
+   /**
+    * @brief Start to play the video
+    *
+    * @param video The video object to proceed the request on.
+    *
+    * Start to play the video and cancel all suspend state.
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_play(Evas_Object *video);
+
+   /**
+    * @brief Pause the video
+    *
+    * @param video The video object to proceed the request on.
+    *
+    * Pause the video and start a timer to trigger suspend mode.
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_pause(Evas_Object *video);
+
+   /**
+    * @brief Stop the video
+    *
+    * @param video The video object to proceed the request on.
+    *
+    * Stop the video and put the emotion in deep sleep mode.
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_stop(Evas_Object *video);
+
+   /**
+    * @brief Is the video actually playing.
+    *
+    * @param video The video object to proceed the request on.
+    * @return EINA_TRUE if the video is actually playing.
+    *
+    * You should consider watching event on the object instead of polling
+    * the object state.
+    *
+    * @ingroup Video
+    */
    EAPI Eina_Bool elm_video_is_playing(Evas_Object *video);
+
+   /**
+    * @brief Is it possible to seek inside the video.
+    *
+    * @param video The video object to proceed the request on.
+    * @return EINA_TRUE if is possible to seek inside the video.
+    *
+    * @ingroup Video
+    */
    EAPI Eina_Bool elm_video_is_seekable(Evas_Object *video);
+
+   /**
+    * @brief Is the audio muted.
+    *
+    * @param video The video object to proceed the request on.
+    * @return EINA_TRUE if the audio is muted.
+    *
+    * @ingroup Video
+    */
    EAPI Eina_Bool elm_video_audio_mute_get(Evas_Object *video);
+
+   /**
+    * @brief Change the mute state of the Elm_Video object.
+    *
+    * @param video The video object to proceed the request on.
+    * @param mute The new mute state.
+    *
+    * @ingroup Video
+    */
    EAPI void elm_video_audio_mute_set(Evas_Object *video, Eina_Bool mute);
+
+   /**
+    * @brief Get the audio level of the current video.
+    *
+    * @param video The video object to proceed the request on.
+    * @return the current audio level.
+    *
+    * @ingroup Video
+    */
    EAPI double elm_video_audio_level_get(Evas_Object *video);
+
+   /**
+    * @brief Set the audio level of anElm_Video object.
+    *
+    * @param video The video object to proceed the request on.
+    * @param volume The new audio volume.
+    *
+    * @ingroup 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);
-
-   EAPI Evas_Object *elm_player_add(Evas_Object *parent);
-   EAPI void elm_player_video_set(Evas_Object *player, Evas_Object *video);
+   /**
+    * @}
+    */
 
    // FIXME: incomplete - carousel. don't use this until this comment is removed
    typedef struct _Elm_Carousel_Item Elm_Carousel_Item;