2014-03-27 01:21:26 -07:00
|
|
|
class Elm_Video (Elm_Layout)
|
|
|
|
{
|
|
|
|
eo_prefix: elm_obj_video;
|
|
|
|
properties {
|
|
|
|
audio_level {
|
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the audio level of an Elm_Video object.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the audio level of the current video.
|
|
|
|
|
|
|
|
@return the current audio level.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
double volume; /*@ The new audio volume. */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
remember_position {
|
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set whether the object can remember the last played position.
|
|
|
|
|
|
|
|
@note This API only serves as indication. System support is required.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Set whether the object can remember the last played position.
|
|
|
|
|
|
|
|
@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 */
|
|
|
|
}
|
|
|
|
values {
|
2014-07-11 06:44:47 -07:00
|
|
|
bool remember; /*@ the last played position of the Elm_Video object. */
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
play_position {
|
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the current position (in seconds) to be played in the
|
|
|
|
Elm_Video object.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the current position (in seconds) being played in the
|
|
|
|
Elm_Video object.
|
|
|
|
|
|
|
|
@return The time (in seconds) since the beginning of the media file.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
double position; /*@ The time (in seconds) since the beginning of the media file. */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
audio_mute {
|
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Change the mute state of the Elm_Video object.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Is the audio muted.
|
|
|
|
|
|
|
|
@return @c EINA_TRUE if the audio is muted.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
}
|
|
|
|
values {
|
2014-07-11 06:44:47 -07:00
|
|
|
bool mute; /*@ The new mute state. */
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
file {
|
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Define the file or URI that will be the video source.
|
|
|
|
|
|
|
|
@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 */
|
2014-07-11 06:44:47 -07:00
|
|
|
return bool;
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
values {
|
2014-06-26 05:24:20 -07:00
|
|
|
const(char)* filename; /*@ The file or URI to target.
|
2014-03-27 01:21:26 -07:00
|
|
|
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). */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
is_playing {
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Is the video actually playing.
|
|
|
|
|
|
|
|
@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 */
|
2014-07-11 06:44:47 -07:00
|
|
|
return bool;
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
play_length {
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the total playing time (in seconds) of the Elm_Video object.
|
|
|
|
|
|
|
|
@return The total duration (in seconds) of the media file.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
return double;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
emotion {
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the underlying Emotion object.
|
|
|
|
|
|
|
|
@return the underlying Emotion object.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
return Evas_Object *;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
is_seekable {
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Is it possible to seek inside the video.
|
|
|
|
|
|
|
|
@return @c EINA_TRUE if is possible to seek inside the video.
|
|
|
|
|
|
|
|
@ingroup Video */
|
2014-07-11 06:44:47 -07:00
|
|
|
return bool;
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
title {
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the title (for instance DVD title) from this emotion 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 */
|
2014-06-26 05:24:20 -07:00
|
|
|
return const(char)*;
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
methods {
|
|
|
|
play {
|
|
|
|
/*@
|
|
|
|
@brief Start to play the video
|
|
|
|
|
|
|
|
Start to play the video and cancel all suspend state.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
|
|
|
|
}
|
|
|
|
pause {
|
|
|
|
/*@
|
|
|
|
@brief Pause the video
|
|
|
|
|
|
|
|
Pause the video and start a timer to trigger suspend mode.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
|
|
|
|
}
|
|
|
|
stop {
|
|
|
|
/*@
|
|
|
|
@brief Stop the video
|
|
|
|
|
|
|
|
Stop the video and put the emotion in deep sleep mode.
|
|
|
|
|
|
|
|
@ingroup Video */
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
2014-06-20 02:47:39 -07:00
|
|
|
class.constructor;
|
2014-06-27 15:36:05 -07:00
|
|
|
Eo.Base.constructor;
|
|
|
|
Evas.Object_Smart.add;
|
|
|
|
Evas.Object_Smart.del;
|
2014-06-20 02:47:39 -07:00
|
|
|
Elm_Widget.focus_next_manager_is;
|
|
|
|
Elm_Widget.focus_direction_manager_is;
|
|
|
|
Elm_Widget.event;
|
|
|
|
Elm_Layout.sizing_eval;
|
2014-03-27 01:21:26 -07:00
|
|
|
}
|
|
|
|
events {
|
|
|
|
focused;
|
|
|
|
unfocused;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|