Efl.Ui.Position_Manager.Data_Access_V1 (interface)

Description

Interface for abstracting the data access of the position managers.

The idea here is that a data-provider calls Efl.Ui.Position_Manager.Data_Access_V1.data_access on the position manager object and passes the functions that are defined here. Later, the position manager can call these function callbacks to get sizes or objects. A data-provider should always fill all requested items. If an item is not available null should be inserted. If a size is not available, an as-close-as-possible approximation should be inserted. The Size callback is equipped with a parameter to specify caching requests. This flag can be used to differentiate between two use cases: When the size is being requested to build up a cache over all items, and when the size is being requested to apply it to the object. Since the data-provider might need to do expensive operations to find the exact size, the as-close-as-possible approximation is usually enough when building caches. If real object placement is happening, then real sizes must be requested. If a size changes after it was returned due to batching, this change still should be announced with the Efl.Ui.Position_Manager.Entity.item_size_changed function.

The depth of the items is used to express a hierarchical structure on the items themselves. Any given depth might or might not have a depth_leader. A group is ended when there is either a lower depth, or another depth_leader.

Members

data_access (set)

void efl_ui_position_manager_data_access_v1_data_access_set(Eo *obj, Efl_Ui_Position_Manager_Object_Batch_Callback obj_access, Efl_Ui_Position_Manager_Size_Batch_Callback size_access, int size);


Events