diff --git a/src/lib/elementary/efl_ui_animation_view.c b/src/lib/elementary/efl_ui_animation_view.c index 83f98f81f6..ba80700342 100644 --- a/src/lib/elementary/efl_ui_animation_view.c +++ b/src/lib/elementary/efl_ui_animation_view.c @@ -574,6 +574,12 @@ elm_animation_view_file_set(Elm_Animation_View *obj, const char *file, const cha return efl_file_set(obj, file, key); } +EAPI Elm_Animation_View_State +elm_animation_view_state_get(Elm_Animation_View *obj) +{ + return efl_ui_animation_view_state_get(obj); +} + /* Internal EO APIs and hidden overrides */ #define EFL_UI_ANIMATION_VIEW_EXTRA_OPS \ diff --git a/src/lib/elementary/efl_ui_animation_view.eo b/src/lib/elementary/efl_ui_animation_view.eo index c9a65274ec..4b4d750a4e 100644 --- a/src/lib/elementary/efl_ui_animation_view.eo +++ b/src/lib/elementary/efl_ui_animation_view.eo @@ -1,11 +1,13 @@ enum Efl.Ui.Animation_View.State { + //FIXME: This enum is not neccessary in legacy header. but legacy:null command is not working correct. + //legacy: null; not_ready, [[Animation is not ready to play. (Probably, it didn't file set yet or failed to read file. @since 1.22]] - play, [[Animation is on playing. see @.play @since 1.22]] - play_back, [[Animation is on playing back (rewinding). see @.back @since 1.22]] - pause, [[Animation has been paused. To continue animation, call @.resume. see @.pause @since 1.22]] - stop [[Animation view successfully loaded a file then readied for playing. Otherwise after finished animation or stopped forcely by request. see @.stop @since 1.22]] + play, [[Animation is on playing. see @Efl.Ui.Animation_View.play @since 1.22]] + play_back, [[Animation is on playing back (rewinding). see @Efl.Ui.Animation_View.play_back @since 1.22]] + pause, [[Animation has been paused. To continue animation, call @Efl.Ui.Animation_View.resume. see @Efl.Ui.Animation_View.pause @since 1.22]] + stop [[Animation view successfully loaded a file then readied for playing. Otherwise after finished animation or stopped forcely by request. see @Efl.Ui.Animation_View.stop @since 1.22]] } class Efl.Ui.Animation_View extends Efl.Ui.Widget implements Efl.Gfx.View, Efl.File @@ -164,6 +166,7 @@ class Efl.Ui.Animation_View extends Efl.Ui.Widget implements Efl.Gfx.View, Efl.F [[Get current animation view state. see @.State @since 1.22]] + legacy: null; } values { state: Efl.Ui.Animation_View.State; [[Current animation view state]] diff --git a/src/lib/elementary/efl_ui_animation_view.h b/src/lib/elementary/efl_ui_animation_view.h index 8135382d4d..e566454fa4 100644 --- a/src/lib/elementary/efl_ui_animation_view.h +++ b/src/lib/elementary/efl_ui_animation_view.h @@ -1,5 +1,5 @@ /** - * @defgroup Elm_Animation_View Animation_View + * @defgroup Efl_Ui_Animation_View Animation_View * @ingroup Elementary * * Animation_View widget is designed to show and play animation of @@ -25,9 +25,40 @@ */ /** - * @ingroup Elm_Animation_View + * @ingroup Efl_Ui_Animation_View + */ +/** + * @} */ +/** + * @defgroup Elm_Animation_View_Group Animation_View + * @ingroup Elementary + * + * Animation_View widget is designed to show and play animation of + * vector graphics based content. It hides all efl_canvas_vg details + * but just open an API to read vector data from file. Also, it implements + * details of animation control methods of Vector. + * + * Vector data could contain static or animatable vector elements including + * animation infomation. Currently approved vector data file format is svg, json and eet. + * Only json(known for Lottie file as well) and eet could contains animation infomation, + * currently Animation_View is supporting. + * + * This widget emits the following signals, besides the ones sent from + * @ref Animation_View: + * @li "play,start": animation is just started. + * @li "play,repeat": animation is just repeated. + * @li "play,done": animation is just finished. + * @li "play,pause": animation is just paused. + * @li "play,resume": animation is just resumed. + * @li "play,stop": animation is just stopped. + * @li "play,update": animation is updated to the next frame. + * + */ +/** + * @ingroup Elm_Animation_View_Group + */ #ifndef EFL_NOLEGACY_API_SUPPORT #include "efl_ui_animation_view_legacy.h" #endif diff --git a/src/lib/elementary/efl_ui_animation_view_legacy.h b/src/lib/elementary/efl_ui_animation_view_legacy.h index b6c450c806..29df2d088b 100644 --- a/src/lib/elementary/efl_ui_animation_view_legacy.h +++ b/src/lib/elementary/efl_ui_animation_view_legacy.h @@ -1,12 +1,39 @@ typedef Eo Elm_Animation_View; + +typedef enum _Elm_Animation_View_State +{ + ELM_ANIMATION_VIEW_STATE_NOT_READY = 0, /**< Animation is not ready to + * play. (Probably, it didn't file + * set yet or failed to read file. + * + * @since 1.22 */ + ELM_ANIMATION_VIEW_STATE_PLAY, /**< Animation is on playing. see @elm_animation_view_play + * + * @since 1.22 */ + ELM_ANIMATION_VIEW_STATE_PLAY_BACK, /**< Animation is on playing back + * (rewinding). see @elm_animation_view_play_back + * + * @since 1.22 */ + ELM_ANIMATION_VIEW_STATE_PAUSE, /**< Animation has been paused. To continue + * animation, call @elm_animation_view_resume. see @elm_animation_view_pause + * + * @since 1.22 */ + ELM_ANIMATION_VIEW_STATE_STOP /**< Animation view successfully loaded a + * file then readied for playing. Otherwise + * after finished animation or stopped + * forcely by request. see @elm_animation_view_stop + * + * @since 1.22 */ +}Elm_Animation_View_State; + /** * Add a new animation view widget to the parent's canvas * * @param parent The parent object * @return The new animation view object or @c NULL if it failed to create. * - * @ingroup Elm_Animation_View + * @ingroup Elm_Animation_View_Group * * @since 1.22 */ @@ -27,10 +54,23 @@ NULL, otherwise. * * @return @c EINA_TRUE if it's succeed to read file, @c EINA_FALSE otherwise. * - * @ingroup Elm_Animation_View + * @ingroup Elm_Animation_View_Group * * @since 1.22 */ EAPI Eina_Bool elm_animation_view_file_set(Elm_Animation_View *obj, const char *file, const char *key); +/** + * @brief Get current animation view state. + * + * @return Current animation view state + * + * @see Elm_Animation_View_State + * + * @ingroup Elm_Animation_View_Group + * + * @since 1.22 + */ +EAPI Elm_Animation_View_State elm_animation_view_state_get(Elm_Animation_View *obj); + #include "efl_ui_animation_view.eo.legacy.h"