[Tizen] Save and send the position of the focused actor
[platform/core/uifw/dali-adaptor.git] / dali / internal / accessibility / common / accessibility-adaptor-impl.h
index 5f4939d..490e352 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H__
-#define __DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H__
+#ifndef DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H
+#define DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #include <dali/public-api/object/base-object.h>
 #include <dali/public-api/math/vector2.h>
-#include <dali/public-api/events/touch-point.h>
+#include <dali/devel-api/events/touch-point.h>
 #include <dali/integration-api/events/touch-event-combiner.h>
 
 // INTERNAL INCLUDES
 #include <dali/devel-api/adaptor-framework/accessibility-adaptor.h>
 #include <dali/devel-api/adaptor-framework/accessibility-action-handler.h>
 #include <dali/devel-api/adaptor-framework/accessibility-gesture-handler.h>
-#include <dali/internal/window-system/common/indicator-interface.h>
 #include <dali/internal/accessibility/common/accessibility-gesture-detector.h>
 
 namespace Dali
@@ -80,6 +79,16 @@ public:
   bool IsEnabled() const;
 
   /**
+   * @copydoc Dali::AccessibilityAdaptor::SetForcedEnable()
+   */
+  void SetForcedEnable( bool forced );
+
+  /**
+   * Whether the accessibility is enabled forcibly or not
+   */
+  bool IsForcedEnable() const;
+
+  /**
    * @copydoc Dali::AccessibilityAdaptor::GetReadPosition() const
    */
   Vector2 GetReadPosition() const;
@@ -95,10 +104,15 @@ public:
   void SetGestureHandler(AccessibilityGestureHandler& handler);
 
   /**
-   * @brief Set the Indicator
-   * @param[in] Indiciator interface
+   * @copydoc Dali::AccessibilityAdaptor::SetFocusedActorPosition()
+   */
+  void SetFocusedActorPosition(Vector2 currentPosition);
+
+  /**
+   * @brief Returns the current position of the focused actor.
+   * @return The current position of the focused actor
    */
-  void SetIndicator( IndicatorInterface* indicator );
+  Vector2 GetFocusedActorPosition() const;
 
   /**
    * @copydoc Dali::AccessibilityAdaptor::HandleActionNextEvent()
@@ -148,12 +162,7 @@ public:
   /**
    * @copydoc Dali::AccessibilityAdaptor::HandleActionScrollEvent()
    */
-  bool HandleActionScrollEvent(const TouchPoint& point, unsigned long timeStamp);
-
-  /**
-   * @copydoc Dali::AccessibilityAdaptor::HandleActionTouchEvent()
-   */
-  bool HandleActionTouchEvent(const TouchPoint& point, unsigned long timeStamp);
+  bool HandleActionScrollEvent(const TouchPoint& point, uint32_t timeStamp);
 
   /**
    * @copydoc Dali::AccessibilityAdaptor::HandleActionBackEvent()
@@ -226,11 +235,6 @@ public:
   bool HandleActionZoomEvent();
 
   /**
-   * @copydoc Dali::AccessibilityAdaptor::HandleActionReadIndicatorInformationEvent()
-   */
-  bool HandleActionReadIndicatorInformationEvent();
-
-  /**
    * @copydoc Dali::AccessibilityAdaptor::HandleActionReadPauseResumeEvent()
    */
   bool HandleActionReadPauseResumeEvent();
@@ -245,7 +249,7 @@ protected:
   /**
    * Destructor.
    */
-  virtual ~AccessibilityAdaptor();
+  ~AccessibilityAdaptor() override;
 
 private:
 
@@ -266,15 +270,15 @@ protected:
   Dali::Integration::TouchEventCombiner mCombiner; ///< Combines multi-touch events.
 
   Vector2 mReadPosition; ///< ActionRead position
+  Vector2 mFocusedActorPosition; ///< Focused actor position
 
   AccessibilityActionHandler* mActionHandler; ///< The pointer of accessibility action handler
 
   AccessibilityGestureDetectorPtr mAccessibilityGestureDetector; ///< The accessibility gesture detector
 
-  IndicatorInterface* mIndicator; ///< The indicator
-
   bool mIsEnabled        : 1; ///< enable/disable the accessibility action
-  bool mIndicatorFocused : 1; ///< Whether the Indicator is focused
+
+  bool mIsForced         : 1; ///< Is the accessibility enabled forcibly
 
 public:
 
@@ -306,4 +310,4 @@ public:
 
 } // namespace Dali
 
-#endif // __DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H__
+#endif // DALI_INTERNAL_ACCESSIBILITY_ADAPTOR_H