forked from enlightenment/efl
elementary: improve data layout for Efl.Ui.PositionManager*.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com> Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10688
This commit is contained in:
parent
2b324779c9
commit
8331ea048c
|
@ -13,32 +13,37 @@
|
||||||
Efl_Ui_Position_Manager_Grid_Data *pd = efl_data_scope_get(obj, MY_CLASS);
|
Efl_Ui_Position_Manager_Grid_Data *pd = efl_data_scope_get(obj, MY_CLASS);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned int size;
|
Api_Callbacks callbacks;
|
||||||
unsigned int groups;
|
|
||||||
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;
|
Eina_Inarray *group_cache;
|
||||||
Eina_Bool group_cache_dirty;
|
|
||||||
int *size_cache;
|
int *size_cache;
|
||||||
Eina_Bool size_cache_dirty;
|
|
||||||
Eo *last_group;
|
Eo *last_group;
|
||||||
Eina_Future *rebuild_absolut_size;
|
Eina_Future *rebuild_absolut_size;
|
||||||
Efl_Ui_Win *window;
|
Efl_Ui_Win *window;
|
||||||
Evas *canvas;
|
Evas *canvas;
|
||||||
Api_Callbacks callbacks;
|
|
||||||
|
Vis_Segment prev_run;
|
||||||
|
|
||||||
|
Eina_Rect viewport;
|
||||||
|
Eina_Vector2 scroll_position;
|
||||||
|
Eina_Size2D max_min_size;
|
||||||
|
Eina_Size2D last_viewport_size;
|
||||||
|
Eina_Size2D prev_min_size;
|
||||||
|
|
||||||
|
Efl_Ui_Layout_Orientation dir;
|
||||||
|
|
||||||
|
unsigned int size;
|
||||||
|
unsigned int groups;
|
||||||
|
unsigned int prev_consumed_space;
|
||||||
|
|
||||||
|
Eina_Bool group_cache_dirty;
|
||||||
|
Eina_Bool size_cache_dirty;
|
||||||
} Efl_Ui_Position_Manager_Grid_Data;
|
} Efl_Ui_Position_Manager_Grid_Data;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Eina_Bool real_group;
|
|
||||||
Eina_Size2D group_header_size;
|
Eina_Size2D group_header_size;
|
||||||
int items;
|
int items;
|
||||||
|
Eina_Bool real_group;
|
||||||
} Group_Cache_Line;
|
} Group_Cache_Line;
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
|
|
@ -14,20 +14,25 @@
|
||||||
Efl_Ui_Position_Manager_List_Data *pd = efl_data_scope_get(obj, MY_CLASS);
|
Efl_Ui_Position_Manager_List_Data *pd = efl_data_scope_get(obj, MY_CLASS);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned int size;
|
Api_Callbacks callbacks;
|
||||||
|
|
||||||
Eina_Future *rebuild_absolut_size;
|
Eina_Future *rebuild_absolut_size;
|
||||||
Eina_Rect viewport;
|
|
||||||
Eina_Size2D abs_size;
|
|
||||||
Eina_Vector2 scroll_position;
|
|
||||||
Efl_Ui_Layout_Orientation dir;
|
|
||||||
int *size_cache;
|
int *size_cache;
|
||||||
int average_item_size;
|
|
||||||
int maximum_min_size;
|
|
||||||
Vis_Segment prev_run;
|
|
||||||
Efl_Gfx_Entity *last_group;
|
Efl_Gfx_Entity *last_group;
|
||||||
Efl_Ui_Win *window;
|
Efl_Ui_Win *window;
|
||||||
Evas *canvas;
|
Evas *canvas;
|
||||||
Api_Callbacks callbacks;
|
|
||||||
|
Vis_Segment prev_run;
|
||||||
|
|
||||||
|
Eina_Rect viewport;
|
||||||
|
Eina_Size2D abs_size;
|
||||||
|
Eina_Vector2 scroll_position;
|
||||||
|
|
||||||
|
Efl_Ui_Layout_Orientation dir;
|
||||||
|
|
||||||
|
unsigned int size;
|
||||||
|
int average_item_size;
|
||||||
|
int maximum_min_size;
|
||||||
} Efl_Ui_Position_Manager_List_Data;
|
} Efl_Ui_Position_Manager_List_Data;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue