efl/legacy/elementary/src/lib/elm_video_legacy.h

229 lines
6.2 KiB
C

/**
* @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_part_content_set()
*
* @ingroup Video
*/
EAPI Evas_Object *elm_player_add(Evas_Object *parent);
/**
* @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.
*
* @see elm_video_file_set()
*
* @ingroup Video
*/
EAPI Evas_Object *elm_video_add(Evas_Object *parent);
/**
* @brief Define the file or URI that will be the video source.
*
* @param video The video object to define the file or URI for the video
* of the Elm_Video object.
*
* @param filename The file or URI to target.
* Local files can be specified using file:// or by using full file paths.
* URI could be remote source of video, like http:// or local source like
* WebCam (v4l2://). (You can use Emotion API to request and list
* the available Webcam on your system).
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
*
* This function will explicitly define a file or URI as a source
* for the video of the Elm_Video object.
*
* @see elm_video_add()
* @see elm_player_add()
*
* @ingroup Video
*/
EAPI Eina_Bool elm_video_file_set(Evas_Object *video, const char *filename);
/**
* @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(const 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 @c 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_get(const Evas_Object *video);
/**
* @brief Is it possible to seek inside the video.
*
* @param video The video object to proceed the request on.
* @return @c EINA_TRUE if is possible to seek inside the video.
*
* @ingroup Video
*/
EAPI Eina_Bool elm_video_is_seekable_get(const Evas_Object *video);
/**
* @brief Is the audio muted.
*
* @param video The video object to proceed the request on.
* @return @c EINA_TRUE if the audio is muted.
*
* @ingroup Video
*/
EAPI Eina_Bool elm_video_audio_mute_get(const 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(const Evas_Object *video);
/**
* @brief Set the audio level of an Elm_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);
/**
* @brief Get the current position (in seconds) being played in the
* Elm_Video object.
*
* @param video The video object.
* @return The time (in seconds) since the beginning of the media file.
*
* @ingroup Video
*/
EAPI double elm_video_play_position_get(const Evas_Object *video);
/**
* @brief Set the current position (in seconds) to be played in the
* Elm_Video object.
*
* @param video The video object.
* @param position The time (in seconds) since the beginning of the media file.
*
* @ingroup Video
*/
EAPI void elm_video_play_position_set(Evas_Object *video, double position);
/**
* @brief Get the total playing time (in seconds) of the Elm_Video object.
*
* @param video The video object.
* @return The total duration (in seconds) of the media file.
*
* @ingroup Video
*/
EAPI double elm_video_play_length_get(const Evas_Object *video);
/**
* @brief Set whether the object can remember the last played position.
*
* @param video The video object.
* @param remember the last played position of the Elm_Video object.
*
* @note This API only serves as indication. System support is required.
*
* @ingroup Video
*/
EAPI void elm_video_remember_position_set(Evas_Object *video, Eina_Bool remember);
/**
* @brief Set whether the object can remember the last played position.
*
* @param video The video object.
* @return whether the object remembers the last played position (@c EINA_TRUE)
* or not.
*
* @note This API only serves as indication. System support is required.
*
* @ingroup Video
*/
EAPI Eina_Bool elm_video_remember_position_get(const Evas_Object *video);
/**
* @brief Get the title (for instance DVD title) from this emotion object.
*
* @param video The Elm_Video object.
* @return A string containing the title.
*
* This function is only useful when playing a DVD.
*
* @note Don't change or free the string returned by this function.
*
* @ingroup Video
*/
EAPI const char *elm_video_title_get(const Evas_Object *video);