Add RiveAnimationView APIs CSharp Binding Codes 37/260537/5
authorTaehyub Kim <taehyub.kim@samsung.com>
Mon, 28 Jun 2021 11:14:10 +0000 (20:14 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Mon, 5 Jul 2021 10:40:13 +0000 (19:40 +0900)
Change-Id: I7a08a19aa2d1a6c37d6a9aee2146ba789bad9f52

build/tizen/Makefile.am
build/tizen/configure.ac
dali-csharp-binder/file.list
dali-csharp-binder/src/rive-animation-view.cpp [new file with mode: 0644]
packaging/dali-csharp-binder.spec

index 7e8276c..5d8722a 100644 (file)
@@ -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
index 98c74c9..0ebba0a 100644 (file)
@@ -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
index 6692651..62fb15b 100755 (executable)
@@ -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 (file)
index 0000000..560124d
--- /dev/null
@@ -0,0 +1,289 @@
+#ifndef CSHARP_RIVE_ANIMATION_VIEW
+#define CSHARP_RIVE_ANIMATION_VIEW
+#endif
+
+#define SWIGSTDCALL
+
+// INCLUDES
+#include "common.h"
+#include <dali-extension/devel-api/rive-animation-view/rive-animation-view.h>
+
+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<char *>(e.what()));       \
+    return ret;                                                                \
+  }                                                                            \
+  catch (std::exception & e) {                                                 \
+    SWIG_CSharpException(SWIG_RuntimeError, const_cast<char *>(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
index 39f2a0f..b3bf0e6 100644 (file)
@@ -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)