[Tizen] Support Window's InsetsChangedSignal by Tizen.NUI.Window 41/296441/2 accepted/tizen/7.0/unified/20230811.173927
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Thu, 14 Jul 2022 07:31:36 +0000 (16:31 +0900)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Thu, 3 Aug 2023 10:41:08 +0000 (19:41 +0900)
Window insets are the inner size between window content and window edge.

Window insets are required when status bar, virtual keyboard, or
clipboard appears on window to avoid window content obsecured by them.

Window's InsetsChangedSignal notifies the changes of the window insets.

To support Window's InsetsChangedSignal by Tizen.NUI.Window, the binding
functions are added.

Change-Id: I49a0704160d8b3c4a05baa67f2797643f2e64652

dali-csharp-binder/src/window-wrap.cpp

index 39261d3..750e013 100644 (file)
@@ -3711,6 +3711,102 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Resize_Completed_Signal(void * si
 }
 
 
+
+////////////////////////////////////////////////////////////////////
+/// InsetsChanged event
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_InsetsChanged_Signal(void * windowHandle) {
+  void * jresult ;
+  Dali::Window *window = (Dali::Window *) 0 ;
+  Dali::DevelWindow::InsetsChangedSignalType *result = 0 ;
+
+  window = (Dali::Window *)windowHandle;
+  {
+    try {
+      result = (Dali::DevelWindow::InsetsChangedSignalType *) &(Dali::DevelWindow::InsetsChangedSignal(*window));
+    } CALL_CATCH_EXCEPTION(0);
+  }
+
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_Window_InsetsChanged_Signal_Empty(void * signal) {
+  bool result;
+  Dali::DevelWindow::InsetsChangedSignalType* arg1 = (Dali::DevelWindow::InsetsChangedSignalType*) signal;
+
+  if (arg1 == nullptr) {
+    DALI_LOG_ERROR("[ERR] arg1 == nullptr");
+    return false;
+  }
+
+  {
+    try {
+      result = arg1->Empty();
+    }
+    CALL_CATCH_EXCEPTION(false);
+  }
+  return result;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Window_InsetsChanged_Signal_GetConnectionCount(void * signal) {
+  unsigned int result;
+  Dali::DevelWindow::InsetsChangedSignalType* arg1 = (Dali::DevelWindow::InsetsChangedSignalType *) signal;
+
+  if (arg1 == nullptr) {
+    DALI_LOG_ERROR("[ERR] arg1 == nullptr");
+    return 0;
+  }
+
+  {
+    try {
+      result = arg1->GetConnectionCount();
+    }
+    CALL_CATCH_EXCEPTION(0);
+  }
+  return result;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_InsetsChanged_Signal_Connect(void * signal, void * func) {
+  Dali::DevelWindow::InsetsChangedSignalType* arg1 = (Dali::DevelWindow::InsetsChangedSignalType *)signal;
+  void (*arg2)(Dali::WindowInsetsPartType, Dali::WindowInsetsPartState, const Dali::Extents&) = ( void (*)(Dali::WindowInsetsPartType, Dali::WindowInsetsPartState, const Dali::Extents&) )func;
+
+  if (arg1 == nullptr) {
+    DALI_LOG_ERROR("[ERR] arg1 == nullptr");
+    return ;
+  }
+
+  {
+    try {
+      arg1->Connect(arg2);
+    }
+    CALL_CATCH_EXCEPTION();
+  }
+  return ;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_InsetsChanged_Signal_Disconnect(void * signal, void * func) {
+  Dali::DevelWindow::InsetsChangedSignalType* arg1 = (Dali::DevelWindow::InsetsChangedSignalType *)signal;
+  void (*arg2)(Dali::WindowInsetsPartType, Dali::WindowInsetsPartState, const Dali::Extents&) = ( void (*)(Dali::WindowInsetsPartType, Dali::WindowInsetsPartState, const Dali::Extents&) )func;
+
+  if (arg1 == nullptr) {
+    DALI_LOG_ERROR("[ERR] arg1 == nullptr");
+    return;
+  }
+
+  {
+    try {
+      arg1->Disconnect(arg2);
+    }
+    CALL_CATCH_EXCEPTION();
+  }
+  return;
+}
+
+
 #ifdef __cplusplus
 }
 #endif