[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 39261d32f3770cfe154bf7a2b11941e4cec8372c..750e01341825b54bdad7aa2a7d54ac02e0997e64 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