AccessibilitySpinButton.h [plain text]
#pragma once
#include "AccessibilityMockObject.h"
#include "SpinButtonElement.h"
namespace WebCore {
class AccessibilitySpinButton final : public AccessibilityMockObject {
public:
static Ref<AccessibilitySpinButton> create();
virtual ~AccessibilitySpinButton();
void setSpinButtonElement(SpinButtonElement* spinButton) { m_spinButtonElement = spinButton; }
AccessibilityObject* incrementButton();
AccessibilityObject* decrementButton();
void step(int amount);
private:
AccessibilitySpinButton();
AccessibilityRole roleValue() const override { return SpinButtonRole; }
bool isSpinButton() const override { return true; }
bool isNativeSpinButton() const override { return true; }
void addChildren() override;
LayoutRect elementRect() const override;
SpinButtonElement* m_spinButtonElement;
};
class AccessibilitySpinButtonPart final : public AccessibilityMockObject {
public:
static Ref<AccessibilitySpinButtonPart> create();
virtual ~AccessibilitySpinButtonPart() { }
bool isIncrementor() const { return m_isIncrementor; }
void setIsIncrementor(bool value) { m_isIncrementor = value; }
private:
AccessibilitySpinButtonPart();
bool press() override;
AccessibilityRole roleValue() const override { return ButtonRole; }
bool isSpinButtonPart() const override { return true; }
LayoutRect elementRect() const override;
unsigned m_isIncrementor : 1;
};
}
SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY(AccessibilitySpinButton, isNativeSpinButton())
SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY(AccessibilitySpinButtonPart, isSpinButtonPart())