bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8331ea048cfafd7afc007456d7b38209e862c3b0

commit 8331ea048cfafd7afc007456d7b38209e862c3b0
Author: Cedric BAIL <cedric.b...@free.fr>
Date:   Fri Nov 15 11:19:28 2019 -0800

    elementary: improve data layout for Efl.Ui.PositionManager*.
    
    Reviewed-by: SangHyeon Jade Lee <sh10233....@samsung.com>
    Reviewed-by: Marcel Hollerbach <m...@marcel-hollerbach.de>
    Differential Revision: https://phab.enlightenment.org/D10688
---
 src/lib/elementary/efl_ui_position_manager_grid.c | 31 +++++++++++++----------
 src/lib/elementary/efl_ui_position_manager_list.c | 19 +++++++++-----
 2 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/src/lib/elementary/efl_ui_position_manager_grid.c 
b/src/lib/elementary/efl_ui_position_manager_grid.c
index 949cd66e26..2cec569d44 100644
--- a/src/lib/elementary/efl_ui_position_manager_grid.c
+++ b/src/lib/elementary/efl_ui_position_manager_grid.c
@@ -13,32 +13,37 @@
   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
diff --git a/src/lib/elementary/efl_ui_position_manager_list.c 
b/src/lib/elementary/efl_ui_position_manager_list.c
index bd9dd95a08..3980e127ef 100644
--- a/src/lib/elementary/efl_ui_position_manager_list.c
+++ b/src/lib/elementary/efl_ui_position_manager_list.c
@@ -14,20 +14,25 @@
   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;
 
 /*

-- 


Reply via email to