diff options
Diffstat (limited to 'src/lib/elementary/efl_ui_tree_view_seg_array.h')
-rw-r--r-- | src/lib/elementary/efl_ui_tree_view_seg_array.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_tree_view_seg_array.h b/src/lib/elementary/efl_ui_tree_view_seg_array.h new file mode 100644 index 0000000000..e3abb054e0 --- /dev/null +++ b/src/lib/elementary/efl_ui_tree_view_seg_array.h @@ -0,0 +1,38 @@ +#ifndef EFL_UI_TREE_SEG_ARRAY_H +#define EFL_UI_TREE_SEG_ARRAY_H + +#include <Elementary.h> + +typedef struct _Efl_Ui_Tree_View_Item Efl_Ui_Tree_View_Item; +typedef struct _Efl_Ui_Tree_View_Seg_Array_Node Efl_Ui_Tree_View_Seg_Array_Node; + +typedef struct _Efl_Ui_Tree_View_Seg_Array_Data +{ + Efl_Ui_Tree_View_Seg_Array_Node *root; + + int step_size; + int node_count; + int count; +} Efl_Ui_Tree_View_Seg_Array_Data; + +struct _Efl_Ui_Tree_View_Seg_Array_Node +{ + EINA_RBTREE; + + int length; + int max; + int linearized_first_index, shallow_first_index; + + void* layout_data; + Efl_Ui_Tree_View_Seg_Array_Data *pd; + Efl_Ui_Tree_View_Item* pointers[0]; +}; + + +#define EFL_UI_TREE_VIEW_SEG_ARRAY_POS_GET(_item) \ + _item->shallow_offset + ((Efl_Ui_Tree_View_Seg_Array_Node*)_item->tree_node)->shallow_first_index + +#define EFL_UI_TREE_VIEW_SEG_ARRAY_LINEAR_POS_GET(_item) \ + _item->linearized_offset + ((Efl_Ui_Tree_View_Seg_Array_Node*)_item->tree_node)->linearized_first_index + +#endif |