patch from ChunEon Park <chuneon.park@samsung.com> with formatting

fixes, compile fixes etc. etc. as well as a general cleanup of header
and location of typedefs and so on.



SVN revision: 54353
This commit is contained in:
Carsten Haitzler 2010-11-09 04:58:54 +00:00
parent 0f4950bb1d
commit e7b5941a4b
2 changed files with 327 additions and 286 deletions

View File

@ -154,43 +154,10 @@ extern "C" {
ELM_OBJECT_LAYER_LAST /**< last layer known by Elementary */ ELM_OBJECT_LAYER_LAST /**< last layer known by Elementary */
} Elm_Object_Layer; } Elm_Object_Layer;
/**************************************************************************/ /**************************************************************************/
EAPI extern int ELM_ECORE_EVENT_ETHUMB_CONNECT; EAPI extern int ELM_ECORE_EVENT_ETHUMB_CONNECT;
/* Objects */ /* Objects */
typedef enum _Elm_Win_Type
{
ELM_WIN_BASIC,
ELM_WIN_DIALOG_BASIC,
ELM_WIN_DESKTOP,
ELM_WIN_DOCK,
ELM_WIN_TOOLBAR,
ELM_WIN_MENU,
ELM_WIN_UTILITY,
ELM_WIN_SPLASH
} Elm_Win_Type;
typedef enum _Elm_Win_Keyboard_Mode
{
ELM_WIN_KEYBOARD_UNKNOWN,
ELM_WIN_KEYBOARD_OFF,
ELM_WIN_KEYBOARD_ON,
ELM_WIN_KEYBOARD_ALPHA,
ELM_WIN_KEYBOARD_NUMERIC,
ELM_WIN_KEYBOARD_PIN,
ELM_WIN_KEYBOARD_PHONE_NUMBER,
ELM_WIN_KEYBOARD_HEX,
ELM_WIN_KEYBOARD_TERMINAL,
ELM_WIN_KEYBOARD_PASSWORD,
ELM_WIN_KEYBOARD_IP,
ELM_WIN_KEYBOARD_HOST,
ELM_WIN_KEYBOARD_FILE,
ELM_WIN_KEYBOARD_URL,
ELM_WIN_KEYBOARD_KEYPAD,
ELM_WIN_KEYBOARD_J2ME
} Elm_Win_Keyboard_Mode;
/** /**
* Emitted when policy value changed. * Emitted when policy value changed.
*/ */
@ -221,44 +188,6 @@ extern "C" {
ELM_POLICY_QUIT_LAST_WINDOW_CLOSED /**< quit when last window is closed */ ELM_POLICY_QUIT_LAST_WINDOW_CLOSED /**< quit when last window is closed */
} Elm_Policy_Quit; } Elm_Policy_Quit;
typedef enum _Elm_Thumb_Animation_Setting
{
ELM_THUMB_ANIMATION_START = 0, /* Play animation once */
ELM_THUMB_ANIMATION_LOOP, /* Keep playing animation until stop is requested */
ELM_THUMB_ANIMATION_STOP,
ELM_THUMB_ANIMATION_LAST
} Elm_Thumb_Animation_Setting;
typedef struct _Elm_Theme Elm_Theme;
typedef enum _Elm_Clock_Digedit
{
ELM_CLOCK_NONE = 0,
ELM_CLOCK_HOUR_DECIMAL = 1 << 0,
ELM_CLOCK_HOUR_UNIT = 1 << 1,
ELM_CLOCK_MIN_DECIMAL = 1 << 2,
ELM_CLOCK_MIN_UNIT = 1 << 3,
ELM_CLOCK_SEC_DECIMAL = 1 << 4,
ELM_CLOCK_SEC_UNIT = 1 << 5,
ELM_CLOCK_ALL = (1 << 6) - 1
} Elm_Clock_Digedit;
typedef enum _Elm_Toolbar_Shrink_Mode
{
ELM_TOOLBAR_SHRINK_NONE, /**< set toolbar minimun size to fit all the items */
ELM_TOOLBAR_SHRINK_HIDE, /**< hide excess items */
ELM_TOOLBAR_SHRINK_SCROLL, /**< allow accessing excess items through a scroller */
ELM_TOOLBAR_SHRINK_MENU /**< inserts a button to pop up a menu with excess items */
} Elm_Toolbar_Shrink_Mode;
typedef enum _Elm_Icon_Lookup_Order
{
ELM_ICON_LOOKUP_FDO_THEME, /**< icon look up order: freedesktop, theme */
ELM_ICON_LOOKUP_THEME_FDO, /**< icon look up order: theme, freedesktop */
ELM_ICON_LOOKUP_FDO, /**< icon look up order: freedesktop */
ELM_ICON_LOOKUP_THEME /**< icon look up order: theme */
} Elm_Icon_Lookup_Order;
typedef enum _Elm_Focus_Direction typedef enum _Elm_Focus_Direction
{ {
ELM_FOCUS_PREVIOUS, ELM_FOCUS_PREVIOUS,
@ -285,9 +214,9 @@ extern "C" {
* @param item context dependent item. As an example, if tooltip was * @param item context dependent item. As an example, if tooltip was
* set on Elm_List_Item, then it is of this type. * set on Elm_List_Item, then it is of this type.
*/ */
typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, void *item); typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, void *item);
#ifndef ELM_LIB_QUICKLAUNCH #ifndef ELM_LIB_QUICKLAUNCH
#define ELM_MAIN() int main(int argc, char **argv) {elm_init(argc, argv); return elm_main(argc, argv);} #define ELM_MAIN() int main(int argc, char **argv) {elm_init(argc, argv); return elm_main(argc, argv);}
#else #else
@ -391,6 +320,15 @@ extern "C" {
EAPI void elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coord *h); EAPI void elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coord *h);
/* debug
* don't use it unless you are sure
*/
EAPI void elm_object_tree_dump(const Evas_Object *top);
EAPI void elm_object_tree_dot_dump(const Evas_Object *top, const char *file);
/* theme */
typedef struct _Elm_Theme Elm_Theme;
EAPI Elm_Theme *elm_theme_new(void); EAPI Elm_Theme *elm_theme_new(void);
EAPI void elm_theme_free(Elm_Theme *th); EAPI void elm_theme_free(Elm_Theme *th);
EAPI void elm_theme_copy(Elm_Theme *th, Elm_Theme *thdst); EAPI void elm_theme_copy(Elm_Theme *th, Elm_Theme *thdst);
@ -416,6 +354,39 @@ extern "C" {
EAPI void elm_object_theme_set(Evas_Object *obj, Elm_Theme *th); EAPI void elm_object_theme_set(Evas_Object *obj, Elm_Theme *th);
EAPI Elm_Theme *elm_object_theme_get(const Evas_Object *obj); EAPI Elm_Theme *elm_object_theme_get(const Evas_Object *obj);
/* win */
typedef enum _Elm_Win_Type
{
ELM_WIN_BASIC,
ELM_WIN_DIALOG_BASIC,
ELM_WIN_DESKTOP,
ELM_WIN_DOCK,
ELM_WIN_TOOLBAR,
ELM_WIN_MENU,
ELM_WIN_UTILITY,
ELM_WIN_SPLASH
} Elm_Win_Type;
typedef enum _Elm_Win_Keyboard_Mode
{
ELM_WIN_KEYBOARD_UNKNOWN,
ELM_WIN_KEYBOARD_OFF,
ELM_WIN_KEYBOARD_ON,
ELM_WIN_KEYBOARD_ALPHA,
ELM_WIN_KEYBOARD_NUMERIC,
ELM_WIN_KEYBOARD_PIN,
ELM_WIN_KEYBOARD_PHONE_NUMBER,
ELM_WIN_KEYBOARD_HEX,
ELM_WIN_KEYBOARD_TERMINAL,
ELM_WIN_KEYBOARD_PASSWORD,
ELM_WIN_KEYBOARD_IP,
ELM_WIN_KEYBOARD_HOST,
ELM_WIN_KEYBOARD_FILE,
ELM_WIN_KEYBOARD_URL,
ELM_WIN_KEYBOARD_KEYPAD,
ELM_WIN_KEYBOARD_J2ME
} Elm_Win_Keyboard_Mode;
EAPI Evas_Object *elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type); EAPI Evas_Object *elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type);
EAPI void elm_win_resize_object_add(Evas_Object *obj, Evas_Object *subobj); EAPI void elm_win_resize_object_add(Evas_Object *obj, Evas_Object *subobj);
EAPI void elm_win_resize_object_del(Evas_Object *obj, Evas_Object *subobj); EAPI void elm_win_resize_object_del(Evas_Object *obj, Evas_Object *subobj);
@ -463,7 +434,6 @@ extern "C" {
EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Evas_Object *obj); EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Evas_Object *obj);
EAPI void elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style); EAPI void elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style);
EAPI const char *elm_win_focus_highlight_style_get(const Evas_Object *obj); EAPI const char *elm_win_focus_highlight_style_get(const Evas_Object *obj);
/*... /*...
* ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas) * ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
* ecore_x_icccm_hints_set -> window_group (add to ecore_evas) * ecore_x_icccm_hints_set -> window_group (add to ecore_evas)
@ -494,7 +464,6 @@ extern "C" {
* minimal * minimal
* minimal_vertical * minimal_vertical
*/ */
/* X specific calls - won't work on non-x engines (return 0) */ /* X specific calls - won't work on non-x engines (return 0) */
EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj); EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj);
/* smart callbacks called: /* smart callbacks called:
@ -503,6 +472,8 @@ extern "C" {
* "focus,out" - window lost focus * "focus,out" - window lost focus
* "moved" - window that holds the canvas was moved * "moved" - window that holds the canvas was moved
*/ */
/* bg */
typedef enum _Elm_Bg_Option typedef enum _Elm_Bg_Option
{ {
ELM_BG_OPTION_CENTER, ELM_BG_OPTION_CENTER,
@ -510,7 +481,6 @@ extern "C" {
ELM_BG_OPTION_STRETCH, ELM_BG_OPTION_STRETCH,
ELM_BG_OPTION_TILE ELM_BG_OPTION_TILE
} Elm_Bg_Option; } Elm_Bg_Option;
EAPI Evas_Object *elm_bg_add(Evas_Object *parent); EAPI Evas_Object *elm_bg_add(Evas_Object *parent);
EAPI void elm_bg_file_set(Evas_Object *obj, const char *file, const char *group); EAPI void elm_bg_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_bg_file_get(const Evas_Object *obj, const char **file, const char **group); EAPI void elm_bg_file_get(const Evas_Object *obj, const char **file, const char **group);
@ -521,10 +491,18 @@ extern "C" {
EAPI void elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay); EAPI void elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay);
EAPI Evas_Object *elm_bg_overlay_get(const Evas_Object *obj); EAPI Evas_Object *elm_bg_overlay_get(const Evas_Object *obj);
EAPI Evas_Object *elm_bg_overlay_unset(Evas_Object *obj); EAPI Evas_Object *elm_bg_overlay_unset(Evas_Object *obj);
/* smart callbacks called: /* smart callbacks called:
*/ */
/* icon */
typedef enum _Elm_Icon_Lookup_Order
{
ELM_ICON_LOOKUP_FDO_THEME, /**< icon look up order: freedesktop, theme */
ELM_ICON_LOOKUP_THEME_FDO, /**< icon look up order: theme, freedesktop */
ELM_ICON_LOOKUP_FDO, /**< icon look up order: freedesktop */
ELM_ICON_LOOKUP_THEME /**< icon look up order: theme */
} Elm_Icon_Lookup_Order;
EAPI Evas_Object *elm_icon_add(Evas_Object *parent); EAPI Evas_Object *elm_icon_add(Evas_Object *parent);
EAPI Eina_Bool elm_icon_file_set(Evas_Object *obj, const char *file, const char *group); EAPI Eina_Bool elm_icon_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_icon_file_get(const Evas_Object *obj, const char **file, const char **group); EAPI void elm_icon_file_get(const Evas_Object *obj, const char **file, const char **group);
@ -546,6 +524,7 @@ extern "C" {
* "clicked" - the user clicked the icon * "clicked" - the user clicked the icon
*/ */
/* image */
typedef enum _Elm_Image_Orient typedef enum _Elm_Image_Orient
{ {
ELM_IMAGE_ORIENT_NONE, ELM_IMAGE_ORIENT_NONE,
@ -557,7 +536,6 @@ extern "C" {
ELM_IMAGE_FLIP_TRANSPOSE, ELM_IMAGE_FLIP_TRANSPOSE,
ELM_IMAGE_FLIP_TRANSVERSE ELM_IMAGE_FLIP_TRANSVERSE
} Elm_Image_Orient; } Elm_Image_Orient;
EAPI Evas_Object *elm_image_add(Evas_Object *parent); EAPI Evas_Object *elm_image_add(Evas_Object *parent);
EAPI Eina_Bool elm_image_file_set(Evas_Object *obj, const char *file, const char *group); EAPI Eina_Bool elm_image_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_image_file_get(const Evas_Object *obj, const char **file, const char **group); EAPI void elm_image_file_get(const Evas_Object *obj, const char **file, const char **group);
@ -580,6 +558,7 @@ extern "C" {
* "clicked" - the user clicked the image * "clicked" - the user clicked the image
*/ */
/* box */
typedef struct _Elm_Box_Transition Elm_Box_Transition; typedef struct _Elm_Box_Transition Elm_Box_Transition;
EAPI Evas_Object *elm_box_add(Evas_Object *parent); EAPI Evas_Object *elm_box_add(Evas_Object *parent);
@ -607,6 +586,7 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
*/ */
/* button */
EAPI Evas_Object *elm_button_add(Evas_Object *parent); EAPI Evas_Object *elm_button_add(Evas_Object *parent);
EAPI void elm_button_label_set(Evas_Object *obj, const char *label); EAPI void elm_button_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_button_label_get(const Evas_Object *obj); EAPI const char *elm_button_label_get(const Evas_Object *obj);
@ -620,6 +600,7 @@ extern "C" {
EAPI void elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t); EAPI void elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t);
EAPI double elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj); EAPI double elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj);
/* fileselector */
EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent); EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent);
EAPI void elm_fileselector_button_label_set(Evas_Object *obj, const char *label); EAPI void elm_fileselector_button_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_fileselector_button_label_get(const Evas_Object *obj); EAPI const char *elm_fileselector_button_label_get(const Evas_Object *obj);
@ -663,8 +644,6 @@ extern "C" {
EAPI Eina_Bool elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj); EAPI Eina_Bool elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj);
EAPI void elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path); EAPI void elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path);
EAPI const char *elm_fileselector_entry_selected_get(const Evas_Object *obj); EAPI const char *elm_fileselector_entry_selected_get(const Evas_Object *obj);
/* available styles: /* available styles:
* default * default
* anchor * anchor
@ -677,6 +656,7 @@ extern "C" {
* "unpressed" - when the button is unpressed (released) * "unpressed" - when the button is unpressed (released)
*/ */
/* scroller policy */
typedef enum _Elm_Scroller_Policy typedef enum _Elm_Scroller_Policy
{ {
ELM_SCROLLER_POLICY_AUTO = 0, ELM_SCROLLER_POLICY_AUTO = 0,
@ -714,6 +694,7 @@ extern "C" {
* "scroll,drag,stop" * "scroll,drag,stop"
*/ */
/* label */
EAPI Evas_Object *elm_label_add(Evas_Object *parent); EAPI Evas_Object *elm_label_add(Evas_Object *parent);
EAPI void elm_label_label_set(Evas_Object *obj, const char *label); EAPI void elm_label_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_label_label_get(const Evas_Object *obj); EAPI const char *elm_label_label_get(const Evas_Object *obj);
@ -733,6 +714,7 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
*/ */
/* toggle */
EAPI Evas_Object *elm_toggle_add(Evas_Object *parent); EAPI Evas_Object *elm_toggle_add(Evas_Object *parent);
EAPI void elm_toggle_label_set(Evas_Object *obj, const char *label); EAPI void elm_toggle_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_toggle_label_get(const Evas_Object *obj); EAPI const char *elm_toggle_label_get(const Evas_Object *obj);
@ -748,6 +730,7 @@ extern "C" {
* "changed" - the user toggled the state * "changed" - the user toggled the state
*/ */
/* frame */
EAPI Evas_Object *elm_frame_add(Evas_Object *parent); EAPI Evas_Object *elm_frame_add(Evas_Object *parent);
EAPI void elm_frame_label_set(Evas_Object *obj, const char *label); EAPI void elm_frame_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_frame_label_get(const Evas_Object *obj); EAPI const char *elm_frame_label_get(const Evas_Object *obj);
@ -766,6 +749,7 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
*/ */
/* table */
EAPI Evas_Object *elm_table_add(Evas_Object *parent); EAPI Evas_Object *elm_table_add(Evas_Object *parent);
EAPI void elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous); EAPI void elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
EAPI void elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical); EAPI void elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical);
@ -773,6 +757,7 @@ extern "C" {
EAPI void elm_table_unpack(Evas_Object *obj, Evas_Object *subobj); EAPI void elm_table_unpack(Evas_Object *obj, Evas_Object *subobj);
EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear); EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear);
/* gengrid */
typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class; typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func; typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;
typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Item of Elm_Gengrid. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Item of Elm_Gengrid. Sub-type of Elm_Widget_Item */
@ -814,7 +799,6 @@ extern "C" {
EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj); EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj);
EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj); EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj);
EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item); EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item);
EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item); EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item);
EAPI Evas_Object *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item); EAPI Evas_Object *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item);
@ -872,6 +856,19 @@ extern "C" {
* "drag,stop" - Gengrid is not being dragged. * "drag,stop" - Gengrid is not being dragged.
*/ */
/* clock */
typedef enum _Elm_Clock_Digedit
{
ELM_CLOCK_NONE = 0,
ELM_CLOCK_HOUR_DECIMAL = 1 << 0,
ELM_CLOCK_HOUR_UNIT = 1 << 1,
ELM_CLOCK_MIN_DECIMAL = 1 << 2,
ELM_CLOCK_MIN_UNIT = 1 << 3,
ELM_CLOCK_SEC_DECIMAL = 1 << 4,
ELM_CLOCK_SEC_UNIT = 1 << 5,
ELM_CLOCK_ALL = (1 << 6) - 1
} Elm_Clock_Digedit;
EAPI Evas_Object *elm_clock_add(Evas_Object *parent); EAPI Evas_Object *elm_clock_add(Evas_Object *parent);
EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec); EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec);
EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec); EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec);
@ -889,6 +886,7 @@ extern "C" {
* "changed" - the user changed the time * "changed" - the user changed the time
*/ */
/* layout */
EAPI Evas_Object *elm_layout_add(Evas_Object *parent); EAPI Evas_Object *elm_layout_add(Evas_Object *parent);
EAPI Eina_Bool elm_layout_file_set(Evas_Object *obj, const char *file, const char *group); EAPI Eina_Bool elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI Eina_Bool elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style); EAPI Eina_Bool elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style);
@ -897,7 +895,6 @@ extern "C" {
EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow); EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow);
EAPI void elm_layout_text_set(Evas_Object *obj, const char *part, const char *text); EAPI void elm_layout_text_set(Evas_Object *obj, const char *part, const char *text);
EAPI const char *elm_layout_text_get(const Evas_Object *obj, const char *part); EAPI const char *elm_layout_text_get(const Evas_Object *obj, const char *part);
EAPI void elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child); EAPI void elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child);
EAPI void elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child); EAPI void elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child);
EAPI void elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference); EAPI void elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
@ -907,18 +904,15 @@ extern "C" {
EAPI void elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan); EAPI void elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
EAPI Evas_Object *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj); EAPI Evas_Object *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj);
EAPI void elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear); EAPI void elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear);
EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj); EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj);
EAPI void elm_layout_sizing_eval(Evas_Object *obj); EAPI void elm_layout_sizing_eval(Evas_Object *obj);
EAPI Eina_Bool elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor);
EAPI Eina_Bool elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor); EAPI const char *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name);
EAPI const char *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name); EAPI void elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
EAPI void elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name); EAPI Eina_Bool elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style);
EAPI Eina_Bool elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style); EAPI const char *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name);
EAPI const char *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name); EAPI Eina_Bool elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only);
EAPI Eina_Bool elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only); EAPI Eina_Bool elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name);
EAPI Eina_Bool elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name);
/** /**
* @def elm_layout_icon_set * @def elm_layout_icon_set
* Convienience macro to set the icon object in a layout that follows the * Convienience macro to set the icon object in a layout that follows the
@ -998,6 +992,7 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
*/ */
/* notify */
typedef enum _Elm_Notify_Orient typedef enum _Elm_Notify_Orient
{ {
ELM_NOTIFY_ORIENT_TOP, ELM_NOTIFY_ORIENT_TOP,
@ -1028,6 +1023,7 @@ extern "C" {
* "block,clicked" - when it's hidden by a click outside of the notify's view * "block,clicked" - when it's hidden by a click outside of the notify's view
*/ */
/* hover */
typedef enum _Elm_Hover_Axis typedef enum _Elm_Hover_Axis
{ {
ELM_HOVER_AXIS_NONE, ELM_HOVER_AXIS_NONE,
@ -1056,6 +1052,7 @@ extern "C" {
* policy was replaced to a new slot direction. * policy was replaced to a new slot direction.
*/ */
/* entry */
typedef struct _Elm_Entry_Anchor_Info Elm_Entry_Anchor_Info; typedef struct _Elm_Entry_Anchor_Info Elm_Entry_Anchor_Info;
struct _Elm_Entry_Anchor_Info struct _Elm_Entry_Anchor_Info
{ {
@ -1070,6 +1067,7 @@ extern "C" {
ELM_ICON_STANDARD ELM_ICON_STANDARD
} Elm_Icon_Type; } Elm_Icon_Type;
typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item; /**< Item of Elm_Hoversel. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item; /**< Item of Elm_Hoversel. Sub-type of Elm_Widget_Item */
EAPI Evas_Object *elm_entry_add(Evas_Object *parent); EAPI Evas_Object *elm_entry_add(Evas_Object *parent);
EAPI void elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line); EAPI void elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
EAPI Eina_Bool elm_entry_single_line_get(const Evas_Object *obj); EAPI Eina_Bool elm_entry_single_line_get(const Evas_Object *obj);
@ -1155,6 +1153,7 @@ extern "C" {
/* composite widgets - these basically put together basic widgets above /* composite widgets - these basically put together basic widgets above
* in convenient packages that do more than basic stuff */ * in convenient packages that do more than basic stuff */
/* anchorview */
typedef struct _Elm_Entry_Anchorview_Info Elm_Entry_Anchorview_Info; typedef struct _Elm_Entry_Anchorview_Info Elm_Entry_Anchorview_Info;
struct _Elm_Entry_Anchorview_Info struct _Elm_Entry_Anchorview_Info
{ {
@ -1187,6 +1186,7 @@ extern "C" {
* "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorview_Info * "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorview_Info
*/ */
/* anchorblock */
typedef struct _Elm_Entry_Anchorblock_Info Elm_Entry_Anchorblock_Info; typedef struct _Elm_Entry_Anchorblock_Info Elm_Entry_Anchorblock_Info;
struct _Elm_Entry_Anchorblock_Info struct _Elm_Entry_Anchorblock_Info
{ {
@ -1216,6 +1216,7 @@ extern "C" {
* "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorblock_Info * "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorblock_Info
*/ */
/* bubble */
EAPI Evas_Object *elm_bubble_add(Evas_Object *parent); EAPI Evas_Object *elm_bubble_add(Evas_Object *parent);
EAPI void elm_bubble_label_set(Evas_Object *obj, const char *label); EAPI void elm_bubble_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_bubble_label_get(const Evas_Object *obj); EAPI const char *elm_bubble_label_get(const Evas_Object *obj);
@ -1232,6 +1233,7 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
*/ */
/* photo */
EAPI Evas_Object *elm_photo_add(Evas_Object *parent); EAPI Evas_Object *elm_photo_add(Evas_Object *parent);
EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file); EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file);
EAPI void elm_photo_size_set(Evas_Object *obj, int size); EAPI void elm_photo_size_set(Evas_Object *obj, int size);
@ -1241,6 +1243,15 @@ extern "C" {
* "clicked" - the user clicked the icon * "clicked" - the user clicked the icon
*/ */
/* thumb */
typedef enum _Elm_Thumb_Animation_Setting
{
ELM_THUMB_ANIMATION_START = 0, /* Play animation once */
ELM_THUMB_ANIMATION_LOOP, /* Keep playing animation until stop is requested */
ELM_THUMB_ANIMATION_STOP,
ELM_THUMB_ANIMATION_LAST
} Elm_Thumb_Animation_Setting;
EAPI Evas_Object *elm_thumb_add(Evas_Object *parent); EAPI Evas_Object *elm_thumb_add(Evas_Object *parent);
EAPI void elm_thumb_reload(Evas_Object *obj); EAPI void elm_thumb_reload(Evas_Object *obj);
EAPI void elm_thumb_file_set(Evas_Object *obj, const char *file, const char *key); EAPI void elm_thumb_file_set(Evas_Object *obj, const char *file, const char *key);
@ -1252,7 +1263,6 @@ extern "C" {
EAPI Eina_Bool elm_thumb_ethumb_client_connected(void); EAPI Eina_Bool elm_thumb_ethumb_client_connected(void);
EAPI Eina_Bool elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit); EAPI Eina_Bool elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit);
EAPI Eina_Bool elm_thumb_editable_get(const Evas_Object *obj); EAPI Eina_Bool elm_thumb_editable_get(const Evas_Object *obj);
/* available styles: /* available styles:
* default * default
* noframe * noframe
@ -1266,7 +1276,8 @@ extern "C" {
* "generate,error" - the thumbnail generation failed * "generate,error" - the thumbnail generation failed
* "load,error" - the thumbnail image loading failed * "load,error" - the thumbnail image loading failed
*/ */
/* hoversel */
EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent); EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent);
EAPI void elm_hoversel_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); EAPI void elm_hoversel_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
EAPI Eina_Bool elm_hoversel_horizontal_get(const Evas_Object *obj); EAPI Eina_Bool elm_hoversel_horizontal_get(const Evas_Object *obj);
@ -1295,8 +1306,18 @@ extern "C" {
* "dismissed" - the hover is dismissed * "dismissed" - the hover is dismissed
*/ */
/* toolbar */
typedef enum _Elm_Toolbar_Shrink_Mode
{
ELM_TOOLBAR_SHRINK_NONE, /**< set toolbar minimun size to fit all the items */
ELM_TOOLBAR_SHRINK_HIDE, /**< hide excess items */
ELM_TOOLBAR_SHRINK_SCROLL, /**< allow accessing excess items through a scroller */
ELM_TOOLBAR_SHRINK_MENU /**< inserts a button to pop up a menu with excess items */
} Elm_Toolbar_Shrink_Mode;
typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item */
typedef struct _Elm_Toolbar_Item_State Elm_Toolbar_Item_State; /** State of a Elm_Toolbar_Item */ typedef struct _Elm_Toolbar_Item_State Elm_Toolbar_Item_State; /** State of a Elm_Toolbar_Item */
EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent); EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent);
EAPI void elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size); EAPI void elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size);
EAPI int elm_toolbar_icon_size_get(const Evas_Object *obj); EAPI int elm_toolbar_icon_size_get(const Evas_Object *obj);
@ -1349,7 +1370,6 @@ extern "C" {
EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Toolbar_Item *it); EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Toolbar_Item *it);
EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Toolbar_Item *it); EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Toolbar_Item *it);
EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Toolbar_Item *it); EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Toolbar_Item *it);
EAPI void elm_toolbar_item_tooltip_text_set(Elm_Toolbar_Item *item, const char *text); EAPI void elm_toolbar_item_tooltip_text_set(Elm_Toolbar_Item *item, const char *text);
EAPI void elm_toolbar_item_tooltip_content_cb_set(Elm_Toolbar_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); EAPI void elm_toolbar_item_tooltip_content_cb_set(Elm_Toolbar_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
EAPI void elm_toolbar_item_tooltip_unset(Elm_Toolbar_Item *item); EAPI void elm_toolbar_item_tooltip_unset(Elm_Toolbar_Item *item);
@ -1365,11 +1385,12 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
* "clicked" - when the user clicks on a toolbar item and becomes selected * "clicked" - when the user clicks on a toolbar item and becomes selected
*/ */
/* available styles: /* available styles:
* default * default
* transparent (no background or shadow, just show the provided content) * transparent (no background or shadow, just show the provided content)
*/ */
/* tooltip */
EAPI double elm_tooltip_delay_get(void); EAPI double elm_tooltip_delay_get(void);
EAPI Eina_Bool elm_tooltip_delay_set(double delay); EAPI Eina_Bool elm_tooltip_delay_set(double delay);
EAPI void elm_object_tooltip_show(Evas_Object *obj); EAPI void elm_object_tooltip_show(Evas_Object *obj);
@ -1377,10 +1398,8 @@ extern "C" {
EAPI void elm_object_tooltip_text_set(Evas_Object *obj, const char *text); EAPI void elm_object_tooltip_text_set(Evas_Object *obj, const char *text);
EAPI void elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); EAPI void elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
EAPI void elm_object_tooltip_unset(Evas_Object *obj); EAPI void elm_object_tooltip_unset(Evas_Object *obj);
EAPI void elm_object_tooltip_style_set(Evas_Object *obj, const char *style); EAPI void elm_object_tooltip_style_set(Evas_Object *obj, const char *style);
EAPI const char *elm_object_tooltip_style_get(const Evas_Object *obj); EAPI const char *elm_object_tooltip_style_get(const Evas_Object *obj);
EAPI void elm_object_cursor_set(Evas_Object *obj, const char *cursor); EAPI void elm_object_cursor_set(Evas_Object *obj, const char *cursor);
EAPI const char *elm_object_cursor_get(const Evas_Object *obj); EAPI const char *elm_object_cursor_get(const Evas_Object *obj);
EAPI void elm_object_cursor_unset(Evas_Object *obj); EAPI void elm_object_cursor_unset(Evas_Object *obj);
@ -1391,6 +1410,7 @@ extern "C" {
EAPI int elm_cursor_engine_only_get(void); EAPI int elm_cursor_engine_only_get(void);
EAPI Eina_Bool elm_cursor_engine_only_set(int engine_only); EAPI Eina_Bool elm_cursor_engine_only_set(int engine_only);
/* menu */
typedef struct _Elm_Menu_Item Elm_Menu_Item; /**< Item of Elm_Menu. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Menu_Item Elm_Menu_Item; /**< Item of Elm_Menu. Sub-type of Elm_Widget_Item */
EAPI Evas_Object *elm_menu_add(Evas_Object *parent); EAPI Evas_Object *elm_menu_add(Evas_Object *parent);
EAPI void elm_menu_parent_set(Evas_Object *obj, Evas_Object *parent); EAPI void elm_menu_parent_set(Evas_Object *obj, Evas_Object *parent);
@ -1416,6 +1436,7 @@ extern "C" {
* "clicked" - the user clicked the empty space in the menu to dismiss. event_info is NULL. * "clicked" - the user clicked the empty space in the menu to dismiss. event_info is NULL.
*/ */
/* list */
typedef enum _Elm_List_Mode typedef enum _Elm_List_Mode
{ {
ELM_LIST_COMPRESS = 0, ELM_LIST_COMPRESS = 0,
@ -1444,10 +1465,8 @@ extern "C" {
EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj); EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj);
EAPI Elm_List_Item *elm_list_selected_item_get(const Evas_Object *obj); EAPI Elm_List_Item *elm_list_selected_item_get(const Evas_Object *obj);
EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj); EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj);
EAPI void elm_list_item_separator_set(Elm_List_Item *it, Eina_Bool setting); EAPI void elm_list_item_separator_set(Elm_List_Item *it, Eina_Bool setting);
EAPI Eina_Bool elm_list_item_separator_get(const Elm_List_Item *it); EAPI Eina_Bool elm_list_item_separator_get(const Elm_List_Item *it);
EAPI void elm_list_item_selected_set(Elm_List_Item *item, Eina_Bool selected); EAPI void elm_list_item_selected_set(Elm_List_Item *item, Eina_Bool selected);
EAPI Eina_Bool elm_list_item_selected_get(const Elm_List_Item *item); EAPI Eina_Bool elm_list_item_selected_get(const Elm_List_Item *item);
EAPI void elm_list_item_show(Elm_List_Item *item); EAPI void elm_list_item_show(Elm_List_Item *item);
@ -1464,7 +1483,6 @@ extern "C" {
EAPI void elm_list_item_label_set(Elm_List_Item *item, const char *text); EAPI void elm_list_item_label_set(Elm_List_Item *item, const char *text);
EAPI Elm_List_Item *elm_list_item_prev(const Elm_List_Item *it); EAPI Elm_List_Item *elm_list_item_prev(const Elm_List_Item *it);
EAPI Elm_List_Item *elm_list_item_next(const Elm_List_Item *it); EAPI Elm_List_Item *elm_list_item_next(const Elm_List_Item *it);
EAPI void elm_list_item_tooltip_text_set(Elm_List_Item *item, const char *text); EAPI void elm_list_item_tooltip_text_set(Elm_List_Item *item, const char *text);
EAPI void elm_list_item_tooltip_content_cb_set(Elm_List_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); EAPI void elm_list_item_tooltip_content_cb_set(Elm_List_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
EAPI void elm_list_item_tooltip_unset(Elm_List_Item *item); EAPI void elm_list_item_tooltip_unset(Elm_List_Item *item);
@ -1479,7 +1497,6 @@ extern "C" {
EAPI Eina_Bool elm_list_item_cursor_engine_only_get(const Elm_List_Item *item); EAPI Eina_Bool elm_list_item_cursor_engine_only_get(const Elm_List_Item *item);
EAPI void elm_list_item_disabled_set(Elm_List_Item *it, Eina_Bool disabled); EAPI void elm_list_item_disabled_set(Elm_List_Item *it, Eina_Bool disabled);
EAPI Eina_Bool elm_list_item_disabled_get(const Elm_List_Item *it); EAPI Eina_Bool elm_list_item_disabled_get(const Elm_List_Item *it);
EAPI void elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); EAPI void elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
EAPI void elm_list_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); EAPI void elm_list_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
EAPI void elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v); EAPI void elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
@ -1504,6 +1521,7 @@ extern "C" {
* "clicked" - when the user clicks on a carousel item and becomes selected * "clicked" - when the user clicks on a carousel item and becomes selected
*/ */
/* slider */
EAPI Evas_Object *elm_slider_add(Evas_Object *parent); EAPI Evas_Object *elm_slider_add(Evas_Object *parent);
EAPI void elm_slider_label_set(Evas_Object *obj, const char *label); EAPI void elm_slider_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_slider_label_get(const Evas_Object *obj); EAPI const char *elm_slider_label_get(const Evas_Object *obj);
@ -1558,6 +1576,7 @@ extern "C" {
* "left", "right" and "center". * "left", "right" and "center".
*/ */
/* genlist */
typedef enum _Elm_Genlist_Item_Flags typedef enum _Elm_Genlist_Item_Flags
{ {
ELM_GENLIST_ITEM_NONE = 0, ELM_GENLIST_ITEM_NONE = 0,
@ -1574,13 +1593,12 @@ extern "C" {
struct _Elm_Genlist_Item_Class struct _Elm_Genlist_Item_Class
{ {
const char *item_style; const char *item_style;
struct _Elm_Genlist_Item_Class_Func struct {
{ GenlistItemLabelGetFunc label_get;
GenlistItemLabelGetFunc label_get; GenlistItemIconGetFunc icon_get;
GenlistItemIconGetFunc icon_get; GenlistItemStateGetFunc state_get;
GenlistItemStateGetFunc state_get; GenlistItemDelFunc del;
GenlistItemDelFunc del; } func;
} func;
}; };
EAPI Evas_Object *elm_genlist_add(Evas_Object *parent); EAPI Evas_Object *elm_genlist_add(Evas_Object *parent);
@ -1605,8 +1623,6 @@ extern "C" {
EAPI int elm_genlist_block_count_get(const Evas_Object *obj); EAPI int elm_genlist_block_count_get(const Evas_Object *obj);
EAPI void elm_genlist_longpress_timeout_set(Evas_Object *obj, double timeout); EAPI void elm_genlist_longpress_timeout_set(Evas_Object *obj, double timeout);
EAPI double elm_genlist_longpress_timeout_get(const Evas_Object *obj); EAPI double elm_genlist_longpress_timeout_get(const Evas_Object *obj);
/* operations to add items */ /* operations to add items */
EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data); EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data); EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
@ -1625,7 +1641,6 @@ extern "C" {
* double_label * double_label
* icon_top_text_bottom * icon_top_text_bottom
*/ */
/* Genlist Item operation */ /* Genlist Item operation */
EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item); EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item);
EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item); EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item);
@ -1653,7 +1668,6 @@ extern "C" {
EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it); EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it);
EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it); EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it);
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item); EAPI void elm_genlist_item_update(Elm_Genlist_Item *item);
EAPI void elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text); EAPI void elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text);
EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
EAPI void elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item); EAPI void elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item);
@ -1667,7 +1681,7 @@ extern "C" {
EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only); EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only);
EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item); EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item);
/* check */
EAPI Evas_Object *elm_check_add(Evas_Object *parent); EAPI Evas_Object *elm_check_add(Evas_Object *parent);
EAPI void elm_check_label_set(Evas_Object *obj, const char *label); EAPI void elm_check_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_check_label_get(const Evas_Object *obj); EAPI const char *elm_check_label_get(const Evas_Object *obj);
@ -1678,6 +1692,7 @@ extern "C" {
EAPI Eina_Bool elm_check_state_get(const Evas_Object *obj); EAPI Eina_Bool elm_check_state_get(const Evas_Object *obj);
EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep); EAPI void elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep);
/* radio */
EAPI Evas_Object *elm_radio_add(Evas_Object *parent); EAPI Evas_Object *elm_radio_add(Evas_Object *parent);
EAPI void elm_radio_label_set(Evas_Object *obj, const char *label); EAPI void elm_radio_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_radio_label_get(const Evas_Object *obj); EAPI const char *elm_radio_label_get(const Evas_Object *obj);
@ -1690,6 +1705,7 @@ extern "C" {
EAPI int elm_radio_value_get(const Evas_Object *obj); EAPI int elm_radio_value_get(const Evas_Object *obj);
EAPI void elm_radio_value_pointer_set(Evas_Object *obj, int *valuep); EAPI void elm_radio_value_pointer_set(Evas_Object *obj, int *valuep);
/* pager */
EAPI Evas_Object *elm_pager_add(Evas_Object *parent); EAPI Evas_Object *elm_pager_add(Evas_Object *parent);
EAPI void elm_pager_content_push(Evas_Object *obj, Evas_Object *content); EAPI void elm_pager_content_push(Evas_Object *obj, Evas_Object *content);
EAPI void elm_pager_content_pop(Evas_Object *obj); EAPI void elm_pager_content_pop(Evas_Object *obj);
@ -1739,7 +1755,7 @@ extern "C" {
EAPI void elm_slideshow_layout_set(Evas_Object *obj, const char *layout); EAPI void elm_slideshow_layout_set(Evas_Object *obj, const char *layout);
EAPI const Eina_List *elm_slideshow_layouts_get(const Evas_Object *obj); EAPI const Eina_List *elm_slideshow_layouts_get(const Evas_Object *obj);
/* file selector */
EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent); EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent);
EAPI void elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save); EAPI void elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save);
EAPI Eina_Bool elm_fileselector_is_save_get(const Evas_Object *obj); EAPI Eina_Bool elm_fileselector_is_save_get(const Evas_Object *obj);
@ -1753,13 +1769,13 @@ extern "C" {
EAPI const char *elm_fileselector_path_get(const Evas_Object *obj); EAPI const char *elm_fileselector_path_get(const Evas_Object *obj);
EAPI const char *elm_fileselector_selected_get(const Evas_Object *obj); EAPI const char *elm_fileselector_selected_get(const Evas_Object *obj);
EAPI Eina_Bool elm_fileselector_selected_set(Evas_Object *obj, const char *path); EAPI Eina_Bool elm_fileselector_selected_set(Evas_Object *obj, const char *path);
/* smart callbacks called: /* smart callbacks called:
* "selected" - the user click on a file * "selected" - the user click on a file
* "directory,open" - the list is populate with a new content. event_info is a directory. * "directory,open" - the list is populate with a new content. event_info is a directory.
* "done" - the user click on the ok or cancel buttons * "done" - the user click on the ok or cancel buttons
*/ */
/* progressbar */
EAPI Evas_Object *elm_progressbar_add(Evas_Object *parent); EAPI Evas_Object *elm_progressbar_add(Evas_Object *parent);
EAPI void elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse); EAPI void elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse);
EAPI Eina_Bool elm_progressbar_pulse_get(const Evas_Object *obj); EAPI Eina_Bool elm_progressbar_pulse_get(const Evas_Object *obj);
@ -1786,12 +1802,14 @@ extern "C" {
* wheel (simple style, no text, no progression, only pulse is available) * wheel (simple style, no text, no progression, only pulse is available)
*/ */
/* separator */
EAPI Evas_Object *elm_separator_add(Evas_Object *parent); EAPI Evas_Object *elm_separator_add(Evas_Object *parent);
EAPI void elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); EAPI void elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
EAPI Eina_Bool elm_separator_horizontal_get(const Evas_Object *obj); EAPI Eina_Bool elm_separator_horizontal_get(const Evas_Object *obj);
/* smart callbacks called: /* smart callbacks called:
*/ */
/* spinner */
EAPI Evas_Object *elm_spinner_add(Evas_Object *parent); EAPI Evas_Object *elm_spinner_add(Evas_Object *parent);
EAPI void elm_spinner_label_format_set(Evas_Object *obj, const char *fmt); EAPI void elm_spinner_label_format_set(Evas_Object *obj, const char *fmt);
EAPI const char *elm_spinner_label_format_get(const Evas_Object *obj); EAPI const char *elm_spinner_label_format_get(const Evas_Object *obj);
@ -1817,7 +1835,9 @@ extern "C" {
* vertical (two up/down buttons at the right side and text left aligned) * vertical (two up/down buttons at the right side and text left aligned)
*/ */
/* index */
typedef struct _Elm_Index_Item Elm_Index_Item; /**< Item of Elm_Index. Sub-type of Elm_Widget_Item */ typedef struct _Elm_Index_Item Elm_Index_Item; /**< Item of Elm_Index. Sub-type of Elm_Widget_Item */
EAPI Evas_Object *elm_index_add(Evas_Object *parent); EAPI Evas_Object *elm_index_add(Evas_Object *parent);
EAPI void elm_index_active_set(Evas_Object *obj, Eina_Bool active); EAPI void elm_index_active_set(Evas_Object *obj, Eina_Bool active);
EAPI void elm_index_item_level_set(Evas_Object *obj, int level); EAPI void elm_index_item_level_set(Evas_Object *obj, int level);
@ -1842,6 +1862,7 @@ extern "C" {
* "selected" - when the user releases heir finger and selects an item * "selected" - when the user releases heir finger and selects an item
*/ */
/* photocam */
typedef enum _Elm_Photocam_Zoom_Mode typedef enum _Elm_Photocam_Zoom_Mode
{ {
ELM_PHOTOCAM_ZOOM_MODE_MANUAL = 0, ELM_PHOTOCAM_ZOOM_MODE_MANUAL = 0,
@ -1849,6 +1870,7 @@ extern "C" {
ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL, ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL,
ELM_PHOTOCAM_ZOOM_MODE_LAST ELM_PHOTOCAM_ZOOM_MODE_LAST
} Elm_Photocam_Zoom_Mode; } Elm_Photocam_Zoom_Mode;
EAPI Evas_Object *elm_photocam_add(Evas_Object *parent); EAPI Evas_Object *elm_photocam_add(Evas_Object *parent);
EAPI Evas_Load_Error elm_photocam_file_set(Evas_Object *obj, const char *file); EAPI Evas_Load_Error elm_photocam_file_set(Evas_Object *obj, const char *file);
EAPI const char * elm_photocam_file_get(const Evas_Object *obj); EAPI const char * elm_photocam_file_get(const Evas_Object *obj);
@ -1865,7 +1887,6 @@ extern "C" {
EAPI Evas_Object *elm_photocam_internal_image_get(const Evas_Object *obj); EAPI Evas_Object *elm_photocam_internal_image_get(const Evas_Object *obj);
EAPI void elm_photocam_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); EAPI void elm_photocam_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
EAPI void elm_photocam_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); EAPI void elm_photocam_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
/* smart callbacks called: /* smart callbacks called:
* "clicked" - when image clicked * "clicked" - when image clicked
* "press" - when mouse/finger held down initially on image * "press" - when mouse/finger held down initially on image
@ -1885,6 +1906,7 @@ extern "C" {
* "scroll,drag,stop" - dragging the contents around has stopped * "scroll,drag,stop" - dragging the contents around has stopped
*/ */
/* map */
typedef enum _Elm_Map_Zoom_Mode typedef enum _Elm_Map_Zoom_Mode
{ {
ELM_MAP_ZOOM_MODE_MANUAL, ELM_MAP_ZOOM_MODE_MANUAL,
@ -1909,15 +1931,15 @@ extern "C" {
ELM_MAP_SOURCE_LAST ELM_MAP_SOURCE_LAST
} Elm_Map_Sources; } Elm_Map_Sources;
typedef struct _Elm_Map_Marker Elm_Map_Marker; typedef struct _Elm_Map_Marker Elm_Map_Marker;
typedef struct _Elm_Map_Marker_Class Elm_Map_Marker_Class; typedef struct _Elm_Map_Marker_Class Elm_Map_Marker_Class;
typedef struct _Elm_Map_Group_Class Elm_Map_Group_Class; typedef struct _Elm_Map_Group_Class Elm_Map_Group_Class;
typedef Evas_Object *(*ElmMapMarkerGetFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data); typedef Evas_Object *(*ElmMapMarkerGetFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data);
typedef void (*ElmMapMarkerDelFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data, Evas_Object *o); typedef void (*ElmMapMarkerDelFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data, Evas_Object *o);
typedef Evas_Object *(*ElmMapMarkerIconGetFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data); typedef Evas_Object *(*ElmMapMarkerIconGetFunc) (Evas_Object *obj, Elm_Map_Marker *marker, void *data);
typedef Evas_Object *(*ElmMapGroupIconGetFunc) (Evas_Object *obj, void *data); typedef Evas_Object *(*ElmMapGroupIconGetFunc) (Evas_Object *obj, void *data);
typedef char *(*ElmMapSourceURLFunc) (int x, int y, int zoom); typedef char *(*ElmMapSourceURLFunc) (int x, int y, int zoom);
EAPI Evas_Object *elm_map_add(Evas_Object *parent); EAPI Evas_Object *elm_map_add(Evas_Object *parent);
EAPI void elm_map_zoom_set(Evas_Object *obj, int zoom); EAPI void elm_map_zoom_set(Evas_Object *obj, int zoom);
EAPI double elm_map_zoom_get(const Evas_Object *obj); EAPI double elm_map_zoom_get(const Evas_Object *obj);
@ -1941,7 +1963,6 @@ extern "C" {
EAPI Evas_Object *elm_map_marker_object_get(const Elm_Map_Marker *marker); EAPI Evas_Object *elm_map_marker_object_get(const Elm_Map_Marker *marker);
EAPI void elm_map_marker_update(Elm_Map_Marker *marker); EAPI void elm_map_marker_update(Elm_Map_Marker *marker);
EAPI void elm_map_bubbles_close(Evas_Object *obj); EAPI void elm_map_bubbles_close(Evas_Object *obj);
EAPI Elm_Map_Group_Class * elm_map_group_class_new(Evas_Object *obj); EAPI Elm_Map_Group_Class * elm_map_group_class_new(Evas_Object *obj);
EAPI void elm_map_group_class_style_set(Elm_Map_Group_Class *clas, const char *style); EAPI void elm_map_group_class_style_set(Elm_Map_Group_Class *clas, const char *style);
EAPI void elm_map_group_class_icon_cb_set(Elm_Map_Group_Class *clas, ElmMapGroupIconGetFunc icon_get); EAPI void elm_map_group_class_icon_cb_set(Elm_Map_Group_Class *clas, ElmMapGroupIconGetFunc icon_get);
@ -1949,17 +1970,14 @@ extern "C" {
EAPI void elm_map_group_class_zoom_displayed_set(Elm_Map_Group_Class *clas, int zoom); EAPI void elm_map_group_class_zoom_displayed_set(Elm_Map_Group_Class *clas, int zoom);
EAPI void elm_map_group_class_zoom_grouped_set(Elm_Map_Group_Class *clas, int zoom); EAPI void elm_map_group_class_zoom_grouped_set(Elm_Map_Group_Class *clas, int zoom);
EAPI void elm_map_group_class_hide_set(Evas_Object *obj, Elm_Map_Group_Class *clas, Eina_Bool hide); EAPI void elm_map_group_class_hide_set(Evas_Object *obj, Elm_Map_Group_Class *clas, Eina_Bool hide);
EAPI Elm_Map_Marker_Class * elm_map_marker_class_new(Evas_Object *obj); EAPI Elm_Map_Marker_Class * elm_map_marker_class_new(Evas_Object *obj);
EAPI void elm_map_marker_class_style_set(Elm_Map_Marker_Class *clas, const char *style); EAPI void elm_map_marker_class_style_set(Elm_Map_Marker_Class *clas, const char *style);
EAPI void elm_map_marker_class_icon_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerIconGetFunc icon_get); EAPI void elm_map_marker_class_icon_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerIconGetFunc icon_get);
EAPI void elm_map_marker_class_get_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerGetFunc get); EAPI void elm_map_marker_class_get_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerGetFunc get);
EAPI void elm_map_marker_class_del_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerDelFunc del); EAPI void elm_map_marker_class_del_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerDelFunc del);
EAPI void elm_map_source_set(Evas_Object *obj, Elm_Map_Sources source); EAPI void elm_map_source_set(Evas_Object *obj, Elm_Map_Sources source);
EAPI Elm_Map_Sources elm_map_source_get(const Evas_Object *obj); EAPI Elm_Map_Sources elm_map_source_get(const Evas_Object *obj);
EAPI void elm_map_source_custom_api_set(Elm_Map_Sources source, const char *label, EAPI void elm_map_source_custom_api_set(Elm_Map_Sources source, const char *label, int zoom_min, int zoom_max, ElmMapSourceURLFunc url_cb);
int zoom_min, int zoom_max, ElmMapSourceURLFunc url_cb);
EAPI int elm_map_source_zoom_min_get(Elm_Map_Sources source); EAPI int elm_map_source_zoom_min_get(Elm_Map_Sources source);
EAPI int elm_map_source_zoom_max_get(Elm_Map_Sources source); EAPI int elm_map_source_zoom_max_get(Elm_Map_Sources source);
EAPI const char *elm_map_source_name_get(Elm_Map_Sources source); EAPI const char *elm_map_source_name_get(Elm_Map_Sources source);
@ -1980,13 +1998,15 @@ extern "C" {
* "scroll,drag,stop" - dragging the contents around has stopped * "scroll,drag,stop" - dragging the contents around has stopped
*/ */
/* panel */
typedef enum _Elm_Panel_Orient typedef enum _Elm_Panel_Orient
{ {
ELM_PANEL_ORIENT_TOP, ELM_PANEL_ORIENT_TOP,
ELM_PANEL_ORIENT_BOTTOM, ELM_PANEL_ORIENT_BOTTOM,
ELM_PANEL_ORIENT_LEFT, ELM_PANEL_ORIENT_LEFT,
ELM_PANEL_ORIENT_RIGHT, ELM_PANEL_ORIENT_RIGHT,
} Elm_Panel_Orient; } Elm_Panel_Orient;
EAPI Evas_Object *elm_panel_add(Evas_Object *parent); EAPI Evas_Object *elm_panel_add(Evas_Object *parent);
EAPI void elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient); EAPI void elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient);
EAPI Elm_Panel_Orient elm_panel_orient_get(const Evas_Object *obj); EAPI Elm_Panel_Orient elm_panel_orient_get(const Evas_Object *obj);
@ -1997,7 +2017,7 @@ extern "C" {
EAPI Eina_Bool elm_panel_hidden_get(const Evas_Object *obj); EAPI Eina_Bool elm_panel_hidden_get(const Evas_Object *obj);
EAPI void elm_panel_toggle(Evas_Object *obj); EAPI void elm_panel_toggle(Evas_Object *obj);
/* panes */
/** /**
* TODO * TODO
* *
@ -2016,16 +2036,17 @@ extern "C" {
EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj); EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj);
/* flip */
typedef enum _Elm_Flip_Mode typedef enum _Elm_Flip_Mode
{ {
ELM_FLIP_ROTATE_Y_CENTER_AXIS, ELM_FLIP_ROTATE_Y_CENTER_AXIS,
ELM_FLIP_ROTATE_X_CENTER_AXIS, ELM_FLIP_ROTATE_X_CENTER_AXIS,
ELM_FLIP_ROTATE_XZ_CENTER_AXIS, ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
ELM_FLIP_ROTATE_YZ_CENTER_AXIS, ELM_FLIP_ROTATE_YZ_CENTER_AXIS,
ELM_FLIP_CUBE_LEFT, ELM_FLIP_CUBE_LEFT,
ELM_FLIP_CUBE_RIGHT, ELM_FLIP_CUBE_RIGHT,
ELM_FLIP_CUBE_UP, ELM_FLIP_CUBE_UP,
ELM_FLIP_CUBE_DOWN ELM_FLIP_CUBE_DOWN
} Elm_Flip_Mode; } Elm_Flip_Mode;
EAPI Evas_Object *elm_flip_add(Evas_Object *parent); EAPI Evas_Object *elm_flip_add(Evas_Object *parent);
@ -2041,7 +2062,8 @@ extern "C" {
/* smart callbacks called: /* smart callbacks called:
* "animate,done" - when a flip animation is finished * "animate,done" - when a flip animation is finished
*/ */
/* scrolledentry */
EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent); EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent);
EAPI void elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line); EAPI void elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
EAPI Eina_Bool elm_scrolled_entry_single_line_get(const Evas_Object *obj); EAPI Eina_Bool elm_scrolled_entry_single_line_get(const Evas_Object *obj);
@ -2100,12 +2122,13 @@ extern "C" {
EAPI void elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave); EAPI void elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave);
EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Object *obj); EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Object *obj);
/* conformant */
EAPI Evas_Object *elm_conformant_add(Evas_Object *parent); EAPI Evas_Object *elm_conformant_add(Evas_Object *parent);
EAPI void elm_conformant_content_set(Evas_Object *obj, Evas_Object *content); EAPI void elm_conformant_content_set(Evas_Object *obj, Evas_Object *content);
EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj); EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj);
EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj); EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj);
/* mapbuf */
EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent); EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent);
EAPI void elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content); EAPI void elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content);
EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj); EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj);
@ -2117,7 +2140,7 @@ extern "C" {
EAPI void elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha); EAPI void elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha);
EAPI Eina_Bool elm_mapbuf_alpha_get(const Evas_Object *obj); EAPI Eina_Bool elm_mapbuf_alpha_get(const Evas_Object *obj);
/* flippicker */
typedef struct _Elm_Flippicker_Item Elm_Flippicker_Item; typedef struct _Elm_Flippicker_Item Elm_Flippicker_Item;
EAPI Evas_Object *elm_flippicker_add(Evas_Object *parent); EAPI Evas_Object *elm_flippicker_add(Evas_Object *parent);
@ -2137,8 +2160,6 @@ extern "C" {
EAPI Elm_Flippicker_Item *elm_flippicker_item_next(Elm_Flippicker_Item *item); EAPI Elm_Flippicker_Item *elm_flippicker_item_next(Elm_Flippicker_Item *item);
EAPI void elm_flippicker_interval_set(Evas_Object *obj, double interval); EAPI void elm_flippicker_interval_set(Evas_Object *obj, double interval);
EAPI double elm_flippicker_interval_get(const Evas_Object *obj); EAPI double elm_flippicker_interval_get(const Evas_Object *obj);
/* smart callbacks called: /* smart callbacks called:
* "selected" - when flippicker selected item is changed * "selected" - when flippicker selected item is changed
* "overflowed" - when flippicker item is changed to first item * "overflowed" - when flippicker item is changed to first item
@ -2146,14 +2167,11 @@ extern "C" {
* "underflowed" - when flippicker item is changed to last item * "underflowed" - when flippicker item is changed to last item
* from first item. * from first item.
*/ */
/* available styles: /* available styles:
* default * default
*/ */
/* animator */ /* animator */
typedef struct _Animator Elm_Animator;
typedef enum typedef enum
{ {
ELM_ANIMATOR_CURVE_LINEAR, ELM_ANIMATOR_CURVE_LINEAR,
@ -2161,12 +2179,25 @@ extern "C" {
ELM_ANIMATOR_CURVE_IN, ELM_ANIMATOR_CURVE_IN,
ELM_ANIMATOR_CURVE_OUT ELM_ANIMATOR_CURVE_OUT
} Elm_Animator_Curve_Style; } Elm_Animator_Curve_Style;
typedef struct _Elm_Animator Elm_Animator;
/**
* Called back per loop of an elementary animators cycle
* @param data user-data given to elm_animator_operation_callback_set()
* @param animator the animator being run
* @param double the position in the animation
*/
typedef void (*Elm_Animator_Operation_Cb) (void *data, Elm_Animator *animator, double frame);
/**
* Called back when an elementary animator finishes
* @param data user-data given to elm_animator_completion_callback_set()
*/
typedef void (*Elm_Animator_Completion_Cb) (void *data);
EAPI Elm_Animator* elm_animator_add(Evas_Object *parent); EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
EAPI void elm_animator_del(Elm_Animator *animator); EAPI void elm_animator_del(Elm_Animator *animator);
EAPI void elm_animator_duration_set(Elm_Animator *animator, double duration); EAPI void elm_animator_duration_set(Elm_Animator *animator, double duration);
EAPI void elm_animator_operation_callback_set(Elm_Animator *animator, void (*func)(void *data, Elm_Animator *animator, double frame), void *data); EAPI void elm_animator_operation_callback_set(Elm_Animator *animator, Elm_Animator_Operation_Cb func, void *data);
EAPI void elm_animator_completion_callback_set(Elm_Animator *animator, void (*func)(void *data), void *data); EAPI void elm_animator_completion_callback_set(Elm_Animator *animator, Elm_Animator_Completion_Cb func, void *data);
EAPI void elm_animator_stop(Elm_Animator *animator); EAPI void elm_animator_stop(Elm_Animator *animator);
EAPI void elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt); EAPI void elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt);
EAPI void elm_animator_animate(Elm_Animator *animator); EAPI void elm_animator_animate(Elm_Animator *animator);
@ -2175,6 +2206,8 @@ extern "C" {
EAPI Eina_Bool elm_animator_auto_reverse_get(const Elm_Animator *animator); EAPI Eina_Bool elm_animator_auto_reverse_get(const Elm_Animator *animator);
EAPI Eina_Bool elm_animator_operating_get(const Elm_Animator *animator); EAPI Eina_Bool elm_animator_operating_get(const Elm_Animator *animator);
EAPI unsigned int elm_animator_repeat_get(const Elm_Animator *animator); EAPI unsigned int elm_animator_repeat_get(const Elm_Animator *animator);
EAPI void elm_animator_pause(Elm_Animator *animator);
EAPI void elm_animator_resume(Elm_Animator *animator);
/* calendar */ /* calendar */
typedef enum typedef enum
@ -2259,7 +2292,7 @@ extern "C" {
* "changed" - when the color value changes * "changed" - when the color value changes
*/ */
/* Hoverlist */ /* hoverlist */
typedef struct _Elm_Hoverlist_Item Elm_Hoverlist_Item; typedef struct _Elm_Hoverlist_Item Elm_Hoverlist_Item;
EAPI Evas_Object *elm_hoverlist_add(Evas_Object* parent); EAPI Evas_Object *elm_hoverlist_add(Evas_Object* parent);
@ -2281,13 +2314,32 @@ extern "C" {
* "dismissed" - the hoverlist was dismissed * "dismissed" - the hoverlist was dismissed
*/ */
/* debug
* don't use it unless you are sure
*/
EAPI void elm_object_tree_dump(const Evas_Object *top);
EAPI void elm_object_tree_dot_dump(const Evas_Object *top, const char *file);
/* transit */ /* transit */
typedef enum
{
ELM_TRANSIT_CURVE_LINEAR,
ELM_TRANSIT_CURVE_IN_OUT,
ELM_TRANSIT_CURVE_IN,
ELM_TRANSIT_CURVE_OUT
} Elm_Transit_Curve_Style;
typedef enum
{
ELM_FX_FLIP_AXIS_X,
ELM_FX_FLIP_AXIS_Y
} Elm_Fx_Flip_Axis;
typedef enum
{
ELM_FX_WIPE_DIR_LEFT,
ELM_FX_WIPE_DIR_RIGHT,
ELM_FX_WIPE_DIR_UP,
ELM_FX_WIPE_DIR_DOWN
} Elm_Fx_Wipe_Dir;
typedef enum
{
ELM_FX_WIPE_TYPE_HIDE,
ELM_FX_WIPE_TYPE_SHOW
} Elm_Fx_Wipe_Type;
typedef struct _Elm_Transit Elm_Transit; typedef struct _Elm_Transit Elm_Transit;
EAPI Elm_Transit *elm_transit_add(double duration); EAPI Elm_Transit *elm_transit_add(double duration);
@ -2299,13 +2351,6 @@ extern "C" {
EAPI void elm_transit_repeat_times_set(Elm_Transit *transit, unsigned int repeat); EAPI void elm_transit_repeat_times_set(Elm_Transit *transit, unsigned int repeat);
EAPI void elm_transit_auto_reverse_set(Elm_Transit *transit, Eina_Bool reverse); EAPI void elm_transit_auto_reverse_set(Elm_Transit *transit, Eina_Bool reverse);
typedef enum
{
ELM_TRANSIT_CURVE_LINEAR,
ELM_TRANSIT_CURVE_IN_OUT,
ELM_TRANSIT_CURVE_IN,
ELM_TRANSIT_CURVE_OUT
} Elm_Transit_Curve_Style;
EAPI void elm_transit_curve_style_set(Elm_Transit *transit, Elm_Transit_Curve_Style cs); EAPI void elm_transit_curve_style_set(Elm_Transit *transit, Elm_Transit_Curve_Style cs);
EAPI void elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled); EAPI void elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled);
EAPI Eina_Bool elm_transit_event_block_get(const Elm_Transit *transit); EAPI Eina_Bool elm_transit_event_block_get(const Elm_Transit *transit);
@ -2325,11 +2370,6 @@ extern "C" {
EAPI void elm_transit_effect_zoom_op(void *data, Elm_Transit *transit, double progress); EAPI void elm_transit_effect_zoom_op(void *data, Elm_Transit *transit, double progress);
EAPI void elm_transit_effect_zoom_context_free(void *data, Elm_Transit *transit); EAPI void elm_transit_effect_zoom_context_free(void *data, Elm_Transit *transit);
typedef enum
{
ELM_FX_FLIP_AXIS_X,
ELM_FX_FLIP_AXIS_Y
} Elm_Fx_Flip_Axis;
EAPI void *elm_transit_effect_flip_context_new(Elm_Fx_Flip_Axis axis, Eina_Bool cw); EAPI void *elm_transit_effect_flip_context_new(Elm_Fx_Flip_Axis axis, Eina_Bool cw);
EAPI void elm_transit_effect_flip_op(void *data, Elm_Transit *transit, double progress); EAPI void elm_transit_effect_flip_op(void *data, Elm_Transit *transit, double progress);
EAPI void elm_transit_effect_flip_context_free(void *data, Elm_Transit *transit); EAPI void elm_transit_effect_flip_context_free(void *data, Elm_Transit *transit);
@ -2338,18 +2378,6 @@ extern "C" {
EAPI void elm_transit_effect_resizable_flip_op(void *data, Elm_Transit *transit, double progress); EAPI void elm_transit_effect_resizable_flip_op(void *data, Elm_Transit *transit, double progress);
EAPI void elm_transit_effect_resizable_flip_context_free(void *data, Elm_Transit *transit); EAPI void elm_transit_effect_resizable_flip_context_free(void *data, Elm_Transit *transit);
typedef enum
{
ELM_FX_WIPE_DIR_LEFT,
ELM_FX_WIPE_DIR_RIGHT,
ELM_FX_WIPE_DIR_UP,
ELM_FX_WIPE_DIR_DOWN
} Elm_Fx_Wipe_Dir;
typedef enum
{
ELM_FX_WIPE_TYPE_HIDE,
ELM_FX_WIPE_TYPE_SHOW
} Elm_Fx_Wipe_Type;
EAPI void *elm_transit_effect_wipe_context_new(Elm_Fx_Wipe_Type type, Elm_Fx_Wipe_Dir dir); EAPI void *elm_transit_effect_wipe_context_new(Elm_Fx_Wipe_Type type, Elm_Fx_Wipe_Dir dir);
EAPI void elm_transit_effect_wipe_op(void *data, Elm_Transit *transit, double progress); EAPI void elm_transit_effect_wipe_op(void *data, Elm_Transit *transit, double progress);
EAPI void elm_transit_effect_wipe_context_free(void *data, Elm_Transit *transit); EAPI void elm_transit_effect_wipe_context_free(void *data, Elm_Transit *transit);

View File

@ -7,9 +7,11 @@
* *
* Support normalized frame value for animation. * Support normalized frame value for animation.
*/ */
#define MAGIC_OBJ_ANIMATOR 0x40777770
struct _Animator struct _Elm_Animator
{ {
int magic;
Evas_Object *parent; Evas_Object *parent;
Ecore_Animator *animator; Ecore_Animator *animator;
double begin_time; double begin_time;
@ -34,7 +36,7 @@ static unsigned int _animator_compute_reverse_repeat_count(unsigned int cnt);
static unsigned int _animator_compute_no_reverse_repeat_count(unsigned int cnt); static unsigned int _animator_compute_no_reverse_repeat_count(unsigned int cnt);
static Eina_Bool _animator_animate_cb(void *data); static Eina_Bool _animator_animate_cb(void *data);
static void _delete_animator(Elm_Animator *animator); static void _delete_animator(Elm_Animator *animator);
static void _animator_parent_del(void *data, Evas *evas, Evas_Object *obj, void *event); static void _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__);
static unsigned int static unsigned int
_animator_compute_reverse_repeat_count(unsigned int cnt) _animator_compute_reverse_repeat_count(unsigned int cnt)
@ -57,60 +59,50 @@ _animator_curve_linear(double frame)
static double static double
_animator_curve_in_out(double frame) _animator_curve_in_out(double frame)
{ {
if (frame < 0.5) if (frame < 0.5) return _animator_curve_in(frame * 2) * 0.5;
return _animator_curve_out(frame * 2) * 0.5; else return (_animator_curve_out(frame * 2 - 1) * 0.5) + 0.5;
else
return (_animator_curve_in(frame * 2 - 1) * 0.5) + 0.5;
} }
static double static double
_animator_curve_in(double frame) _animator_curve_in(double frame)
{ {
return sqrt(1 - pow(frame - 1, 2)); return 1 - sqrt(1 - pow(frame, 2));
} }
static double static double
_animator_curve_out(double frame) _animator_curve_out(double frame)
{ {
return 1 - sqrt(1 - pow(frame, 2)); return sqrt(1 - pow(frame - 1, 2));
} }
static void static void
_delete_animator(Elm_Animator *animator) _delete_animator(Elm_Animator *animator)
{ {
if (animator->animator) if (!animator->animator) return;
{ ecore_animator_del(animator->animator);
ecore_animator_del(animator->animator); animator->animator = NULL;
animator->animator = NULL;
}
} }
static Eina_Bool static Eina_Bool
_animator_animate_cb(void *data) _animator_animate_cb(void *data)
{ {
double elapsed_time, frame;
Elm_Animator *animator = (Elm_Animator *) data; Elm_Animator *animator = (Elm_Animator *) data;
animator->cur_time = ecore_loop_time_get(); animator->cur_time = ecore_loop_time_get();
double elapsed_time = animator->cur_time - animator->begin_time; elapsed_time = animator->cur_time - animator->begin_time;
if (elapsed_time > animator->duration) elapsed_time = animator->duration;
if (elapsed_time > animator->duration) frame = animator->curve_op(elapsed_time / animator->duration);
elapsed_time = animator->duration;
double frame = animator->curve_op(elapsed_time / animator->duration);
//Reverse? //Reverse?
if (animator->auto_reverse) if (animator->auto_reverse)
{ {
if (!(animator->cur_repeat_cnt % 2)) if (!(animator->cur_repeat_cnt % 2)) frame = 1 - frame;
frame = 1 - frame;
} }
if (animator->duration > 0) if (animator->duration > 0)
animator->animator_op(animator->animator_arg, animator, frame); animator->animator_op(animator->animator_arg, animator, frame);
//Not end. Keep going. //Not end. Keep going.
if (elapsed_time < animator->duration) if (elapsed_time < animator->duration) return ECORE_CALLBACK_RENEW;
return ECORE_CALLBACK_RENEW;
//Repeat and reverse and time done! //Repeat and reverse and time done!
if (!animator->cur_repeat_cnt) if (!animator->cur_repeat_cnt)
@ -118,19 +110,20 @@ _animator_animate_cb(void *data)
animator->on_animating = EINA_FALSE; animator->on_animating = EINA_FALSE;
_delete_animator(animator); _delete_animator(animator);
if (animator->completion_op) if (animator->completion_op)
animator->completion_op(animator->completion_arg); animator->completion_op(animator->completion_arg);
return ECORE_CALLBACK_CANCEL; return ECORE_CALLBACK_CANCEL;
} }
//Repeat Case //Repeat Case
--animator->cur_repeat_cnt; animator->cur_repeat_cnt--;
animator->begin_time = ecore_loop_time_get(); animator->begin_time = ecore_loop_time_get();
return ECORE_CALLBACK_RENEW; return ECORE_CALLBACK_RENEW;
} }
static void static void
_animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) _animator_parent_del(void *data, Evas *evas __UNUSED__,
Evas_Object *obj __UNUSED__, void *event __UNUSED__)
{ {
elm_animator_del(data); elm_animator_del(data);
} }
@ -138,7 +131,7 @@ _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
/** /**
* Get the value of reverse mode. * Get the value of reverse mode.
* *
* @param animator Animator object * @param[in] animator Animator object
* @return EINA_TRUE is reverse mode * @return EINA_TRUE is reverse mode
* *
* @ingroup Animator * @ingroup Animator
@ -146,14 +139,14 @@ _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
EAPI Eina_Bool EAPI Eina_Bool
elm_animator_auto_reverse_get(const Elm_Animator *animator) elm_animator_auto_reverse_get(const Elm_Animator *animator)
{ {
if (!animator) return EINA_FALSE; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return EINA_FALSE;
return animator->auto_reverse; return animator->auto_reverse;
} }
/** /**
* Get the value of repeat count. * Get the value of repeat count.
* *
* @param animator Animator object * @param[in] animator Animator object
* @return Repeat count * @return Repeat count
* *
* @ingroup Animator * @ingroup Animator
@ -161,63 +154,60 @@ elm_animator_auto_reverse_get(const Elm_Animator *animator)
EAPI unsigned int EAPI unsigned int
elm_animator_repeat_get(const Elm_Animator *animator) elm_animator_repeat_get(const Elm_Animator *animator)
{ {
if (!animator) return EINA_FALSE; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return 0;
return animator->repeat_cnt; return animator->repeat_cnt;
} }
/** /**
* Set auto reverse function. * Set auto reverse function.
* *
* @param animator Animator object * @param[in] animator Animator object
* @param reverse Reverse or not * @param[in] reverse Reverse or not
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse) elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (animator->auto_reverse == reverse) return; if (animator->auto_reverse == reverse) return;
animator->auto_reverse = reverse; animator->auto_reverse = reverse;
if (reverse) if (reverse)
{ animator->repeat_cnt =
animator->repeat_cnt = _animator_compute_reverse_repeat_count(animator->repeat_cnt);
_animator_compute_reverse_repeat_count(animator->repeat_cnt); else
} animator->repeat_cnt =
else _animator_compute_no_reverse_repeat_count(animator->repeat_cnt);
{
animator->repeat_cnt =
_animator_compute_no_reverse_repeat_count(animator->repeat_cnt);
}
} }
/** /**
* Set the animation acceleration style. * Set the animation acceleration style.
* *
* @param animator Animator object * @param[in] animator Animator object
* @param cs Curve style. Default is ELM_ANIMATOR_CURVE_LINEAR * @param[in] cs Curve style. Default is ELM_ANIMATOR_CURVE_LINEAR
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs) elm_animator_curve_style_set(Elm_Animator *animator,
Elm_Animator_Curve_Style cs)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
switch (cs) switch (cs)
{ {
case ELM_ANIMATOR_CURVE_LINEAR: case ELM_ANIMATOR_CURVE_LINEAR:
animator->curve_op = _animator_curve_linear; animator->curve_op = _animator_curve_linear;
break; break;
case ELM_ANIMATOR_CURVE_IN_OUT: case ELM_ANIMATOR_CURVE_IN_OUT:
animator->curve_op = _animator_curve_in_out; animator->curve_op = _animator_curve_in_out;
break; break;
case ELM_ANIMATOR_CURVE_IN: case ELM_ANIMATOR_CURVE_IN:
animator->curve_op = _animator_curve_in; animator->curve_op = _animator_curve_in;
break; break;
case ELM_ANIMATOR_CURVE_OUT: case ELM_ANIMATOR_CURVE_OUT:
animator->curve_op = _animator_curve_out; animator->curve_op = _animator_curve_out;
break; break;
default: default:
animator->curve_op = _animator_curve_linear; animator->curve_op = _animator_curve_linear;
break; break;
} }
@ -226,15 +216,15 @@ elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs
/** /**
* Set the operation duration. * Set the operation duration.
* *
* @param animator Animator object * @param[in] animator Animator object
* @param duration Duration in second * @param[in] duration Duration in second
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_duration_set(Elm_Animator *animator, double duration) elm_animator_duration_set(Elm_Animator *animator, double duration)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (animator->on_animating) return; if (animator->on_animating) return;
animator->duration = duration; animator->duration = duration;
} }
@ -243,19 +233,18 @@ elm_animator_duration_set(Elm_Animator *animator, double duration)
* Set the callback function for animator operation. * Set the callback function for animator operation.
* The range of callback function frame data is to 0 ~ 1 * The range of callback function frame data is to 0 ~ 1
* User can refer this frame value for one's animation frame data. * User can refer this frame value for one's animation frame data.
* @param animator Animator object * @param[in] animator Animator object
* @param op Callback function pointer * @param[in] func Callback function pointer
* @param data Callback function user argument * @param[in] data Callback function user argument
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_operation_callback_set(Elm_Animator *animator, elm_animator_operation_callback_set(Elm_Animator *animator,
void (*func) (void *data, Elm_Animator_Operation_Cb func,
Elm_Animator *animator, void *data)
double frame), void *data)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (animator->on_animating) return; if (animator->on_animating) return;
animator->animator_op = func; animator->animator_op = func;
animator->animator_arg = data; animator->animator_arg = data;
@ -264,7 +253,7 @@ elm_animator_operation_callback_set(Elm_Animator *animator,
/** /**
* Add new animator. * Add new animator.
* *
* @param parent Parent object * @param[in] parent Parent object
* @return animator object * @return animator object
* *
* @ingroup Animator * @ingroup Animator
@ -272,17 +261,15 @@ elm_animator_operation_callback_set(Elm_Animator *animator,
EAPI Elm_Animator * EAPI Elm_Animator *
elm_animator_add(Evas_Object *parent) elm_animator_add(Evas_Object *parent)
{ {
Elm_Animator *animator = calloc(1, sizeof(Elm_Animator)); Elm_Animator *animator = ELM_NEW(Elm_Animator);
if (!animator) return NULL; if (!animator) return NULL;
animator->parent = parent;
animator->magic = MAGIC_OBJ_ANIMATOR;
elm_animator_auto_reverse_set(animator, EINA_FALSE); elm_animator_auto_reverse_set(animator, EINA_FALSE);
elm_animator_curve_style_set(animator, ELM_ANIMATOR_CURVE_LINEAR); elm_animator_curve_style_set(animator, ELM_ANIMATOR_CURVE_LINEAR);
if (parent) if (parent)
evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL, evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL,
_animator_parent_del, animator); _animator_parent_del, animator);
animator->parent = parent;
return animator; return animator;
} }
@ -290,7 +277,7 @@ elm_animator_add(Evas_Object *parent)
/** /**
* Get the status for the animator operation. * Get the status for the animator operation.
* *
* @param animator Animator object * @param[in] animator Animator object
* @return EINA_TRUE is animator is operating. * @return EINA_TRUE is animator is operating.
* *
* @ingroup Animator * @ingroup Animator
@ -298,59 +285,91 @@ elm_animator_add(Evas_Object *parent)
EAPI Eina_Bool EAPI Eina_Bool
elm_animator_operating_get(const Elm_Animator *animator) elm_animator_operating_get(const Elm_Animator *animator)
{ {
if (!animator) return EINA_FALSE; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return EINA_FALSE;
return animator->on_animating; return animator->on_animating;
} }
/** /**
* Delete animator. * Delete animator.
* *
* @param animator Animator object * @param[in] animator Animator object
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_del(Elm_Animator *animator) elm_animator_del(Elm_Animator *animator)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
_delete_animator(animator); _delete_animator(animator);
if (animator->parent)
evas_object_event_callback_del(animator->parent, EVAS_CALLBACK_DEL,
_animator_parent_del);
if(animator->parent) memset(animator, 0x0, sizeof(Elm_Animator));
evas_object_event_callback_del(animator->parent, EVAS_CALLBACK_DEL,
_animator_parent_del);
free(animator); free(animator);
} }
/** /**
* Set the callback function for the animator end. * Set the callback function for the animator end.
* *
* @param animator Animator object * @param[in] animator Animator object
* @param op Callback function pointer * @param[in] func Callback function pointer
* @param data Callback function user argument * @param[in] data Callback function user argument
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_completion_callback_set(Elm_Animator *animator, elm_animator_completion_callback_set(Elm_Animator *animator,
void (*func) (void *data), void *data) Elm_Animator_Completion_Cb func,
void *data)
{ {
if (!animator) return; if (!animator || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (animator->on_animating) return; if (animator->on_animating) return;
animator->completion_op = func; animator->completion_op = func;
animator->completion_arg = data; animator->completion_arg = data;
} }
/**
* Pause the animator.
*
* @param[in] animator Animator object
*
* @ingroup Animator
*/
EAPI void
elm_animator_pause(Elm_Animator *animator)
{
if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (!animator->on_animating) return;
ecore_animator_freeze(animator->animator);
}
/**
* Resume the animator.
*
* @param[in] animator Animator object
*
* @ingroup Animator
*/
EAPI void
elm_animator_resume(Elm_Animator *animator)
{
if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (!animator->on_animating) return;
ecore_animator_thaw(animator->animator);
}
/** /**
* Stop animator. * Stop animator.
* *
* @param animator Animator object * @param[in] animator Animator object
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_stop(Elm_Animator *animator) elm_animator_stop(Elm_Animator *animator)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
animator->on_animating = EINA_FALSE; animator->on_animating = EINA_FALSE;
_delete_animator(animator); _delete_animator(animator);
} }
@ -358,41 +377,35 @@ elm_animator_stop(Elm_Animator *animator)
/** /**
* Set the animator repeat count. * Set the animator repeat count.
* *
* @param animator Animator object * @param[in] animator Animator object
* @param repeat_cnt Repeat count * @param[in] repeat_cnt Repeat count
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt) elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (!animator->auto_reverse) if (!animator->auto_reverse) animator->repeat_cnt = repeat_cnt;
animator->repeat_cnt = repeat_cnt; else
else animator->repeat_cnt = _animator_compute_reverse_repeat_count(repeat_cnt);
{
animator->repeat_cnt =
_animator_compute_reverse_repeat_count(repeat_cnt);
}
} }
/** /**
* Animate now. * Animate now.
* *
* @param animator Animator object * @param[in] animator Animator object
* *
* @ingroup Animator * @ingroup Animator
*/ */
EAPI void EAPI void
elm_animator_animate(Elm_Animator *animator) elm_animator_animate(Elm_Animator *animator)
{ {
if (!animator) return; if ((!animator) || (animator->magic != MAGIC_OBJ_ANIMATOR)) return;
if (!animator->animator_op) return; if (!animator->animator_op) return;
animator->begin_time = ecore_loop_time_get(); animator->begin_time = ecore_loop_time_get();
animator->on_animating = EINA_TRUE;
animator->cur_repeat_cnt = animator->repeat_cnt; animator->cur_repeat_cnt = animator->repeat_cnt;
if (!animator->animator)
animator->animator = ecore_animator_add(_animator_animate_cb, animator);
if (!animator->animator) if (!animator->animator)
animator->on_animating = EINA_FALSE; animator->animator = ecore_animator_add(_animator_animate_cb, animator);
if (animator->animator) animator->on_animating = EINA_TRUE;
} }