1 /* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef ACCESSIBILITY_DEFINE_H 17 #define ACCESSIBILITY_DEFINE_H 18 19 #include "accessibility_constants.h" 20 21 namespace OHOS { 22 namespace Accessibility { 23 enum RetError : int32_t { 24 RET_OK = 0, 25 RET_ERR_FAILED = -1, 26 RET_ERR_INVALID_PARAM = 1001, 27 RET_ERR_NULLPTR, 28 RET_ERR_IPC_FAILED, 29 RET_ERR_SAMGR, 30 RET_ERR_NO_PERMISSION, 31 RET_ERR_TIME_OUT, 32 33 RET_ERR_REGISTER_EXIST = 4001, 34 RET_ERR_NO_REGISTER, 35 RET_ERR_CONNECTION_EXIST, 36 RET_ERR_NO_CONNECTION, 37 RET_ERR_NO_WINDOW_CONNECTION, 38 RET_ERR_NO_CAPABILITY, 39 RET_ERR_INVALID_ELEMENT_INFO_FROM_ACE, 40 RET_ERR_PERFORM_ACTION_FAILED_BY_ACE, 41 RET_ERR_NO_INJECTOR, 42 RET_ERR_NOT_INSTALLED, 43 RET_ERR_NOT_ENABLED, 44 RET_ERR_PROPERTY_NOT_EXIST, 45 RET_ERR_ACTION_NOT_SUPPORT, 46 }; 47 48 enum GlobalAction : uint32_t { 49 GLOBAL_ACTION_BACK = 0, 50 GLOBAL_ACTION_HOME = 1, 51 GLOBAL_ACTION_RECENT = 2, 52 GLOBAL_ACTION_NOTIFICATION = 3, 53 GLOBAL_ACTION_LOCK_SCREEN = 4, 54 GLOBAL_ACTION_MAX, 55 GLOBAL_ACTION_INVALID = 0xFFFFFFFF, 56 }; 57 58 enum AbilityStateType : int32_t { 59 ABILITY_STATE_INVALID = 0, 60 ABILITY_STATE_ENABLE, 61 ABILITY_STATE_DISABLE, 62 ABILITY_STATE_INSTALLED, 63 }; 64 65 // The capability types of the accessible ability. 66 enum Capability : uint32_t { 67 CAPABILITY_RETRIEVE = 0x0001, 68 CAPABILITY_TOUCH_GUIDE = 0x0002, 69 CAPABILITY_GESTURE = 0x0004, 70 CAPABILITY_KEY_EVENT_OBSERVER = 0x0008, 71 CAPABILITY_ZOOM = 0x0010, 72 }; 73 74 // The accessibility ability types for feedbacks. 75 enum AccessibilityAbilityTypes : uint32_t { 76 ACCESSIBILITY_ABILITY_TYPE_INVALID = 0x00000000, 77 ACCESSIBILITY_ABILITY_TYPE_SPOKEN = 0x00000001, 78 ACCESSIBILITY_ABILITY_TYPE_HAPTIC = 0x00000002, 79 ACCESSIBILITY_ABILITY_TYPE_AUDIBLE = 0x00000004, 80 ACCESSIBILITY_ABILITY_TYPE_VISUAL = 0x00000008, 81 ACCESSIBILITY_ABILITY_TYPE_GENERIC = 0x00000010, 82 ACCESSIBILITY_ABILITY_TYPE_ALL = 0xFFFFFFFF, 83 }; 84 85 enum CaptionMode : int32_t { 86 CAPTION_BLACK_WHITE = 0, // CAPTION_background_foreground 87 CAPTION_WHITE_BLACK, 88 CAPTION_BLACK_YELLOW, 89 CAPTION_BLUE_YELLOW, 90 CAPTION_CUSTOM, 91 CAPTION_MODE_MAX, 92 }; 93 94 enum CaptionEdge : int32_t { 95 CAPTION_EDGE_NONEB = 0, 96 CAPTION_EDGE_OUTLINE, 97 CAPTION_EDGE_DROP_SHADOW, 98 CAPTION_EDGE_RAISED, 99 CAPTION_EDGE_DEPRESSED, 100 }; 101 102 enum ActionType : int32_t { 103 ACCESSIBILITY_ACTION_INVALID = 0, 104 ACCESSIBILITY_ACTION_FOCUS = 0x00000001, 105 ACCESSIBILITY_ACTION_CLEAR_FOCUS = 0x00000002, 106 ACCESSIBILITY_ACTION_SELECT = 0x00000004, 107 ACCESSIBILITY_ACTION_CLEAR_SELECTION = 0x00000008, 108 ACCESSIBILITY_ACTION_CLICK = 0x00000010, 109 ACCESSIBILITY_ACTION_LONG_CLICK = 0x00000020, 110 ACCESSIBILITY_ACTION_ACCESSIBILITY_FOCUS = 0x00000040, 111 ACCESSIBILITY_ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080, 112 ACCESSIBILITY_ACTION_SCROLL_FORWARD = 0x00000100, 113 ACCESSIBILITY_ACTION_SCROLL_BACKWARD = 0x00000200, 114 ACCESSIBILITY_ACTION_COPY = 0x00000400, 115 ACCESSIBILITY_ACTION_PASTE = 0x00000800, 116 ACCESSIBILITY_ACTION_CUT = 0x00001000, 117 ACCESSIBILITY_ACTION_SET_SELECTION = 0x00002000, 118 ACCESSIBILITY_ACTION_SET_TEXT = 0x00004000, 119 ACCESSIBILITY_ACTION_NEXT_TEXT = 0x00200000, 120 ACCESSIBILITY_ACTION_PREVIOUS_TEXT = 0x00400000, 121 ACCESSIBILITY_ACTION_UNFOLD = 0x00800000, 122 ACCESSIBILITY_ACTION_FOLD = 0x01000000, 123 ACCESSIBILITY_ACTION_NEXT_HTML_ITEM = 0x02000000, 124 ACCESSIBILITY_ACTION_PREVIOUS_HTML_ITEM = 0x04000000, 125 ACCESSIBILITY_ACTION_DELETED = 0x08000000, 126 ACCESSIBILITY_ACTION_TYPE_MASK = 0x1FFFFFFF, 127 }; 128 129 // text move step 130 enum TextMoveUnit : int32_t { 131 STEP_INVALID = 0, 132 STEP_CHARACTER = 0x00000001, 133 STEP_WORD = 0x00000002, 134 STEP_LINE = 0x00000004, 135 STEP_PAGE = 0x00000008, 136 STEP_PARAGRAPH = 0x00000010, 137 }; 138 139 enum FocusMoveDirection : int32_t { 140 DIRECTION_INVALID = 0, 141 UP = 0x00000001, 142 DOWN = 0x00000002, 143 LEFT = 0x00000004, 144 RIGHT = 0x00000008, 145 FORWARD = 0x00000010, 146 BACKWARD = 0x00000020, 147 }; 148 149 enum WindowUpdateType : int32_t { 150 WINDOW_UPDATE_INVALID = 0, 151 WINDOW_UPDATE_ACCESSIBILITY_FOCUSED = 0x00000001, 152 WINDOW_UPDATE_FOCUSED = 0x00000002, 153 WINDOW_UPDATE_ACTIVE = 0x00000004, 154 WINDOW_UPDATE_ADDED = 0x00000008, 155 WINDOW_UPDATE_REMOVED = 0x00000010, 156 WINDOW_UPDATE_BOUNDS = 0x00000020, 157 WINDOW_UPDATE_TITLE = 0x00000040, 158 WINDOW_UPDATE_LAYER = 0x00000080, 159 WINDOW_UPDATE_PARENT = 0x00000100, 160 WINDOW_UPDATE_CHILDREN = 0x00000200, 161 WINDOW_UPDATE_PIP = 0x00000400, 162 }; 163 164 enum WindowsContentChangeTypes : int32_t { 165 CONTENT_CHANGE_TYPE_INVALID = 0, 166 CONTENT_CHANGE_TYPE_SUBTREE = 0x00000001, 167 CONTENT_CHANGE_TYPE_TEXT = 0x00000002, 168 CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 0x00000004, 169 }; 170 171 enum EventType : uint32_t { 172 TYPE_VIEW_INVALID = 0, 173 TYPE_VIEW_CLICKED_EVENT = 0x00000001, 174 TYPE_VIEW_LONG_CLICKED_EVENT = 0x00000002, 175 TYPE_VIEW_SELECTED_EVENT = 0x00000004, 176 TYPE_VIEW_FOCUSED_EVENT = 0x00000008, 177 TYPE_VIEW_TEXT_UPDATE_EVENT = 0x00000010, 178 TYPE_PAGE_STATE_UPDATE = 0x00000020, 179 TYPE_NOTIFICATION_UPDATE_EVENT = 0x00000040, 180 TYPE_VIEW_HOVER_ENTER_EVENT = 0x00000080, 181 TYPE_VIEW_HOVER_EXIT_EVENT = 0x00000100, 182 TYPE_TOUCH_GUIDE_GESTURE_BEGIN = 0x00000200, 183 TYPE_TOUCH_GUIDE_GESTURE_END = 0x00000400, 184 TYPE_PAGE_CONTENT_UPDATE = 0x00000800, 185 TYPE_VIEW_SCROLLED_EVENT = 0x000001000, 186 TYPE_VIEW_TEXT_SELECTION_UPDATE_EVENT = 0x000002000, 187 TYPE_PUBLIC_NOTICE_EVENT = 0x00004000, 188 TYPE_VIEW_ACCESSIBILITY_FOCUSED_EVENT = 0x00008000, 189 TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED_EVENT = 0x00010000, 190 TYPE_VIEW_TEXT_MOVE_UNIT_EVENT = 0x00020000, 191 TYPE_TOUCH_GUIDE_BEGIN = 0x00040000, 192 TYPE_TOUCH_GUIDE_END = 0x00080000, 193 TYPE_TOUCH_BEGIN = 0x00100000, 194 TYPE_TOUCH_END = 0x00200000, 195 TYPE_WINDOW_UPDATE = 0x00400000, 196 TYPE_INTERRUPT_EVENT = 0x00800000, 197 TYPE_GESTURE_EVENT = 0x01000000, 198 TYPE_MAX_NUM = 0x02000000, 199 TYPES_ALL_MASK = 0xFFFFFFFF, 200 }; 201 202 enum NotificationCategory : int32_t { 203 CATEGORY_INVALID = 0, 204 CATEGORY_CALL = 0x00000001, 205 CATEGORY_MSG = 0x00000002, 206 CATEGORY_EMAIL = 0x00000004, 207 CATEGORY_EVENT = 0x00000008, 208 CATEGORY_PROMO = 0x00000010, 209 CATEGORY_ALARM = 0x00000020, 210 CATEGORY_PROGRESS = 0x00000040, 211 CATEGORY_SOCIAL = 0x00000080, 212 CATEGORY_ERR = 0x00000100, 213 CATEGORY_TRANSPORT = 0x00000200, 214 CATEGORY_SYS = 0x00000400, 215 CATEGORY_SERVICE = 0x00000800, 216 CATEGORY_OTHERS = 0x00001000, 217 }; 218 219 // The types of swipe gestures which are performed on the touch screen. 220 enum GestureType : uint32_t { 221 GESTURE_INVALID = 0, 222 GESTURE_SWIPE_UP = 0x0001, 223 GESTURE_SWIPE_DOWN = 0x0002, 224 GESTURE_SWIPE_LEFT = 0x0003, 225 GESTURE_SWIPE_RIGHT = 0x0004, 226 GESTURE_SWIPE_LEFT_THEN_RIGHT = 0x0005, 227 GESTURE_SWIPE_RIGHT_THEN_LEFT = 0x0006, 228 GESTURE_SWIPE_UP_THEN_DOWN = 0x0007, 229 GESTURE_SWIPE_DOWN_THEN_UP = 0x0008, 230 GESTURE_SWIPE_LEFT_THEN_UP = 0x0009, 231 GESTURE_SWIPE_LEFT_THEN_DOWN = 0x000A, 232 GESTURE_SWIPE_RIGHT_THEN_UP = 0x000B, 233 GESTURE_SWIPE_RIGHT_THEN_DOWN = 0x000C, 234 GESTURE_SWIPE_UP_THEN_LEFT = 0x000D, 235 GESTURE_SWIPE_UP_THEN_RIGHT = 0x000E, 236 GESTURE_SWIPE_DOWN_THEN_LEFT = 0x000F, 237 GESTURE_SWIPE_DOWN_THEN_RIGHT = 0x0010, 238 239 GESTURE_TAP = 0x0011, 240 GESTURE_DOUBLETAP = 0x0012, 241 GESTURE_DOUBLETAP_HOLD = 0x0013, 242 GESTURE_DRAG = 0x0014, 243 GESTURE_SWIPE_SLOWLY = 0x0015, 244 GESTURE_TRIPLETAP = 0x0016, 245 GESTURE_SCALE = 0x0017, 246 GESTURE_SCROLL = 0x0018, 247 GESTURE_GESTURE_ALL = 0xFFFFFFFF 248 }; 249 250 enum AccessibilityWindowType : int32_t { 251 TYPE_WINDOW_INVALID = 0, 252 TYPE_ACCESSIBILITY_OVERLAY = 0x00000001, 253 TYPE_APPLICATION = 0x00000002, 254 TYPE_INPUT_METHOD = 0x00000004, 255 TYPE_SPLIT_SCREEN_DIVIDER = 0x00000008, 256 TYPE_SYSTEM = 0x00000010, 257 }; 258 } // namespace Accessibility 259 } // namespace OHOS 260 #endif // ACCESSIBILITY_DEFINE_H