[Tizen] Add ActionForwardSignal() for accessibility 52/278952/1 accepted/tizen/6.0/unified/20220819.122352 submit/tizen_6.0/20220818.073614
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 29 Jul 2022 00:10:33 +0000 (09:10 +0900)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 29 Jul 2022 00:11:43 +0000 (09:11 +0900)
- In Accessibility, One finger double tap and hold gesture is to pass
the event to the application.
- For the application, it can get the signal using
ActionForwardSignal.

- Dependency : https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/278951/

Change-Id: Ic1f1b65b7bee13f1c45604f54fa7692e5c8cf9c4
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
dali-toolkit/devel-api/accessibility-manager/accessibility-manager.cpp
dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h
dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.cpp
dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h

index d106086..02d3a24 100644 (file)
@@ -350,6 +350,11 @@ AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager:
   return GetImpl(*this).ActionScrollSignal();
 }
 
+AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionForwardSignal()
+{
+  return GetImpl(*this).ActionForwardSignal();
+}
+
 } // namespace Toolkit
 
 } // namespace Dali
index 84f8c5c..bff68df 100644 (file)
@@ -817,6 +817,18 @@ public: // Accessibility action signals
    */
   AccessibilityActionScrollSignalType& ActionScrollSignal();
 
+  /**
+   * @brief This is emitted when accessibility action is received to forward the event
+   * to the application (by one finger double tap and hold).
+   *
+   * A callback of the following type may be connected:
+   * @code
+   *   bool YourCallback( AccessibilityManager& manager );
+   * @endcode
+   * @return The signal to connect to
+   */
+  AccessibilityActionSignalType& ActionForwardSignal();
+
 public:
   explicit DALI_INTERNAL AccessibilityManager(Internal::AccessibilityManager* impl);
 
index a1b10d7..b5dc886 100644 (file)
@@ -1333,6 +1333,17 @@ bool AccessibilityManager::AccessibilityActionStartStop()
   return mIsAccessibilityTtsEnabled;
 }
 
+bool AccessibilityManager::AccessibilityActionForwardToApp()
+{
+  Dali::Toolkit::AccessibilityManager handle( this );
+  if( !mActionForwardSignal.Empty() )
+  {
+    mActionForwardSignal.Emit( handle );
+  }
+
+  return mIsAccessibilityTtsEnabled;
+}
+
 bool AccessibilityManager::HandlePanGesture(const AccessibilityGestureEvent& panEvent)
 {
   bool handled = false;
index cbe2bca..7be71b6 100644 (file)
@@ -445,6 +445,14 @@ public:  // Signals
     return mActionScrollSignal;
   }
 
+  /**
+   * @copydoc Dali::Toolkit::AccessibilityManager::ActionForwardSignal
+   */
+  AccessibilityActionSignalType& ActionForwardSignal()
+  {
+    return mActionForwardSignal;
+  }
+
 protected:
 
   /**
@@ -673,6 +681,12 @@ private:
   bool AccessibilityActionStartStop() override;
 
   /**
+   * Perform the accessibility action to forward the event to the application (by one finger double tap and hold).
+   * @return whether the accessibility action is performed or not.
+   */
+  bool AccessibilityActionForwardToApp() override;
+
+  /**
    * This function is connected to the TtsPlayer StateChangeSignal.
    * It is called when the TTS players state changes.
    * @param previousState The previous state of the TTS player (for comparison)
@@ -719,6 +733,7 @@ private:
   AccessibilityActionSignalType       mActionZoomSignal;
   AccessibilityActionSignalType       mActionReadPauseResumeSignal;
   AccessibilityActionSignalType       mActionStartStopSignal;
+  AccessibilityActionSignalType       mActionForwardSignal;
   AccessibilityActionScrollSignalType mActionScrollSignal;
 
   FocusIDContainer mFocusIDContainer;       ///< The container to look up actor ID by focus order