[Tizen] Binding FontClient::GetSystemFonts() 44/291944/1
authorBowon Ryu <bowon.ryu@samsung.com>
Thu, 1 Dec 2022 09:20:50 +0000 (18:20 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Tue, 25 Apr 2023 08:04:45 +0000 (17:04 +0900)
Fixed CSharp_Dali_FontClient_GetSystemFonts to work normaly which didn't work previously.

Change-Id: I8345d01efe7eca953bbcd8f059669f18b912d20d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
dali-csharp-binder/file.list
dali-csharp-binder/src/font-client-wrap.cpp

index 923471c..a79b025 100755 (executable)
@@ -57,6 +57,7 @@ SET( dali_csharp_binder_common_src_files
   ${dali_csharp_binder_dir}/src/style-manager-wrap.cpp
   ${dali_csharp_binder_dir}/src/drag-and-drop-wrap.cpp
   ${dali_csharp_binder_dir}/src/slim-custom-view-impl.cpp
+  ${dali_csharp_binder_dir}/src/font-client-wrap.cpp
 )
 
 # added for key grab binding only for tizen
@@ -66,7 +67,6 @@ SET( dali_csharp_binder_tizen_src_files
   ${dali_csharp_binder_dir}/src/keyboard-wrap.cpp
   ${dali_csharp_binder_dir}/src/widget-view-wrap.cpp
   ${dali_csharp_binder_dir}/src/widget-view-manager-wrap.cpp
-  ${dali_csharp_binder_dir}/src/font-client-wrap.cpp
   ${dali_csharp_binder_dir}/src/transition-effects-wrap.cpp
   ${dali_csharp_binder_dir}/src/component-application-wrap.cpp
   ${dali_csharp_binder_dir}/src/tizen-dependency-wrap.cpp
index a792d15..7703e4e 100755 (executable)
@@ -1130,25 +1130,36 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FontClient_GetDefaultPlatformFontDescrip
   }
 }
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FontClient_GetSystemFonts(void* fontClient) {
+  void* jresult;
+  Dali::Property::Array *array = 0;
+  Dali::TextAbstraction::FontClient *arg1 = (Dali::TextAbstraction::FontClient *) 0;
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FontClient_GetSystemFonts(void * jarg1, void * jarg2) {
-  Dali::TextAbstraction::FontClient *arg1 = (Dali::TextAbstraction::FontClient *) 0 ;
-  Dali::TextAbstraction::FontList *arg2 = 0 ;
-
-  arg1 = (Dali::TextAbstraction::FontClient *)jarg1;
-  arg2 = (Dali::TextAbstraction::FontList *)jarg2;
-  if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TextAbstraction::FontList & type is null", 0);
-    return ;
-  }
+  arg1 = (Dali::TextAbstraction::FontClient *)fontClient;
   {
     try {
-      (arg1)->GetSystemFonts(*arg2);
-    } CALL_CATCH_EXCEPTION();
+      FontList fontList;
+      (arg1)->GetSystemFonts(fontList);
+
+      Dali::Property::Array systemFonts;
+      for(size_t i = 0; i < fontList.size(); i++)
+      {
+        Dali::Property::Map font;
+        font.Add("family", fontList[i].family);
+        font.Add("path", fontList[i].path);
+        font.Add("width", fontList[i].width);
+        font.Add("weight", fontList[i].weight);
+        font.Add("slant", fontList[i].slant);
+        systemFonts.PushBack(font);
+      }
+
+      array = (Dali::Property::Array *)new Dali::Property::Array((Dali::Property::Array const &)systemFonts);
+    } CALL_CATCH_EXCEPTION(0);
   }
+  jresult = (void *)array;
+  return jresult;
 }
 
-
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FontClient_GetDescription(void * jarg1, unsigned int jarg2, void * jarg3) {
   Dali::TextAbstraction::FontClient *arg1 = (Dali::TextAbstraction::FontClient *) 0 ;
   Dali::TextAbstraction::FontId arg2 ;