Merge "Implemented the Handle assignment operators properly" into tizen
[platform/core/uifw/dali-adaptor.git] / adaptors / public-api / accessibility-action-handler.h
1 #ifndef __DALI_ACCESSIBILITY_ACTION_HANDLER_H__
2 #define __DALI_ACCESSIBILITY_ACTION_HANDLER_H__
3
4 /*
5  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22
23 namespace Dali DALI_IMPORT_API
24 {
25
26 /**
27  * AccessibilityActionHandler is an abstract interface, used by Dali to handle accessibility actions
28  * passed by the accessibility manager.
29  */
30 class AccessibilityActionHandler
31 {
32 public:
33
34   /**
35    * Change the accessibility status when Accessibility feature(screen-reader) turned on or off.
36    * @return whether the status is changed or not.
37    */
38   virtual bool ChangeAccessibilityStatus() = 0;
39
40   /**
41    * Clear the accessibility focus from the current focused actor.
42    * @return whether the focus is cleared or not.
43    */
44   virtual bool ClearAccessibilityFocus() = 0;
45
46   /**
47    * Perform the accessibility action to move focus to the previous focusable actor (by one finger flick up).
48    * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
49    * @return whether the accessibility action is performed or not.
50    */
51   virtual bool AccessibilityActionPrevious(bool allowEndFeedback) = 0;
52
53   /**
54    * Perform the accessibility action to move focus to the next focusable actor (by one finger flick down).
55    * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
56    * @return whether the accessibility action is performed or not.
57    */
58   virtual bool AccessibilityActionNext(bool allowEndFeedback) = 0;
59
60   /**
61    * Perform the accessibility action to move focus to the previous focusable actor (by one finger flick left).
62    * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
63    * @return whether the accessibility action is performed or not.
64    */
65   virtual bool AccessibilityActionReadPrevious(bool allowEndFeedback) = 0;
66
67   /**
68    * Perform the accessibility action to move focus to the next focusable actor (by one finger flick right).
69    * @param allowEndFeedback true if end of list feedback should be played when the focus is alread reached to the end
70    * @return whether the accessibility action is performed or not.
71    */
72   virtual bool AccessibilityActionReadNext(bool allowEndFeedback) = 0;
73
74   /**
75    * Perform the accessibility action to focus and read the actor (by one finger tap or move).
76    * @param allowReadAgain true if the action read again the same object (i.e. read action)
77    *                       false if the action just read when the focus object is changed (i.e. over action)
78    * @return whether the accessibility action is performed or not.
79    */
80   virtual bool AccessibilityActionRead(bool allowReadAgain) = 0;
81
82   /**
83    * Perform the accessibility action to activate the current focused actor (by one finger double tap).
84    * @return whether the accessibility action is performed or not.
85    */
86   virtual bool AccessibilityActionActivate() = 0;
87
88   /**
89    * Perform the accessibility action to change the value when the current focused actor is a slider
90    * (by double finger down and move up and right).
91    * @return whether the accessibility action is performed or not.
92    */
93   virtual bool AccessibilityActionUp() = 0;
94
95   /**
96    * Perform the accessibility action to change the value when the current focused actor is a slider
97    * (by double finger down and move down and left).
98    * @return whether the accessibility action is performed or not.
99    */
100   virtual bool AccessibilityActionDown() = 0;
101
102   /**
103    * Perform the accessibility action to navigate back (by two fingers circle draw).
104    * @return whether the accessibility action is performed or not.
105    */
106   virtual bool AccessibilityActionBack() = 0;
107
108   /**
109    * Perform the accessibility action to mouse move (by one finger tap & hold and move).
110    * @param touchEvent touch event structure
111    * @return whether the accessibility action is performed or not.
112    */
113   virtual bool AccessibilityActionTouch(const Dali::TouchEvent& touchEvent) = 0;
114
115 }; // class AccessibilityActionHandler
116
117 } // namespace Dali
118
119 #endif // __DALI_ACCESSIBILITY_ACTION_HANDLER_H__