This registers a drag for items in a container. Many items can be dragged at a time. During dragging, there are three events emitted: - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_ACCEPT - EFL_UI_DND_EVENT_DRAG_DONE.


container_drag_item_add @beta {
    params {
        @in cont: free(Efl.Object, efl_del);
        @in time_to_drag: double;
        @in anim_duration: double;
        @in data_func: Efl.Dnd.Drag_Data_Get;
        @in item_func: Efl.Dnd.Item_Get;
        @in icon_func: Efl.Dnd.Drag_Icon_Create;
        @in icon_list_func: Efl.Dnd.Drag_Icon_List_Create;
        @in seat: uint;

C signature

void efl_selection_manager_container_drag_item_add(Eo *obj, Efl_Object *cont, double time_to_drag, double anim_duration, Efl_Dnd_Drag_Data_Get data_func, Efl_Dnd_Item_Get item_func, Efl_Dnd_Drag_Icon_Create icon_func, Efl_Dnd_Drag_Icon_List_Create icon_list_func, unsigned int seat);


  • cont (in) - Container object
  • time_to_drag (in) - Time since mouse down happens to drag starts
  • anim_duration (in) - animation duration
  • data_func (in) - Data and its format
  • item_func (in) - Item to determine drag start
  • icon_func (in) - Icon used during drag
  • icon_list_func (in) - Icons used for animations
  • seat (in) - Specified seat for multiple seats case

Implemented by

  • Efl.Selection.Manager.container_drag_item_add