29 lines
892 B
C
29 lines
892 B
C
#ifndef EFL_UI_WIDGET_POPUP_H
|
|
#define EFL_UI_WIDGET_POPUP_H
|
|
|
|
typedef struct _Efl_Ui_Popup_Data Efl_Ui_Popup_Data;
|
|
struct _Efl_Ui_Popup_Data
|
|
{
|
|
Eo *win_parent;
|
|
Eo *backwall;
|
|
Efl_Ui_Popup_Align align;
|
|
Eo *anchor;
|
|
Efl_Ui_Popup_Align priority[5];
|
|
Efl_Ui_Popup_Align used_align;
|
|
Ecore_Timer *timer;
|
|
double timeout;
|
|
Eina_Bool in_calc : 1;
|
|
};
|
|
|
|
#define EFL_UI_POPUP_DATA_GET_OR_RETURN(o, ptr, ...) \
|
|
Efl_Ui_Popup_Data *ptr; \
|
|
ptr = efl_data_scope_get(o, EFL_UI_POPUP_CLASS); \
|
|
if (EINA_UNLIKELY(!ptr)) \
|
|
{ \
|
|
CRI("no ui popup data for object %p (%s)", \
|
|
o, evas_object_type_get(o)); \
|
|
return __VA_ARGS__; \
|
|
}
|
|
|
|
#endif
|