- struct _Elm_Gengrid_Item
-{
- ELM_WIDGET_ITEM;
- EINA_INLIST;
- Evas_Object *spacer;
- const Elm_Gengrid_Item_Class *gic;
- Ecore_Timer *long_timer;
- Ecore_Animator *item_moving_effect_timer;
- Widget_Data *wd;
- Eina_List *labels, *icons, *states, *icon_objs;
- struct
- {
- Evas_Smart_Cb func;
- const void *data;
- } func;
-
- Evas_Coord x, y, dx, dy, ox, oy, tx, ty, rx, ry;
- unsigned int moving_effect_start_time;
- int relcount;
- int walking;
-
- struct
- {
- const void *data;
- Elm_Tooltip_Item_Content_Cb content_cb;
- Evas_Smart_Cb del_cb;
- const char *style;
- } tooltip;
-
- const char *mouse_cursor;
-
- Eina_Bool want_unrealize : 1;
- Eina_Bool realized : 1;
- Eina_Bool dragging : 1;
- Eina_Bool down : 1;
- Eina_Bool delete_me : 1;
- Eina_Bool display_only : 1;
- Eina_Bool disabled : 1;
- Eina_Bool selected : 1;
- Eina_Bool hilighted : 1;
- Eina_Bool moving : 1;
-};
-
-struct _Widget_Data
-{
- Evas_Object *self, *scr;
- Evas_Object *pan_smart;
- Pan *pan;
- Eina_Inlist *items;
- Ecore_Job *calc_job;
- Eina_List *selected;
- Elm_Gengrid_Item *last_selected_item, *reorder_item;
- double align_x, align_y;
-
- Evas_Coord pan_x, pan_y, old_pan_x, old_pan_y;
- Evas_Coord item_width, item_height; /* Each item size */
- Evas_Coord minw, minh; /* Total obj size */
- Evas_Coord reorder_item_x, reorder_item_y;
- unsigned int nmax;
- long count;
- int walking;
-
- Eina_Bool horizontal : 1;
- Eina_Bool on_hold : 1;
- Eina_Bool longpressed : 1;
- Eina_Bool multi : 1;
- Eina_Bool no_select : 1;
- Eina_Bool wasselected : 1;
- Eina_Bool always_select : 1;
- Eina_Bool clear_me : 1;
- Eina_Bool h_bounce : 1;
- Eina_Bool v_bounce : 1;
- Eina_Bool reorder_mode : 1;
- Eina_Bool reorder_item_changed : 1;
- Eina_Bool move_effect_enabled : 1;
-};