#ifndef UI_ACCESSIBILITY_AX_SELECTION_H_
#define UI_ACCESSIBILITY_AX_SELECTION_H_
#include "ui/accessibility/ax_constants.mojom.h"
#include "ui/accessibility/ax_export.h"
#include "ui/accessibility/ax_node_id_forward.h"
#include "ui/accessibility/ax_tree_id.h"
namespace ui {
class AXTree;
class AX_EXPORT AXSelection final {
public:
AXSelection();
explicit AXSelection(const AXTree&);
AXSelection(const AXSelection&);
~AXSelection();
constexpr bool IsCollapsed() const {
return focus_object_id != kInvalidAXNodeID &&
anchor_object_id == focus_object_id && anchor_offset == focus_offset;
}
bool is_backward = false;
AXNodeID anchor_object_id = kInvalidAXNodeID;
int anchor_offset = ax::mojom::kNoSelectionOffset;
ax::mojom::TextAffinity anchor_affinity;
AXNodeID focus_object_id = kInvalidAXNodeID;
int focus_offset = ax::mojom::kNoSelectionOffset;
ax::mojom::TextAffinity focus_affinity;
AXSelection& ToUnignoredSelection();
private:
AXTreeID tree_id_;
};
}
#endif