efl/src/lib/elementary/efl_ui_list_view_seg_array.h

43 lines
1.3 KiB
C

#ifndef EFL_UI_LIST_VIEW_SEG_ARRAY_H
#define EFL_UI_LIST_VIEW_SEG_ARRAY_H
typedef struct _Efl_Ui_List_View_SegArray_Node
{
EINA_RBTREE;
int length;
int max;
int first;
void* layout_data;
Efl_Ui_List_View_Layout_Item* pointers[0];
} Efl_Ui_List_View_Seg_Array_Node;
typedef struct _Efl_Ui_List_View_Seg_Array
{
Efl_Ui_List_View_Seg_Array_Node *root;
int step_size;
int node_count;
int count;
} Efl_Ui_List_View_Seg_Array;
Efl_Ui_List_View_Seg_Array * efl_ui_list_view_seg_array_setup(int size);
void efl_ui_list_view_seg_array_free(Efl_Ui_List_View_Seg_Array *seg_array);
void efl_ui_list_view_seg_array_flush(Efl_Ui_List_View_Seg_Array *seg_array);
int efl_ui_list_view_seg_array_count(Efl_Ui_List_View_Seg_Array* seg_array);
int efl_ui_list_view_item_index_get(Efl_Ui_List_View_Layout_Item* item);
void efl_ui_list_view_seg_array_insert(Efl_Ui_List_View_Seg_Array* seg_array, int index, Efl_Model* model);
void efl_ui_list_view_seg_array_insert_value(Efl_Ui_List_View_Seg_Array *seg_array, int first, Eina_Value value);
Efl_Ui_List_View_Layout_Item* efl_ui_list_view_seg_array_remove(Efl_Ui_List_View_Seg_Array *seg_array, int index);
Eina_Accessor* efl_ui_list_view_seg_array_accessor_get(Efl_Ui_List_View_Seg_Array* seg_array);
Eina_Accessor* efl_ui_list_view_seg_array_node_accessor_get(Efl_Ui_List_View_Seg_Array* seg_array);
#endif