#ifndef ASH_ACCESSIBILITY_DELEGATE_H_
#define ASH_ACCESSIBILITY_DELEGATE_H_
#include "ash/ash_export.h"
#include "ash/magnifier/magnifier_constants.h"
#include "base/time/time.h"
namespace ash {
enum AccessibilityNotificationVisibility {
A11Y_NOTIFICATION_NONE,
A11Y_NOTIFICATION_SHOW,
};
enum AccessibilityAlert {
A11Y_ALERT_NONE,
A11Y_ALERT_WINDOW_NEEDED
};
class ASH_EXPORT AccessibilityDelegate {
public:
virtual ~AccessibilityDelegate() {}
virtual void ToggleSpokenFeedback(
AccessibilityNotificationVisibility notify) = 0;
virtual bool IsSpokenFeedbackEnabled() const = 0;
virtual void ToggleHighContrast() = 0;
virtual bool IsHighContrastEnabled() const = 0;
virtual void SetMagnifierEnabled(bool enabled) = 0;
virtual void SetMagnifierType(MagnifierType type) = 0;
virtual bool IsMagnifierEnabled() const = 0;
virtual MagnifierType GetMagnifierType() const = 0;
virtual void SetLargeCursorEnabled(bool enabled) = 0;
virtual bool IsLargeCursorEnabled() const = 0;
virtual void SetAutoclickEnabled(bool enabled) = 0;
virtual bool IsAutoclickEnabled() const = 0;
virtual void SetVirtualKeyboardEnabled(bool enabled) = 0;
virtual bool IsVirtualKeyboardEnabled() const = 0;
virtual bool ShouldShowAccessibilityMenu() const = 0;
virtual bool IsBrailleDisplayConnected() const = 0;
virtual void SilenceSpokenFeedback() const = 0;
virtual void SaveScreenMagnifierScale(double scale) = 0;
virtual double GetSavedScreenMagnifierScale() = 0;
virtual void TriggerAccessibilityAlert(AccessibilityAlert alert) = 0;
virtual AccessibilityAlert GetLastAccessibilityAlert() = 0;
virtual base::TimeDelta PlayShutdownSound() const = 0;
};
}
#endif