elementary: improve data layout for Efl.Ui.PositionManager*. 72/219972/2
authorCedric BAIL <cedric.bail@free.fr>
Fri, 15 Nov 2019 19:19:28 +0000 (11:19 -0800)
committerkim hosang <hosang12.kim@samsung.com>
Thu, 12 Dec 2019 05:43:14 +0000 (05:43 +0000)
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10688

Change-Id: Id8b68e610f0cb92cb5f0b37ef543c23bbc088278

src/lib/elementary/efl_ui_position_manager_grid.c
src/lib/elementary/efl_ui_position_manager_list.c
src/lib/elementary/efl_wearable_position_manager_circle_list.c

index 949cd66..2cec569 100644 (file)
   Efl_Ui_Position_Manager_Grid_Data *pd = efl_data_scope_get(obj, MY_CLASS);
 
 typedef struct {
-   unsigned int size;
-   unsigned int groups;
+   Api_Callbacks callbacks;
+
+   Eina_Inarray *group_cache;
+   int *size_cache;
+   Eo *last_group;
+   Eina_Future *rebuild_absolut_size;
+   Efl_Ui_Win *window;
+   Evas *canvas;
+
+   Vis_Segment prev_run;
+
    Eina_Rect viewport;
    Eina_Vector2 scroll_position;
-   Efl_Ui_Layout_Orientation dir;
-   Vis_Segment prev_run;
-   unsigned int prev_consumed_space;
    Eina_Size2D max_min_size;
    Eina_Size2D last_viewport_size;
    Eina_Size2D prev_min_size;
 
-   Eina_Inarray *group_cache;
+   Efl_Ui_Layout_Orientation dir;
+
+   unsigned int size;
+   unsigned int groups;
+   unsigned int prev_consumed_space;
+
    Eina_Bool group_cache_dirty;
-   int *size_cache;
    Eina_Bool size_cache_dirty;
-   Eo *last_group;
-   Eina_Future *rebuild_absolut_size;
-   Efl_Ui_Win *window;
-   Evas *canvas;
-   Api_Callbacks callbacks;
 } Efl_Ui_Position_Manager_Grid_Data;
 
 typedef struct {
-   Eina_Bool real_group;
    Eina_Size2D group_header_size;
    int items;
+   Eina_Bool real_group;
 } Group_Cache_Line;
 
 static inline void
index bd9dd95..3980e12 100644 (file)
   Efl_Ui_Position_Manager_List_Data *pd = efl_data_scope_get(obj, MY_CLASS);
 
 typedef struct {
-   unsigned int size;
+   Api_Callbacks callbacks;
+
    Eina_Future *rebuild_absolut_size;
+   int *size_cache;
+   Efl_Gfx_Entity *last_group;
+   Efl_Ui_Win *window;
+   Evas *canvas;
+
+   Vis_Segment prev_run;
+
    Eina_Rect viewport;
    Eina_Size2D abs_size;
    Eina_Vector2 scroll_position;
+
    Efl_Ui_Layout_Orientation dir;
-   int *size_cache;
+
+   unsigned int size;
    int average_item_size;
    int maximum_min_size;
-   Vis_Segment prev_run;
-   Efl_Gfx_Entity *last_group;
-   Efl_Ui_Win *window;
-   Evas *canvas;
-   Api_Callbacks callbacks;
 } Efl_Ui_Position_Manager_List_Data;
 
 /*
index 477ce15..3015088 100644 (file)
   Efl_Wearable_Position_Manager_Circle_List_Data *pd = efl_data_scope_get(obj, MY_CLASS);
 
 typedef struct {
-   unsigned int size;
+   Api_Callbacks callbacks;
+
    Eina_Future *rebuild_absolut_size;
+   int *size_cache;
+   Efl_Gfx_Entity *last_group;
+   Efl_Ui_Win *window;
+   Evas *canvas;
+
+   Vis_Segment prev_run;
+
    Eina_Rect viewport;
    Eina_Size2D abs_size;
    Eina_Vector2 scroll_position;
+
    Efl_Ui_Layout_Orientation dir;
-   int *size_cache;
+
+   unsigned int size;
    int average_item_size;
    int maximum_min_size;
-   Vis_Segment prev_run;
-   Efl_Gfx_Entity *last_group;
-   Efl_Ui_Win *window;
-   Evas *canvas;
-   Api_Callbacks callbacks;
 } Efl_Wearable_Position_Manager_Circle_List_Data;
 
 /*