From: Taehyub Kim Date: Mon, 28 Jun 2021 11:14:10 +0000 (+0900) Subject: Add RiveAnimationView APIs CSharp Binding Codes X-Git-Tag: dali_2.0.34~2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d0f3f87e9b1bdddb84df98857a9ea2c89d7cee9f;p=platform%2Fcore%2Fuifw%2Fdali-csharp-binder.git Add RiveAnimationView APIs CSharp Binding Codes Change-Id: I7a08a19aa2d1a6c37d6a9aee2146ba789bad9f52 --- diff --git a/build/tizen/Makefile.am b/build/tizen/Makefile.am index 7e8276c..5d8722a 100644 --- a/build/tizen/Makefile.am +++ b/build/tizen/Makefile.am @@ -112,6 +112,12 @@ endif endif +if MOBILE_PROFILE +LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ + $(DALIEXTENSION_CFLAGS) +LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIEXTENSION_LIBS) +endif + if WEARABLE_PROFILE LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ $(DALIWATCHVIEW_CFLAGS) @@ -120,6 +126,22 @@ LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIWATCHVIEW_LIBS) LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ $(DALIWATCHHOLDERBASE_CFLAGS) LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIWATCHHOLDERBASE_LIBS) + +LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ + $(DALIEXTENSION_CFLAGS) +LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIEXTENSION_LIBS) +endif + +if TV_PROFILE +LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ + $(DALIEXTENSION_CFLAGS) +LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIEXTENSION_LIBS) +endif + +if COMMON_PROFILE +LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \ + $(DALIEXTENSION_CFLAGS) +LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIEXTENSION_LIBS) endif lib_LTLIBRARIES = libdali2-csharp-binder.la diff --git a/build/tizen/configure.ac b/build/tizen/configure.ac index 98c74c9..0ebba0a 100644 --- a/build/tizen/configure.ac +++ b/build/tizen/configure.ac @@ -74,6 +74,7 @@ PKG_CHECK_MODULES(DALITOOLKIT, dali2-toolkit) if test "x$enable_profile" = "xMOBILE" -o "x$enable_profile" = "xWEARABLE" -o "x$enable_profile" = "xTV" -o "x$enable_profile" = "xIVI" -o "x$enable_profile" = "xCOMMON"; then PKG_CHECK_MODULES(DALIWIDGET, widget_viewer_dali) + PKG_CHECK_MODULES(DALIEXTENSION, dali2-extension) if test x$enable_ecore_wayland2 = xyes; then PKG_CHECK_MODULES(ECORE_WL2, ecore-wl2) else diff --git a/dali-csharp-binder/file.list b/dali-csharp-binder/file.list index 6692651..62fb15b 100755 --- a/dali-csharp-binder/file.list +++ b/dali-csharp-binder/file.list @@ -52,7 +52,8 @@ dali_csharp_binder_tizen_src_files = \ ${dali_csharp_binder_dir}/src/transition-effects.cpp \ ${dali_csharp_binder_dir}/src/atspi.cpp \ ${dali_csharp_binder_dir}/src/component-application-wrap.cpp \ - ${dali_csharp_binder_dir}/src/tizen-dependency-wrap.cpp + ${dali_csharp_binder_dir}/src/tizen-dependency-wrap.cpp \ + ${dali_csharp_binder_dir}/src/rive-animation-view.cpp # module: csharp-binder, backend: tizen-wearable dali_csharp_binder_tizen_wearable_src_files = \ diff --git a/dali-csharp-binder/src/rive-animation-view.cpp b/dali-csharp-binder/src/rive-animation-view.cpp new file mode 100644 index 0000000..560124d --- /dev/null +++ b/dali-csharp-binder/src/rive-animation-view.cpp @@ -0,0 +1,289 @@ +#ifndef CSHARP_RIVE_ANIMATION_VIEW +#define CSHARP_RIVE_ANIMATION_VIEW +#endif + +#define SWIGSTDCALL + +// INCLUDES +#include "common.h" +#include + +using namespace Dali; +using namespace Dali::Toolkit; +using namespace Dali::Extension; + +#define CALL_CATCH_EXCEPTION(ret) \ + catch (std::out_of_range & e) { \ + SWIG_CSharpException(SWIG_IndexError, const_cast(e.what())); \ + return ret; \ + } \ + catch (std::exception & e) { \ + SWIG_CSharpException(SWIG_RuntimeError, const_cast(e.what())); \ + return ret; \ + } \ + catch (Dali::DaliException e) { \ + SWIG_CSharpException(SWIG_UnknownError, e.condition); \ + return ret; \ + } \ + catch (...) { \ + SWIG_CSharpException(SWIG_UnknownError, "unknown error"); \ + return ret; \ + } + +#ifdef __cplusplus +extern "C" { +#endif + +static const char *nullExceptMsg = "Attempt to dereference null Dali::Extension::RiveAnimationView"; + +SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_RiveAnimationView_New__SWIG_0(char * jarg1) { + void *jresult = nullptr; + RiveAnimationView result; + + if (!jarg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0); + return 0; + } + std::string arg1_str(jarg1); + { + try { + result = RiveAnimationView::New(arg1_str); + jresult = new Dali::Extension::RiveAnimationView((const Dali::Extension::RiveAnimationView &)result); + } CALL_CATCH_EXCEPTION(0); + } + + return jresult; +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RiveAnimationView_EnableAnimation(char * jarg1, char * jarg2, bool jarg3) { + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + { + try { + arg1->EnableAnimation(arg2_str, jarg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RiveAnimationView_PlayAnimation(char * jarg1) { + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + { + try { + arg1->PlayAnimation(); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RiveAnimationView_PauseAnimation(char * jarg1) { + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + { + try { + arg1->PauseAnimation(); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RiveAnimationView_StopAnimation(char * jarg1) { + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + { + try { + arg1->StopAnimation(); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetShapeFillColor(char * jarg1, char * jarg2, char * jarg3) +{ + Dali::Vector4 *arg3 = nullptr; + + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + arg3 = (Dali::Vector4 *)jarg3; + if (!arg3) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0); + return; + } + arg3->a *= 255.f; + arg3->r *= 255.f; + arg3->g *= 255.f; + arg3->b *= 255.f; + { + try { + arg1->SetShapeFillColor(arg2_str, *arg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetShapeStrokeColor(char * jarg1, char * jarg2, char * jarg3) +{ + Dali::Vector4 *arg3 = nullptr; + + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + arg3 = (Dali::Vector4 *)jarg3; + if (!arg3) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0); + return; + } + arg3->a *= 255.f; + arg3->r *= 255.f; + arg3->g *= 255.f; + arg3->b *= 255.f; + { + try { + arg1->SetShapeStrokeColor(arg2_str, *arg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetNodeOpacity(char * jarg1, char * jarg2, float jarg3) +{ + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + { + try { + arg1->SetNodeOpacity(arg2_str, jarg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetNodeScale(char * jarg1, char * jarg2, char * jarg3) +{ + Dali::Vector2 *arg3 = nullptr; + + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + arg3 = (Dali::Vector2 *)jarg3; + if (!arg3) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0); + return; + } + { + try { + arg1->SetNodeScale(arg2_str, *arg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetNodeRotation(char * jarg1, char * jarg2, char * jarg3) +{ + Dali::Degree *arg3 = nullptr; + + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + arg3 = (Dali::Degree *)jarg3; + if (!arg3) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0); + return; + } + { + try { + arg1->SetNodeRotation(arg2_str, *arg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +SWIGEXPORT void CSharp_Dali_RiveAnimationView_SetNodePosition(char * jarg1, char * jarg2, char * jarg3) +{ + Dali::Vector2 *arg3 = nullptr; + + RiveAnimationView *arg1 = (RiveAnimationView *)jarg1; + if (!arg1) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return; + } + if (!jarg2) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "jarg2 is null string", 0); + return; + } + std::string arg2_str(jarg2); + arg3 = (Dali::Vector2 *)jarg3; + if (!arg3) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0); + return; + } + { + try { + arg1->SetNodePosition(arg2_str, *arg3); + } + CALL_CATCH_EXCEPTION(); + } +} + +#ifdef __cplusplus +} // end extern "C" +#endif diff --git a/packaging/dali-csharp-binder.spec b/packaging/dali-csharp-binder.spec index 39f2a0f..b3bf0e6 100644 --- a/packaging/dali-csharp-binder.spec +++ b/packaging/dali-csharp-binder.spec @@ -45,6 +45,7 @@ BuildRequires: pkgconfig BuildRequires: pkgconfig(dali2-core) BuildRequires: pkgconfig(dali2-adaptor) BuildRequires: pkgconfig(dali2-toolkit) +BuildRequires: pkgconfig(dali2-extension) BuildRequires: pkgconfig(widget_viewer_dali) BuildRequires: pkgconfig(watch_viewer_dali) BuildRequires: pkgconfig(watch-holder-base)