1 #ifndef ELM_WIDGET_PLAYER_H
2 #define ELM_WIDGET_PLAYER_H
4 #include "Elementary.h"
10 * @section elm-player-class The Elementary Player Class
12 * Elementary, besides having the @ref Player widget, exposes its
13 * foundation -- the Elementary Player Class -- in order to create other
14 * widgets which are a player with some more logic on top.
18 * Base layout smart data extended with player instance data.
20 typedef struct _Elm_Player_Smart_Data Elm_Player_Smart_Data;
21 struct _Elm_Player_Smart_Data
26 /* tracking those to ease disabling/enabling them back */
37 Ecore_Timer *delay_update;
38 double last_update_time;
45 #define ELM_PLAYER_DATA_GET(o, sd) \
46 Elm_Player_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PLAYER_CLASS)
48 #define ELM_PLAYER_DATA_GET_OR_RETURN(o, ptr) \
49 ELM_PLAYER_DATA_GET(o, ptr); \
52 CRITICAL("No widget data for object %p (%s)", \
53 o, evas_object_type_get(o)); \
57 #define ELM_PLAYER_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
58 ELM_PLAYER_DATA_GET(o, ptr); \
61 CRITICAL("No widget data for object %p (%s)", \
62 o, evas_object_type_get(o)); \
66 #define ELM_PLAYER_CHECK(obj) \
67 if (!eo_isa((obj), ELM_OBJ_PLAYER_CLASS)) \