drag-and-drop : Add leave event when dragging is cancelled 71/286371/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Thu, 5 Jan 2023 01:35:23 +0000 (10:35 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 5 Jan 2023 01:35:23 +0000 (10:35 +0900)
Change-Id: I98125d2e8636976cc986f019a65f3a268853f7ca

dali/internal/drag-and-drop/tizen-wayland/drag-and-drop-impl-ecore-wl2.cpp

index b6654e6..881c9b0 100644 (file)
@@ -260,6 +260,15 @@ void DragAndDropEcoreWl::ResetDropTargets()
 {
   for(std::size_t i = 0; i < mDropTargets.size(); i++)
   {
+     if(mDropTargets[i].inside)
+     {
+       Dali::DragAndDrop::DragEvent dragEvent;
+       dragEvent.SetAction(Dali::DragAndDrop::DragType::LEAVE);
+       // -1 means the default position when dragging is cancelled
+       Dali::Vector2 position(-1, -1);
+       dragEvent.SetPosition(position);
+       mDropTargets[i].callback(dragEvent);
+     }
      mDropTargets[i].inside = false;
   }
 }