*/
virtual bool AccessibilityActionStartStop() = 0;
+ /**
+ * 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.
+ */
+ virtual bool AccessibilityActionForwardToApp() = 0;
+
}; // class AccessibilityActionHandler
} // namespace Dali
return Internal::Adaptor::AccessibilityAdaptor::GetImplementation(*this).HandleActionStartStopEvent();
}
+bool AccessibilityAdaptor::HandleActionForwardToAppEvent()
+{
+ return Internal::Adaptor::AccessibilityAdaptor::GetImplementation(*this).HandleActionForwardToAppEvent();
+}
+
AccessibilityAdaptor::AccessibilityAdaptor(Internal::Adaptor::AccessibilityAdaptor& manager)
: BaseHandle(&manager)
{
*/
bool HandleActionStartStopEvent();
+ /**
+ * @brief Handle the accessibility action to forward it to the application
+ * (by one finger double tap and hold).
+ *
+ * This is a kind of backdoor to bypass the normal behaviour.
+ * @return Whether the action is performed successfully or not.
+ */
+ bool HandleActionForwardToAppEvent();
+
public: // Not intended for application developers
/**
* @brief Creates a handle using the Adaptor::Internal implementation.
return ret;
}
+bool AccessibilityAdaptor::HandleActionForwardToAppEvent()
+{
+ bool ret = false;
+ if( mActionHandler )
+ {
+ ret = mActionHandler->AccessibilityActionForwardToApp();
+ }
+
+ DALI_LOG_INFO(gAccessibilityAdaptorLogFilter, Debug::General, "[%s:%d] %s\n", __FUNCTION__, __LINE__, ret?"TRUE":"FALSE");
+
+ return ret;
+}
+
AccessibilityAdaptor::~AccessibilityAdaptor()
{
// Do any platform specific clean-up in OnDestroy()
*/
bool HandleActionStartStopEvent();
+ /**
+ * @copydoc Dali::AccessibilityAdaptor::HandleActionForwardToAppEvent()
+ */
+ bool HandleActionForwardToAppEvent();
+
protected:
/**
// Send touch event to accessibility adaptor.
TouchPoint point( 0, touchPointState, static_cast< float >( info.startX ), static_cast< float >( info.startY ) );
+ // Forward the event to the application.
+ // This is a kind of backdoor to bypass the normal behaviour.
+ if( info.gestureValue == 15 && info.state == 3 )
+ {
+ accessibilityAdaptor->HandleActionForwardToAppEvent();
+ return;
+ }
+
// Perform actions based on received gestures.
// Note: This is seperated from the reading so we can have other input readers without changing the below code.
switch( info.gestureValue )