This starts a drag and drop process at the drag side. During dragging, there are three events emitted as belows: - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_ACCEPT - EFL_UI_DND_EVENT_DRAG_DONE


drag_start @beta {
    params {
        @in drag_obj: free(Efl.Object, efl_del);
        @in format: Efl.Selection.Format;
        @in data: Eina.Slice;
        @in action: Efl.Selection.Action;
        @in icon_func: Efl.Dnd.Drag_Icon_Create;
        @in seat: uint;

C signature

void efl_selection_manager_drag_start(Eo *obj, Efl_Object *drag_obj, Efl_Selection_Format format, Eina_Slice data, Efl_Selection_Action action, Efl_Dnd_Drag_Icon_Create icon_func, unsigned int seat);


  • drag_obj (in) - Drag object
  • format (in) - Data format
  • data (in) - Data to transfer
  • action (in) - Action when data is transferred
  • icon_func (in) - Function pointer to create icon
  • seat (in) - Specified seat for multiple seats case.

Implemented by

  • Efl.Selection.Manager.drag_start