From fdb559af81a5e820d85d4fffe6f11646447ed023 Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Tue, 28 Mar 2023 17:01:06 +0900 Subject: [PATCH] Bind Actor::LookAt API Change-Id: Ia042e4f73cfbef379d8f1bc9ba4af89f723d50fd Signed-off-by: Eunki, Hong --- dali-csharp-binder/src/actor-wrap.cpp | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/dali-csharp-binder/src/actor-wrap.cpp b/dali-csharp-binder/src/actor-wrap.cpp index 6a1d2e8..4cdc0c1 100644 --- a/dali-csharp-binder/src/actor-wrap.cpp +++ b/dali-csharp-binder/src/actor-wrap.cpp @@ -3594,6 +3594,56 @@ SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Actor_CalculateScreenExtents(void* acto return new Dali::Vector4(result.x, result.y, result.width, result.height); } +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_LookAt(void* csActor, void* csTarget, void* csUp, void* csLocalForward, void* csLocalUp) +{ + Dali::Actor actor; + Dali::Vector3 target; + Dali::Vector3 up = Vector3::YAXIS; + Dali::Vector3 localForward = Vector3::ZAXIS; + Dali::Vector3 localUp = Vector3::YAXIS; + + if(!csActor) + { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0); + return; + } + + if(!csTarget) + { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null target Dali::Vector3", 0); + return; + } + + actor = *(Dali::Actor*)csActor; + target = *(Dali::Vector3*)csTarget; + + // Use default value if csUp is null + if(csUp) + { + up = *(Dali::Vector3*)csUp; + } + + // Use default value if csLocalForward is null + if(csLocalForward) + { + localForward = *(Dali::Vector3*)csLocalForward; + } + + // Use default value if csLocalForward is null + if(csLocalUp) + { + localUp = *(Dali::Vector3*)csLocalUp; + } + + { + try + { + Dali::DevelActor::LookAt(actor, target, up, localForward, localUp); + } + CALL_CATCH_EXCEPTION(); + } +} + SWIGEXPORT void SWIGSTDCALL CSharp_DevelActor_Property_SetTouchAreaOffset(void* jarg1, int jarg2, int jarg3, int jarg4, int jarg5) { Dali::Actor* arg1 = (Dali::Actor*)0; -- 2.7.4