gecko-dev/accessible/android/TraversalRule.h
Butkovits Atila 20e2d30582 Backed out 4 changesets (bug 1765430) for causing android bustage. CLOSED TREE
Backed out changeset 72e27e3813d3 (bug 1765430)
Backed out changeset 47bbf5bd9315 (bug 1765430)
Backed out changeset e8161b463a3b (bug 1765430)
Backed out changeset 30c05f76d21e (bug 1765430)
2022-04-28 01:15:37 +03:00

61 lines
1.4 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef _TraversalRule_H_
#define _TraversalRule_H_
#include "Pivot.h"
namespace mozilla {
namespace a11y {
class Accessible;
/**
* Class represents a simple traversal rule.
*/
class TraversalRule : public PivotRule {
public:
TraversalRule();
explicit TraversalRule(int32_t aGranularity);
~TraversalRule() = default;
virtual uint16_t Match(Accessible* aAcc) override;
private:
bool IsSingleLineage(Accessible* aAccessible);
bool IsFlatSubtree(const Accessible* aAccessible);
bool IsListItemBullet(const Accessible* aAccessible);
bool HasName(const Accessible* aAccessible);
uint16_t DefaultMatch(Accessible* aAccessible);
uint16_t LinkMatch(Accessible* aAccessible);
uint16_t HeadingMatch(Accessible* aAccessible);
uint16_t ControlMatch(Accessible* aAccessible);
uint16_t SectionMatch(Accessible* aAccessible);
uint16_t LandmarkMatch(Accessible* aAccessible);
int32_t mGranularity;
};
class ExploreByTouchRule final : public TraversalRule {
virtual uint16_t Match(Accessible* aAcc) override;
};
} // namespace a11y
} // namespace mozilla
#endif