-#ifndef __DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H__
-#define __DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H__
+#ifndef DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H
+#define DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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/devel-api/common/map-wrapper.h>
#include <dali/devel-api/adaptor-framework/accessibility-action-handler.h>
#include <dali/devel-api/adaptor-framework/accessibility-gesture-handler.h>
+#include <dali/devel-api/adaptor-framework/accessibility-gesture-event.h>
#include <dali/public-api/object/base-object.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
// INTERNAL INCLUDES
-#include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
+#include <dali-toolkit/devel-api/accessibility-manager/accessibility-manager.h>
#include <dali/public-api/adaptor-framework/tts-player.h>
namespace Dali
void SetAccessibilityAttribute(Actor actor, Toolkit::AccessibilityManager::AccessibilityAttribute type, const std::string& text);
/**
+ * @copydoc Toolkit::AccessibilityManager::DeleteAccessibilityAttribute
+ */
+ void DeleteAccessibilityAttribute(Actor actor);
+
+ /**
* @copydoc Toolkit::AccessibilityManager::GetAccessibilityAttribute
*/
std::string GetAccessibilityAttribute(Actor actor, Toolkit::AccessibilityManager::AccessibilityAttribute type) const;
*/
Vector2 GetReadPosition() const;
+ /**
+ * @copydoc Toolkit::AccessibilityManager::EnableAccessibility
+ */
+ void EnableAccessibility( bool enabled );
+
+ /**
+ * @copydoc Toolkit::AccessibilityManager::IsEnabled
+ */
+ bool IsEnabled() const;
+
public:
/**
}
/**
- * @copydoc Dali::Toolkit::AccessibilityManager::ActionReadIndicatorInformationSignal
- */
- AccessibilityActionSignalType& ActionReadIndicatorInformationSignal()
- {
- return mActionReadIndicatorInformationSignal;
- }
-
- /**
* @copydoc Dali::Toolkit::AccessibilityManager::ActionReadPauseResumeSignal
*/
AccessibilityActionSignalType& ActionReadPauseResumeSignal()
return mActionScrollSignal;
}
+ /**
+ * @copydoc Dali::Toolkit::AccessibilityManager::ActionForwardSignal
+ */
+ AccessibilityActionSignalType& ActionForwardSignal()
+ {
+ return mActionForwardSignal;
+ }
+
protected:
/**
* @param[in] panEvent The pan event to be handled.
* @return whether the gesture is handled successfully or not.
*/
- virtual bool HandlePanGesture(const Integration::PanGestureEvent& panEvent);
+ bool HandlePanGesture(const AccessibilityGestureEvent& panEvent) override;
/**
* Change the accessibility status when Accessibility feature(screen-reader) turned on or off.
* @return whether the status is changed or not.
*/
- virtual bool ChangeAccessibilityStatus();
+ bool ChangeAccessibilityStatus() override;
/**
* Clear the accessibility focus from the current focused actor.
* @return whether the focus is cleared or not.
*/
- virtual bool ClearAccessibilityFocus();
+ bool ClearAccessibilityFocus() override;
/**
* Perform the accessibility action associated with a scroll event.
- * @param touchEvent The touch point (and time) of the event.
+ * @param touch The touch point (and time) of the event.
* @return whether the focus is cleared or not.
*/
- virtual bool AccessibilityActionScroll( Dali::TouchEvent& touchEvent );
+ bool AccessibilityActionScroll( Dali::TouchEvent& touch ) override;
/**
* Perform the accessibility action to move focus to the previous focusable actor (by one finger flick up).
* @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionPrevious(bool allowEndFeedback);
+ bool AccessibilityActionPrevious(bool allowEndFeedback) override;
/**
* Perform the accessibility action to move focus to the next focusable actor (by one finger flick down).
* @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionNext(bool allowEndFeedback);
+ bool AccessibilityActionNext(bool allowEndFeedback) override;
/**
* Perform the accessibility action to move focus to the previous focusable actor (by one finger flick left).
* @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionReadPrevious(bool allowEndFeedback);
+ bool AccessibilityActionReadPrevious(bool allowEndFeedback) override;
/**
* Perform the accessibility action to move focus to the next focusable actor (by one finger flick right).
* @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionReadNext(bool allowEndFeedback);
+ bool AccessibilityActionReadNext(bool allowEndFeedback) override;
/**
* Perform the accessibility action to focus and read the actor (by one finger tap or move).
* false if the action just read when the focus object is changed (i.e. over action)
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionRead(bool allowReadAgain);
+ bool AccessibilityActionRead(bool allowReadAgain) override;
/**
* Perform the accessibility action to activate the current focused actor (by one finger double tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionActivate();
+ bool AccessibilityActionActivate() override;
/**
* Perform the accessibility action to change the value when the current focused actor is a slider
* (by double finger down and move up and right).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionUp();
+ bool AccessibilityActionUp() override;
/**
* Perform the accessibility action to change the value when the current focused actor is a slider
* (by double finger down and move down and left).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionDown();
+ bool AccessibilityActionDown() override;
/**
* Perform the accessibility action to navigate back (by two fingers circle draw).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionBack();
+ bool AccessibilityActionBack() override;
/**
* Perform the accessibility action to scroll up the list and focus on the first item on the list
* after the scrolling and read the item (by two finger swipe up).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionScrollUp();
+ bool AccessibilityActionScrollUp() override;
/**
* Perform the accessibility action to scroll down the list and focus on the first item on the list
* after the scrolling and read the item (by two finger swipe down).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionScrollDown();
+ bool AccessibilityActionScrollDown() override;
/**
* Perform the accessibility action to scroll left to the previous page (by two finger swipe left).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionPageLeft();
+ bool AccessibilityActionPageLeft() override;
/**
* Perform the accessibility action to scroll right to the next page (by two finger swipe right).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionPageRight();
+ bool AccessibilityActionPageRight() override;
/**
* Perform the accessibility action to scroll up to the previous page (by one finger swipe left and right).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionPageUp();
+ bool AccessibilityActionPageUp() override;
/**
* Perform the accessibility action to scroll down to the next page (by one finger swipe right and left).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionPageDown();
+ bool AccessibilityActionPageDown() override;
/**
* Perform the accessibility action to move the focus to the first item on the screen
* (by one finger swipe up and down).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionMoveToFirst();
+ bool AccessibilityActionMoveToFirst() override;
/**
* Perform the accessibility action to move the focus to the last item on the screen
* (by one finger swipe down and up).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionMoveToLast();
+ bool AccessibilityActionMoveToLast() override;
/**
* Perform the accessibility action to move the focus to the first item on the top
- * and read from the top item continously (by three fingers single tap).
+ * and read from the top item continuously (by three fingers single tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionReadFromTop();
+ bool AccessibilityActionReadFromTop() override;
/**
* Perform the accessibility action to move the focus to and read from the next item
- * continously (by three fingers double tap).
+ * continuously (by three fingers double tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionReadFromNext();
+ bool AccessibilityActionReadFromNext() override;
/**
* Perform the accessibility action to move the focus to do the zooming (by one finger triple tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionZoom();
-
- /**
- * Perform the accessibility action to read the information in the indicator (by two fingers triple tap).
- * @return whether the accessibility action is performed or not.
- */
- virtual bool AccessibilityActionReadIndicatorInformation();
+ bool AccessibilityActionZoom() override;
/**
* Perform the accessibility action to pause/resume the current read out (by two fingers single tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionReadPauseResume();
+ bool AccessibilityActionReadPauseResume() override;
/**
* Perform the accessibility action to start/stop the current action (by two fingers double tap).
* @return whether the accessibility action is performed or not.
*/
- virtual bool AccessibilityActionStartStop();
+ bool AccessibilityActionStartStop() override;
/**
- * Perform the accessibility action to mouse move (by one finger tap & hold and move).
- * @param touchEvent touch event structure
+ * 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 AccessibilityActionTouch(const TouchEvent& touchEvent);
+ bool AccessibilityActionForwardToApp() override;
/**
* This function is connected to the TtsPlayer StateChangeSignal.
AccessibilityActionSignalType mActionReadFromTopSignal;
AccessibilityActionSignalType mActionReadFromNextSignal;
AccessibilityActionSignalType mActionZoomSignal;
- AccessibilityActionSignalType mActionReadIndicatorInformationSignal;
AccessibilityActionSignalType mActionReadPauseResumeSignal;
AccessibilityActionSignalType mActionStartStopSignal;
+ AccessibilityActionSignalType mActionForwardSignal;
AccessibilityActionScrollSignalType mActionScrollSignal;
FocusIDContainer mFocusIDContainer; ///< The container to look up actor ID by focus order
FocusIDPair mCurrentFocusActor; ///< The focus order and actor ID of current focused actor
Actor mCurrentGesturedActor; ///< The actor that will handle the gesture
Actor mFocusIndicatorActor; ///< The focus indicator actor shared by all the focusable actors for highlight
- Vector2 mPreviousPosition; ///< The previous pan position; useful for calculating velocity for Gesture::Finished events
+ Vector2 mPreviousPosition; ///< The previous pan position; useful for calculating velocity for GestureState::FINISHED events
unsigned int mRecursiveFocusMoveCounter; ///< The counter to count the number of recursive focus movement attempted before the focus movement is successful.
+ std::string mFocusSoundFilePath; ///< The path of the focus sound file
+ std::string mFocusChainEndSoundFilePath; ///< The path of the focus chain end sound file
bool mIsWrapped:1; ///< Whether the focus movement is wrapped around or not
bool mIsFocusWithinGroup:1; ///< Whether the focus movement is limited to the current focus group or not
bool mTtsCreated:1; ///< Whether the TTS Player has been accessed
bool mIsFocusIndicatorEnabled:1; ///< Whether indicator should be shown / hidden. It could be enabled when TTS enabled or 'Tab' key operated.
bool mContinuousPlayMode:1; ///< Keeps track of whether or not we are in continuous play mode
+ bool mIsFocusSoundFilePathSet:1; ///< Whether the path of the focus sound file has been set
+ bool mIsFocusChainEndSoundFilePathSet:1; ///< Whether the path of the focus chain end sound file has been set
};
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H__
+#endif // DALI_TOOLKIT_INTERNAL_ACCESSIBILITY_MANAGER_H