14 : drag_data(drag), event(event), drop_location(drop_location)
30 const char *disabled_hint_dummy =
nullptr;
32 if (!drop_target.
can_drop(*drag, &disabled_hint_dummy)) {
42 const DragInfo drag_info{*drag, event, *drop_location};
43 return drop_target.
on_drop(&C, drag_info);
54 const char *disabled_hint_dummy =
nullptr;
55 if (!drop_target.
can_drop(drag, &disabled_hint_dummy)) {
65 const DragInfo drag_info{drag, event, *drop_location};
#define LISTBASE_FOREACH(type, var, list)
virtual bool on_drop(bContext *C, const DragInfo &drag) const =0
virtual bool can_drop(const wmDrag &drag, const char **r_disabled_hint) const =0
virtual std::string drop_tooltip(const DragInfo &drag) const =0
virtual std::optional< DropLocation > choose_drop_location(const ARegion ®ion, const wmEvent &event) const
bool drop_target_apply_drop(bContext &C, const ARegion ®ion, const wmEvent &event, const DropTargetInterface &drop_target, const ListBase &drags)
std::string drop_target_tooltip(const ARegion ®ion, const DropTargetInterface &drop_target, const wmDrag &drag, const wmEvent &event)
DragInfo(const wmDrag &drag, const wmEvent &event, DropLocation drop_location)