1 /* 2 * Copyright (C) 2022-2025 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 <cstdint> 20 #include <string> 21 #include <vector> 22 #include <map> 23 #include "accessibility_constants.h" 24 25 namespace OHOS { 26 namespace AccessibilityConfig { 27 28 enum DALTONIZATION_TYPE : uint32_t { 29 Normal = 0, 30 Protanomaly, 31 Deuteranomaly, 32 Tritanomaly, 33 }; 34 35 enum CLICK_RESPONSE_TIME : uint32_t { 36 ResponseDelayShort = 0, 37 ResponseDelayMedium, 38 ResponseDelayLong, 39 }; 40 41 enum IGNORE_REPEAT_CLICK_TIME : uint32_t { 42 RepeatClickTimeoutShortest = 0, 43 RepeatClickTimeoutShort, 44 RepeatClickTimeoutMedium, 45 RepeatClickTimeoutLong, 46 RepeatClickTimeoutLongest, 47 }; 48 } 49 } 50 51 namespace OHOS { 52 namespace Accessibility { 53 enum RetError : int32_t { 54 RET_OK = 0, 55 RET_ERR_FAILED = -1, 56 RET_ERR_INVALID_PARAM = 1001, 57 RET_ERR_NULLPTR, 58 RET_ERR_IPC_FAILED, 59 RET_ERR_SAMGR, 60 RET_ERR_NO_PERMISSION, 61 RET_ERR_NOT_SYSTEM_APP, 62 RET_ERR_TIME_OUT, 63 RET_ERR_TREE_TOO_BIG, 64 RET_ERR_TOKEN_ID, 65 66 RET_ERR_REGISTER_EXIST = 4001, 67 RET_ERR_NO_REGISTER, 68 RET_ERR_CONNECTION_EXIST, 69 RET_ERR_NO_CONNECTION, 70 RET_ERR_NO_WINDOW_CONNECTION, 71 RET_ERR_NO_CAPABILITY, 72 RET_ERR_INVALID_ELEMENT_INFO_FROM_ACE, 73 RET_ERR_PERFORM_ACTION_FAILED_BY_ACE, 74 RET_ERR_NO_INJECTOR, 75 RET_ERR_NOT_INSTALLED, 76 RET_ERR_NOT_ENABLED, 77 RET_ERR_PROPERTY_NOT_EXIST, 78 RET_ERR_ACTION_NOT_SUPPORT, 79 RET_ERR_ENABLE_MAGNIFICATION, 80 RET_ERR_MAGNIFICATION_NOT_SUPPORT, 81 }; 82 83 enum SET_AA_CALLBACK_RESULT : int32_t { 84 FIND_ACCESSIBILITY_NODE_BY_ACCESSIBILITY_ID = 2, 85 FIND_ACCESSIBILITY_NODE_BY_VIEW_ID, 86 FIND_ACCESSIBILITY_NODE_BY_TEXT, 87 FIND_FOCUS, 88 FIND_FOCUS_SEARCH, 89 }; 90 91 enum TARGET_NAME : int32_t { 92 HIGH_CONTRAST_TEXT = 0, 93 INVERT_COLOR, 94 DALTONIZATION_COLOR_FILTER, 95 CONTENT_TIMEOUT, 96 ANIMATION_OFF, 97 BRIGHTNESS_DISCOUNT, 98 AUDIO_MONO, 99 AUDIO_BALANCE, 100 MOUSE_KEY, 101 CAPTION_STATE, 102 CAPTION_STYLE, 103 SCREEN_MAGNIFICATION, 104 MOUSE_AUTOCLICK, 105 }; 106 107 enum GlobalAction : uint32_t { 108 GLOBAL_ACTION_BACK = 0, 109 GLOBAL_ACTION_HOME = 1, 110 GLOBAL_ACTION_RECENT = 2, 111 GLOBAL_ACTION_NOTIFICATION = 3, 112 GLOBAL_ACTION_LOCK_SCREEN = 4, 113 GLOBAL_ACTION_MAX, 114 GLOBAL_ACTION_INVALID = 0xFFFFFFFF, 115 }; 116 117 enum AbilityStateType : int32_t { 118 ABILITY_STATE_INVALID = 0, 119 ABILITY_STATE_ENABLE, 120 ABILITY_STATE_DISABLE, 121 ABILITY_STATE_INSTALLED, 122 }; 123 124 // The capability types of the accessible ability. 125 enum Capability : uint32_t { 126 CAPABILITY_RETRIEVE = 0x0001, 127 CAPABILITY_TOUCH_GUIDE = 0x0002, 128 CAPABILITY_GESTURE = 0x0004, 129 CAPABILITY_KEY_EVENT_OBSERVER = 0x0008, 130 CAPABILITY_ZOOM = 0x0010, 131 }; 132 133 // The accessibility ability types for feedbacks. 134 enum AccessibilityAbilityTypes : uint32_t { 135 ACCESSIBILITY_ABILITY_TYPE_INVALID = 0x00000000, 136 ACCESSIBILITY_ABILITY_TYPE_SPOKEN = 0x00000001, 137 ACCESSIBILITY_ABILITY_TYPE_HAPTIC = 0x00000002, 138 ACCESSIBILITY_ABILITY_TYPE_AUDIBLE = 0x00000004, 139 ACCESSIBILITY_ABILITY_TYPE_VISUAL = 0x00000008, 140 ACCESSIBILITY_ABILITY_TYPE_GENERIC = 0x00000010, 141 ACCESSIBILITY_ABILITY_TYPE_ALL = 0xFFFFFFFF, 142 }; 143 144 enum CaptionMode : int32_t { 145 CAPTION_BLACK_WHITE = 0, // CAPTION_background_foreground 146 CAPTION_WHITE_BLACK, 147 CAPTION_BLACK_YELLOW, 148 CAPTION_BLUE_YELLOW, 149 CAPTION_CUSTOM, 150 CAPTION_MODE_MAX, 151 }; 152 153 enum CaptionEdge : int32_t { 154 CAPTION_EDGE_NONEB = 0, 155 CAPTION_EDGE_OUTLINE, 156 CAPTION_EDGE_DROP_SHADOW, 157 CAPTION_EDGE_RAISED, 158 CAPTION_EDGE_DEPRESSED, 159 }; 160 161 enum ActionType : int32_t { 162 ACCESSIBILITY_ACTION_INVALID = 0, 163 ACCESSIBILITY_ACTION_FOCUS = 0x00000001, 164 ACCESSIBILITY_ACTION_CLEAR_FOCUS = 0x00000002, 165 ACCESSIBILITY_ACTION_SPAN_CLICK = 0x00000003, 166 ACCESSIBILITY_ACTION_SELECT = 0x00000004, 167 ACCESSIBILITY_ACTION_CLEAR_SELECTION = 0x00000008, 168 ACCESSIBILITY_ACTION_CLICK = 0x00000010, 169 ACCESSIBILITY_ACTION_LONG_CLICK = 0x00000020, 170 ACCESSIBILITY_ACTION_ACCESSIBILITY_FOCUS = 0x00000040, 171 ACCESSIBILITY_ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080, 172 ACCESSIBILITY_ACTION_SCROLL_FORWARD = 0x00000100, 173 ACCESSIBILITY_ACTION_SCROLL_BACKWARD = 0x00000200, 174 ACCESSIBILITY_ACTION_COPY = 0x00000400, 175 ACCESSIBILITY_ACTION_PASTE = 0x00000800, 176 ACCESSIBILITY_ACTION_CUT = 0x00001000, 177 ACCESSIBILITY_ACTION_SET_SELECTION = 0x00002000, 178 ACCESSIBILITY_ACTION_SET_TEXT = 0x00004000, 179 ACCESSIBILITY_ACTION_SET_CURSOR_POSITION = 0x00100000, 180 ACCESSIBILITY_ACTION_NEXT_TEXT = 0x00200000, 181 ACCESSIBILITY_ACTION_PREVIOUS_TEXT = 0x00400000, 182 ACCESSIBILITY_ACTION_UNFOLD = 0x00800000, 183 ACCESSIBILITY_ACTION_FOLD = 0x01000000, 184 ACCESSIBILITY_ACTION_NEXT_HTML_ITEM = 0x02000000, 185 ACCESSIBILITY_ACTION_PREVIOUS_HTML_ITEM = 0x04000000, 186 ACCESSIBILITY_ACTION_DELETED = 0x08000000, 187 ACCESSIBILITY_ACTION_COMMON = 0x10000000, 188 ACCESSIBILITY_ACTION_HOME = 0x00010000, 189 ACCESSIBILITY_ACTION_BACK = 0x00020000, 190 ACCESSIBILITY_ACTION_RECENTTASK = 0x00040000, 191 ACCESSIBILITY_ACTION_NOTIFICATIONCENTER = 0x00080000, 192 ACCESSIBILITY_ACTION_CONTROLCENTER = 0x00008000, 193 ACCESSIBILITY_ACTION_TYPE_MASK = 0x1FFFFFFF, 194 }; 195 196 // text move step 197 enum TextMoveUnit : int32_t { 198 STEP_INVALID = 0, 199 STEP_CHARACTER = 0x00000001, 200 STEP_WORD = 0x00000002, 201 STEP_LINE = 0x00000004, 202 STEP_PAGE = 0x00000008, 203 STEP_PARAGRAPH = 0x00000010, 204 }; 205 206 enum FocusMoveDirection : int32_t { 207 DIRECTION_INVALID = 0, 208 UP = 0x00000001, 209 DOWN = 0x00000002, 210 LEFT = 0x00000004, 211 RIGHT = 0x00000008, 212 FORWARD = 0x00000010, 213 BACKWARD = 0x00000020, 214 }; 215 216 enum WindowUpdateType : int32_t { 217 WINDOW_UPDATE_INVALID = 0, 218 WINDOW_UPDATE_ACCESSIBILITY_FOCUSED = 0x00000001, 219 WINDOW_UPDATE_FOCUSED = 0x00000002, 220 WINDOW_UPDATE_ACTIVE = 0x00000004, 221 WINDOW_UPDATE_ADDED = 0x00000008, 222 WINDOW_UPDATE_REMOVED = 0x00000010, 223 WINDOW_UPDATE_BOUNDS = 0x00000020, 224 WINDOW_UPDATE_TITLE = 0x00000040, 225 WINDOW_UPDATE_LAYER = 0x00000080, 226 WINDOW_UPDATE_PARENT = 0x00000100, 227 WINDOW_UPDATE_CHILDREN = 0x00000200, 228 WINDOW_UPDATE_PIP = 0x00000400, 229 WINDOW_UPDATE_PROPERTY = 0x00000800, 230 }; 231 232 enum WindowsContentChangeTypes : int32_t { 233 CONTENT_CHANGE_TYPE_INVALID = 0, 234 CONTENT_CHANGE_TYPE_SUBTREE = 0x00000001, 235 CONTENT_CHANGE_TYPE_TEXT = 0x00000002, 236 CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 0x00000004, 237 }; 238 239 enum EventType : uint32_t { 240 TYPE_VIEW_INVALID = 0, 241 TYPE_VIEW_CLICKED_EVENT = 0x00000001, 242 TYPE_VIEW_LONG_CLICKED_EVENT = 0x00000002, 243 TYPE_VIEW_SELECTED_EVENT = 0x00000004, 244 TYPE_VIEW_FOCUSED_EVENT = 0x00000008, 245 TYPE_VIEW_TEXT_UPDATE_EVENT = 0x00000010, 246 TYPE_PAGE_STATE_UPDATE = 0x00000020, 247 TYPE_NOTIFICATION_UPDATE_EVENT = 0x00000040, 248 TYPE_VIEW_HOVER_ENTER_EVENT = 0x00000080, 249 TYPE_VIEW_HOVER_EXIT_EVENT = 0x00000100, 250 TYPE_TOUCH_GUIDE_GESTURE_BEGIN = 0x00000200, 251 TYPE_TOUCH_GUIDE_GESTURE_END = 0x00000400, 252 TYPE_PAGE_CONTENT_UPDATE = 0x00000800, 253 TYPE_VIEW_SCROLLED_EVENT = 0x000001000, 254 TYPE_VIEW_TEXT_SELECTION_UPDATE_EVENT = 0x000002000, 255 TYPE_PUBLIC_NOTICE_EVENT = 0x00004000, 256 TYPE_VIEW_ACCESSIBILITY_FOCUSED_EVENT = 0x00008000, 257 TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED_EVENT = 0x00010000, 258 TYPE_VIEW_TEXT_MOVE_UNIT_EVENT = 0x00020000, 259 TYPE_TOUCH_GUIDE_BEGIN = 0x00040000, 260 TYPE_TOUCH_GUIDE_END = 0x00080000, 261 TYPE_TOUCH_BEGIN = 0x00100000, 262 TYPE_TOUCH_END = 0x00200000, 263 TYPE_WINDOW_UPDATE = 0x00400000, 264 TYPE_INTERRUPT_EVENT = 0x00800000, 265 TYPE_GESTURE_EVENT = 0x01000000, 266 TYPE_VIEW_REQUEST_FOCUS_FOR_ACCESSIBILITY = 0x02000000, 267 TYPE_VIEW_SCROLLED_START = 0x04000000, 268 TYPE_PAGE_CLOSE = 0x08000000, 269 TYPE_VIEW_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000, 270 TYPE_PAGE_OPEN = 0x20000000, 271 TYPE_ELEMENT_INFO_CHANGE = 0x40000000, 272 TYPE_VIEW_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT = 0x40000001, 273 TYPE_VIEW_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT = 0x40000002, 274 TYPE_VIEW_SCROLLING_EVENT = 0x40000003, 275 TYPE_MAX_NUM = 0x80000000, 276 TYPES_ALL_MASK = 0xFFFFFFFF, 277 }; 278 279 enum NotificationCategory : int32_t { 280 CATEGORY_INVALID = 0, 281 CATEGORY_CALL = 0x00000001, 282 CATEGORY_MSG = 0x00000002, 283 CATEGORY_EMAIL = 0x00000004, 284 CATEGORY_EVENT = 0x00000008, 285 CATEGORY_PROMO = 0x00000010, 286 CATEGORY_ALARM = 0x00000020, 287 CATEGORY_PROGRESS = 0x00000040, 288 CATEGORY_SOCIAL = 0x00000080, 289 CATEGORY_ERR = 0x00000100, 290 CATEGORY_TRANSPORT = 0x00000200, 291 CATEGORY_SYS = 0x00000400, 292 CATEGORY_SERVICE = 0x00000800, 293 CATEGORY_OTHERS = 0x00001000, 294 }; 295 296 // The types of swipe gestures which are performed on the touch screen. 297 enum GestureType : uint32_t { 298 GESTURE_INVALID = 0, 299 GESTURE_SWIPE_UP = 0x0001, 300 GESTURE_SWIPE_DOWN = 0x0002, 301 GESTURE_SWIPE_LEFT = 0x0003, 302 GESTURE_SWIPE_RIGHT = 0x0004, 303 GESTURE_SWIPE_LEFT_THEN_RIGHT = 0x0005, 304 GESTURE_SWIPE_RIGHT_THEN_LEFT = 0x0006, 305 GESTURE_SWIPE_UP_THEN_DOWN = 0x0007, 306 GESTURE_SWIPE_DOWN_THEN_UP = 0x0008, 307 GESTURE_SWIPE_LEFT_THEN_UP = 0x0009, 308 GESTURE_SWIPE_LEFT_THEN_DOWN = 0x000A, 309 GESTURE_SWIPE_RIGHT_THEN_UP = 0x000B, 310 GESTURE_SWIPE_RIGHT_THEN_DOWN = 0x000C, 311 GESTURE_SWIPE_UP_THEN_LEFT = 0x000D, 312 GESTURE_SWIPE_UP_THEN_RIGHT = 0x000E, 313 GESTURE_SWIPE_DOWN_THEN_LEFT = 0x000F, 314 GESTURE_SWIPE_DOWN_THEN_RIGHT = 0x0010, 315 316 GESTURE_TAP = 0x0011, 317 GESTURE_DOUBLETAP = 0x0012, 318 GESTURE_DOUBLETAP_HOLD = 0x0013, 319 GESTURE_DRAG = 0x0014, 320 GESTURE_SWIPE_SLOWLY = 0x0015, 321 GESTURE_TRIPLETAP = 0x0016, 322 GESTURE_SCALE = 0x0017, 323 GESTURE_SCROLL = 0x0018, 324 GESTURE_TWO_FINGER_SINGLE_TAP = 0x0019, 325 GESTURE_TWO_FINGER_DOUBLE_TAP = 0x001A, 326 GESTURE_TWO_FINGER_DOUBLE_TAP_AND_HOLD = 0x001B, 327 GESTURE_TWO_FINGER_TRIPLE_TAP = 0x001C, 328 GESTURE_TWO_FINGER_TRIPLE_TAP_AND_HOLD = 0x001D, 329 GESTURE_THREE_FINGER_SINGLE_TAP = 0x001E, 330 GESTURE_THREE_FINGER_DOUBLE_TAP = 0x001F, 331 GESTURE_THREE_FINGER_DOUBLE_TAP_AND_HOLD = 0x0020, 332 GESTURE_THREE_FINGER_TRIPLE_TAP = 0x0021, 333 GESTURE_THREE_FINGER_TRIPLE_TAP_AND_HOLD = 0x0022, 334 GESTURE_FOUR_FINGER_SINGLE_TAP = 0x0023, 335 GESTURE_FOUR_FINGER_DOUBLE_TAP = 0x0024, 336 GESTURE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD = 0x0025, 337 GESTURE_FOUR_FINGER_TRIPLE_TAP = 0x0026, 338 GESTURE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD = 0x0027, 339 GESTURE_THREE_FINGER_SWIPE_UP = 0x0028, 340 GESTURE_THREE_FINGER_SWIPE_DOWN = 0x0029, 341 GESTURE_THREE_FINGER_SWIPE_LEFT = 0x002A, 342 GESTURE_THREE_FINGER_SWIPE_RIGHT = 0x002B, 343 GESTURE_FOUR_FINGER_SWIPE_UP = 0x002C, 344 GESTURE_FOUR_FINGER_SWIPE_DOWN = 0x002D, 345 GESTURE_FOUR_FINGER_SWIPE_LEFT = 0x002E, 346 GESTURE_FOUR_FINGER_SWIPE_RIGHT = 0x002F, 347 GESTURE_GESTURE_ALL = 0xFFFFFFFF 348 }; 349 350 enum AccessibilityWindowType : int32_t { 351 TYPE_WINDOW_INVALID = 0, 352 TYPE_ACCESSIBILITY_OVERLAY = 0x00000001, 353 TYPE_APPLICATION = 0x00000002, 354 TYPE_INPUT_METHOD = 0x00000004, 355 TYPE_SPLIT_SCREEN_DIVIDER = 0x00000008, 356 TYPE_SYSTEM = 0x00000010, 357 }; 358 359 struct Registration { 360 int32_t windowId = 0; 361 int32_t parentWindowId = 0; 362 int32_t parentTreeId = 0; 363 int64_t elementId = 0; 364 }; 365 366 struct ElementBasicInfo { 367 int32_t windowId = -2; 368 int32_t treeId = -2; 369 int64_t elementId = -2; 370 }; 371 372 struct ResourceInfo { 373 uint32_t resourceId; 374 std::string bundleName; 375 std::string moduleName; 376 }; 377 378 enum SEARCH_TYPE : uint32_t { 379 CUSTOMID = 0, 380 ACCESSIBILITY_TEXT 381 }; 382 383 struct SpecificPropertyParam { 384 std::string propertyTarget; 385 SEARCH_TYPE propertyType; 386 }; 387 388 constexpr int32_t PARAM0 = 0; 389 constexpr int32_t PARAM1 = 1; 390 constexpr int32_t PARAM2 = 2; 391 constexpr int32_t MAX_BUNDLE_NAME_LEN = 128; 392 393 struct AccessibilitySecCompPoint { 394 int64_t uniqueId; 395 char bundleName[MAX_BUNDLE_NAME_LEN]; 396 int64_t timeStamp; 397 }; 398 } // namespace Accessibility 399 } // namespace OHOS 400 401 constexpr size_t CALLBACK_SIZE = 1; 402 constexpr size_t ARGS_SIZE_ZERO = 0; 403 constexpr size_t ARGS_SIZE_ONE = 1; 404 constexpr size_t ARGS_SIZE_TWO = 2; 405 constexpr size_t ARGS_SIZE_THREE = 3; 406 constexpr size_t ARGS_SIZE_FOUR = 4; 407 constexpr int32_t DEFAULT_INT32 = 0; 408 constexpr int32_t CODE_SUCCESS = 0; 409 constexpr int32_t CODE_FAILED = -1; 410 constexpr int32_t CHAE_BUFFER_MAX = 1024; 411 constexpr int32_t US_TO_MS = 1000; 412 constexpr float COMPLEX_UNIT_MM_CONVERSION = 1.0f / 25.4f; 413 constexpr int32_t MM_PER_CM = 10; 414 415 const char ERROR_MESSAGE_PARAMETER_ERROR[] = "Parameter error. Possible causes:" 416 "1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed."; 417 const char ERROR_MESSAGE_NO_PERMISSION[] = "Permission verification failed." 418 "The application does not have the permission required to call the API."; 419 const char ERROR_MESSAGE_NOT_SYSTEM_APP[] = "Permission verification failed." 420 "A non-system application calls a system API."; 421 const char ERROR_MESSAGE_NO_RIGHT[] = "No accessibility permission to perform the operation"; 422 const char ERROR_MESSAGE_SYSTEM_ABNORMALITY[] = "System abnormality"; 423 const char ERROR_MESSAGE_PROPERTY_NOT_EXIST[] = "This property does not exist"; 424 const char ERROR_MESSAGE_ACTION_NOT_SUPPORT[] = "This action is not supported"; 425 const char ERROR_MESSAGE_INVALID_BUNDLE_NAME_OR_ABILITY_NAME[] = "Invalid bundle name or ability name"; 426 const char ERROR_MESSAGE_TARGET_ABILITY_ALREADY_ENABLED[] = "Target ability already enabled"; 427 const char ERROR_MESSAGE_ENABLE_MAGNIFICATION[] = "Failed to trigger magnification."; 428 const char ERROR_MESSAGE_CAPABILITY_NOT_SUPPORT[] = "Capability not supported." 429 "Failed to call the API due to limited device capabilities."; 430 431 enum class NAccessibilityErrorCode : int32_t { 432 ACCESSIBILITY_OK = 0, 433 ACCESSIBILITY_ERROR_NO_PERMISSION = 201, 434 ACCESSIBILITY_ERROR_NOT_SYSTEM_APP = 202, 435 ACCESSIBILITY_ERROR_INVALID_PARAM = 401, 436 ACCESSIBILITY_ERROR_CAPABILITY_NOT_SUPPORT = 801, 437 ACCESSIBILITY_ERROR_SYSTEM_ABNORMALITY = 9300000, 438 ACCESSIBILITY_ERROR_ERROR_EXTENSION_NAME = 9300001, 439 ACCESSIBILITY_ERROR_TARGET_ABILITY_ALREADY_ENABLED = 9300002, 440 ACCESSIBILITY_ERROR_NO_RIGHT = 9300003, 441 ACCESSIBILITY_ERROR_PROPERTY_NOT_EXIST = 9300004, 442 ACCESSIBILITY_ERROR_ACTION_NOT_SUPPORT = 9300005, 443 ACCESSIBILITY_ERROR_ENABLE_MAGNIFICATION = 9300007, 444 }; 445 446 struct NAccessibilityErrMsg { 447 NAccessibilityErrorCode errCode; 448 std::string message; 449 }; 450 451 enum AccessibilityEventType : int32_t { 452 TYPE_ERROR = -1, 453 TYPE_ACCESSIBILITY_FOCUS = 0, 454 TYPE_ACCESSIBILITY_FOCUS_CLEAR = 1, 455 TYPE_CLICK = 2, 456 TYPE_LONG_CLICK = 3, 457 TYPE_SELECT = 4, 458 TYPE_HOVER_ENTER = 5, 459 TYPE_HOVER_EXIT = 6, 460 TYPE_FOCUS = 7, 461 TYPE_TEXT_UPDATE = 8, 462 TYPE_TEXT_SELECTION_UPDATE = 9, 463 TYPE_SCROLL = 10, 464 TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY = 11, 465 TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 12, 466 TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT = 13, 467 TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT = 14, 468 TYPE_ELEMENT_INFO_CHANGE = 15, 469 TYPE_SCROLLING = 16, 470 TYPE_WINDOW_ADD = 17, 471 TYPE_WINDOW_REMOVE = 18, 472 TYPE_WINDOW_BOUNDS = 19, 473 TYPE_WINDOW_ACTIVE = 20, 474 TYPE_WINDOW_FOCUS = 21, 475 TYPE_WINDOW_PROPERTY = 22, 476 TYPE_WINDOW_LAYER = 23, 477 TYPE_TOUCH_BEGIN = 24, 478 TYPE_TOUCH_END = 25, 479 TYPE_PAGE_CONTENT_UPDATE = 26, 480 TYPE_PAGE_STATE_UPDATE = 27, 481 TYPE_PAGE_OPEN = 28, 482 TYPE_PAGE_CLOSE = 29, 483 TYPE_SWIPE_LEFT = 30, 484 TYPE_SWIPE_LEFT_THEN_RIGHT = 31, 485 TYPE_SWIPE_LEFT_THEN_UP = 32, 486 TYPE_SWIPE_LEFT_THEN_DOWN = 33, 487 TYPE_SWIPE_RIGHT = 34, 488 TYPE_SWIPE_RIGHT_THEN_LEFT = 35, 489 TYPE_SWIPE_RIGHT_THEN_UP = 36, 490 TYPE_SWIPE_RIGHT_THEN_DOWN = 37, 491 TYPE_SWIPE_UP = 38, 492 TYPE_SWIPE_UP_THEN_LEFT = 39, 493 TYPE_SWIPE_UP_THEN_RIGHT = 40, 494 TYPE_SWIPE_UP_THEN_DOWN = 41, 495 TYPE_SWIPE_DOWN = 42, 496 TYPE_SWIPE_DOWN_THEN_LEFT = 43, 497 TYPE_SWIPE_DOWN_THEN_RIGHT = 44, 498 TYPE_SWIPE_DOWN_THEN_UP = 45, 499 TYPE_TWO_FINGER_SINGLE_TAP = 46, 500 TYPE_TWO_FINGER_DOUBLE_TAP = 47, 501 TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD = 48, 502 TYPE_TWO_FINGER_TRIPLE_TAP = 49, 503 TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD = 50, 504 TYPE_THREE_FINGER_SINGLE_TAP = 51, 505 TYPE_THREE_FINGER_DOUBLE_TAP = 52, 506 TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD = 53, 507 TYPE_THREE_FINGER_TRIPLE_TAP = 54, 508 TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD = 55, 509 TYPE_FOUR_FINGER_SINGLE_TAP = 56, 510 TYPE_FOUR_FINGER_DOUBLE_TAP = 57, 511 TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD = 58, 512 TYPE_FOUR_FINGER_TRIPLE_TAP = 59, 513 TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD = 60, 514 TYPE_THREE_FINGER_SWIPE_UP = 61, 515 TYPE_THREE_FINGER_SWIPE_DOWN = 62, 516 TYPE_THREE_FINGER_SWIPE_LEFT = 63, 517 TYPE_THREE_FINGER_SWIPE_RIGHT = 64, 518 TYPE_FOUR_FINGER_SWIPE_UP = 65, 519 TYPE_FOUR_FINGER_SWIPE_DOWN = 66, 520 TYPE_FOUR_FINGER_SWIPE_LEFT = 67, 521 TYPE_FOUR_FINGER_SWIPE_RIGHT = 68 522 }; 523 524 enum AccessibilityAction : int32_t { 525 ERROR = -1, 526 ACCESSIBILITY_FOCUS = 0, 527 CLEAR_ACCESSIBILITY_FOCUS = 1, 528 FOCUS = 2, 529 CLEAR_FOCUS = 3, 530 CLICK = 4, 531 LONG_CLICK = 5, 532 CUT = 6, 533 COPY = 7, 534 PASTE = 8, 535 SELECT = 9, 536 SET_TEXT = 10, 537 SCROLL_FORWARD = 11, 538 SCROLL_BACKWARD = 12, 539 SET_SELECTION = 13, 540 SET_CURSOR_POSITION = 14, 541 HOME = 15, 542 BACK = 16, 543 RECENT_TASK = 17, 544 NOTIFICATION_CENTER = 18, 545 CONTROL_CENTER = 19, 546 SPAN_CLICK = 20 547 }; 548 549 #define RETURN_FALSE_IF_NULL(sptr) \ 550 do { \ 551 if ((sptr) == nullptr) { \ 552 HILOG_ERROR("%s is nullptr", #sptr); \ 553 return false; \ 554 } \ 555 } while (0) 556 #endif // ACCESSIBILITY_DEFINE_H