summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_tree_view_seg_array.h
diff options
context:
space:
mode:
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.h38
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