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_DND_EVENT_DRAG_POS, EFL_DND_EVENT_DRAG_ACCEPT, EFL_DND_EVENT_DRAG_DONE.


drag_item_add {
    params {
        @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_ui_dnd_container_drag_item_add(Eo *obj, 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);


  • 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 CHECKING
  • seat (in) - Specified seat for multiple seats case.

Implemented by

  • Efl.Ui.Dnd.Container.drag_item_add