4 #include <Elementary.h>
5 #include <Elementary_Cursor.h>
8 #define ELM_GEN_ITEM_FROM_INLIST(it) \
9 ((it) ? EINA_INLIST_CONTAINER_GET(it, Elm_Gen_Item) : NULL)
11 #define SWIPE_MOVES 12
13 /* common item handles for genlist/gengrid */
15 typedef struct Elm_Gen_Item_Type Elm_Gen_Item_Type;
16 typedef struct Elm_Gen_Item_Tooltip Elm_Gen_Item_Tooltip;
18 struct Elm_Gen_Item_Tooltip
21 Elm_Tooltip_Item_Content_Cb content_cb;
24 Eina_Bool free_size : 1;
32 Elm_Gen_Item_Type *item;
33 const Elm_Gen_Item_Class *itc;
34 Evas_Coord x, y, dx, dy;
35 Evas_Object *spacer, *deco_all_view;
37 Eina_List *texts, *contents, *states, *content_objs;
38 Ecore_Timer *long_timer;
41 int generation; /**< a generation of an item. when the item is created, this value is set to the value of genlist generation. this value will be decreased when the item is going to be deleted */
42 const char *mouse_cursor;
50 Elm_Gen_Item_Tooltip tooltip;
51 Ecore_Cb del_cb, unrealize_cb;
52 Ecore_Cb sel_cb, unsel_cb;
53 Ecore_Cb highlight_cb, unhighlight_cb;
56 Elm_Object_Select_Mode select_mode;
58 Eina_Bool position_update : 1;
59 Eina_Bool want_unrealize : 1;
60 Eina_Bool realized : 1;
61 Eina_Bool selected : 1;
62 Eina_Bool highlighted : 1;
63 Eina_Bool dragging : 1; /**< this is set true when an item is being dragged. this is set false on multidown/mouseup/mousedown. when this is true, the item should not be unrealized. or evas mouse down/up event will be corrupted. */
66 Eina_Bool reorder : 1;
67 Eina_Bool decorate_it_set : 1; /**< item uses style mode for highlight/select */
68 Eina_Bool flipped : 1; /**< a flag that shows the flip status of the item. */
73 ELM_GEN_ITEM_FX_TYPE_SAME,
74 ELM_GEN_ITEM_FX_TYPE_ADD,
75 ELM_GEN_ITEM_FX_TYPE_DEL,
76 } Elm_Gen_Item_Fx_Type;
78 typedef struct _Proxy_Item Proxy_Item;
84 Evas_Coord x, y, w, h;
87 typedef struct _Elm_Gen_FX_Item Elm_Gen_FX_Item;
88 struct _Elm_Gen_FX_Item
93 Elm_Gen_Item_Fx_Type type;
98 Evas_Coord x, y, w, h;
103 Evas_Coord x, y, w, h;
106 Eina_Bool update : 1;
107 Eina_Bool changed : 1;
112 ELM_GEN_PINCH_ZOOM_NONE = 0,
113 ELM_GEN_PINCH_ZOOM_CONTRACT = 1,
114 ELM_GEN_PINCH_ZOOM_EXPAND = 2
115 } Elm_Gen_Pinch_Zoom_Mode;