File: ax_event.h

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (62 lines) | stat: -rw-r--r-- 2,239 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_ACCESSIBILITY_AX_EVENT_H_
#define UI_ACCESSIBILITY_AX_EVENT_H_

#include <string>
#include <vector>

#include "ui/accessibility/ax_base_export.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_event_intent.h"
#include "ui/accessibility/ax_node_data.h"

namespace ui {

struct AX_BASE_EXPORT AXEvent final {
  AXEvent();
  AXEvent(AXNodeData::AXID id,
          ax::mojom::Event event_type,
          ax::mojom::EventFrom event_from = ax::mojom::EventFrom::kNone,
          ax::mojom::Action event_from_action = ax::mojom::Action::kNone,
          const std::vector<AXEventIntent>& event_intents = {},
          int action_request_id = -1);
  virtual ~AXEvent();
  AXEvent(const AXEvent& event);
  AXEvent& operator=(const AXEvent& event);

  // The id of the node in the AXTree that the event should be fired on.
  AXNodeData::AXID id = AXNodeData::kInvalidAXID;

  // The type of event.
  ax::mojom::Event event_type = ax::mojom::Event::kNone;

  // The source of the event.
  ax::mojom::EventFrom event_from = ax::mojom::EventFrom::kNone;

  // The accessibility action that caused the event. The difference between
  // event_from_action and event_intents is that event_from_action refers to
  // an action from an accessibility API call, while event_intents refers to
  // user actions.
  ax::mojom::Action event_from_action = ax::mojom::Action::kNone;

  // Describes what caused an accessibility event to be raised. For example, in
  // the case of a selection changed event, the selection could have been
  // extended to the beginning of the previous word, or it could have been moved
  // to the end of the next line. Note that there could be multiple causes that
  // resulted in an event.
  std::vector<AXEventIntent> event_intents;

  // The action request ID that was passed in if this event was fired in
  // direct response to a ax::mojom::Action.
  int action_request_id = -1;

  // Returns a string representation of this data, for debugging.
  std::string ToString() const;
};

}  // namespace ui

#endif  // UI_ACCESSIBILITY_AX_EVENT_H_