drag and drop: add drag source events binding codes 73/274173/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Fri, 22 Apr 2022 10:07:11 +0000 (19:07 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Fri, 22 Apr 2022 10:07:11 +0000 (19:07 +0900)
Change-Id: I948d2a1d87180c9a4ec34be518d0ebdc7109c47a

dali-csharp-binder/src/drag-and-drop-wrap.cpp

index 2f8bef6..ab6c7a8 100644 (file)
@@ -35,6 +35,9 @@ static const char * nullExceptMsg = "Attempt to dereference null Dali::Adaptor::
 using DnDCallback = void(SWIGSTDCALL *)(const Dali::DragAndDrop::DragEvent&);
 DnDCallback dndCallback;
 
+using SourceCallback = void(SWIGSTDCALL *)(enum Dali::DragAndDrop::SourceEventType);
+SourceCallback sourceCallback;
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -51,7 +54,7 @@ SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_DragAndDrop_New__SWIG_0() {
  return jresult;
 }
 
-SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_StartDragAndDrop(void * argDnD, void * argSource, void * argShadow, void * argMimeType, char * argData) {
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_StartDragAndDrop(void * argDnD, void * argSource, void * argShadowWindow, void * argMimeType, char * argData, void * argSourceCallback) {
   Dali::DragAndDrop *dnd = (Dali::DragAndDrop *)argDnD;
 
   if (!dnd) {
@@ -60,9 +63,9 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_StartDragAndDrop(void * argD
   }
 
   Dali::Actor *pSource;
-  Dali::Actor *pShadow;
+  Dali::Window *pShadow;
   Dali::Actor source;
-  Dali::Actor shadow;
+  Dali::Window shadow;
 
   pSource = (Dali::Actor *)argSource;
   if (!pSource) {
@@ -70,7 +73,7 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_StartDragAndDrop(void * argD
     return false;
   }
 
-  pShadow = (Dali::Actor *)argShadow;
+  pShadow = (Dali::Window *)argShadowWindow;
   if (!pShadow) {
     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0);
     return false;
@@ -86,7 +89,8 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_StartDragAndDrop(void * argD
   bool result = false;
   {
     try {
-      result = dnd->StartDragAndDrop(source, shadow, dragData);
+      sourceCallback = (SourceCallback)argSourceCallback;
+      result = dnd->StartDragAndDrop(source, shadow, dragData, sourceCallback);
     }
     CALL_CATCH_EXCEPTION(0);
   }