1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ash/default_accessibility_delegate.h"
6
7#include <limits>
8
9namespace ash {
10
11DefaultAccessibilityDelegate::DefaultAccessibilityDelegate()
12    : spoken_feedback_enabled_(false),
13      high_contrast_enabled_(false),
14      screen_magnifier_enabled_(false),
15      screen_magnifier_type_(kDefaultMagnifierType),
16      large_cursor_enabled_(false),
17      autoclick_enabled_(false),
18      virtual_keyboard_enabled_(false),
19      accessibility_alert_(A11Y_ALERT_NONE) {
20}
21
22DefaultAccessibilityDelegate::~DefaultAccessibilityDelegate() {}
23
24bool DefaultAccessibilityDelegate::IsSpokenFeedbackEnabled() const {
25  return spoken_feedback_enabled_;
26}
27
28void DefaultAccessibilityDelegate::ToggleHighContrast() {
29  high_contrast_enabled_ = !high_contrast_enabled_;
30}
31
32bool DefaultAccessibilityDelegate::IsHighContrastEnabled() const {
33  return high_contrast_enabled_;
34}
35
36void DefaultAccessibilityDelegate::SetMagnifierEnabled(bool enabled) {
37  screen_magnifier_enabled_ = enabled;
38}
39
40void DefaultAccessibilityDelegate::SetMagnifierType(MagnifierType type) {
41  screen_magnifier_type_ = type;
42}
43
44bool DefaultAccessibilityDelegate::IsMagnifierEnabled() const {
45  return screen_magnifier_enabled_;
46}
47
48MagnifierType DefaultAccessibilityDelegate::GetMagnifierType() const {
49  return screen_magnifier_type_;
50}
51
52void DefaultAccessibilityDelegate::SetLargeCursorEnabled(bool enabled) {
53  large_cursor_enabled_ = enabled;
54}
55
56bool DefaultAccessibilityDelegate::IsLargeCursorEnabled() const {
57  return large_cursor_enabled_;
58}
59
60void DefaultAccessibilityDelegate::SetAutoclickEnabled(bool enabled) {
61  autoclick_enabled_ = enabled;
62}
63
64bool DefaultAccessibilityDelegate::IsAutoclickEnabled() const {
65  return autoclick_enabled_;
66}
67
68void DefaultAccessibilityDelegate::SetVirtualKeyboardEnabled(bool enabled) {
69  virtual_keyboard_enabled_ = enabled;
70}
71
72bool DefaultAccessibilityDelegate::IsVirtualKeyboardEnabled() const {
73  return virtual_keyboard_enabled_;
74}
75
76bool DefaultAccessibilityDelegate::ShouldShowAccessibilityMenu() const {
77  return spoken_feedback_enabled_ ||
78         high_contrast_enabled_ ||
79         screen_magnifier_enabled_ ||
80         large_cursor_enabled_ ||
81         autoclick_enabled_ ||
82         virtual_keyboard_enabled_;
83}
84
85bool DefaultAccessibilityDelegate::IsBrailleDisplayConnected() const {
86  return false;
87}
88
89void DefaultAccessibilityDelegate::SilenceSpokenFeedback() const {
90}
91
92void DefaultAccessibilityDelegate::ToggleSpokenFeedback(
93    AccessibilityNotificationVisibility notify) {
94  spoken_feedback_enabled_ = !spoken_feedback_enabled_;
95}
96
97void DefaultAccessibilityDelegate::SaveScreenMagnifierScale(double scale) {
98}
99
100double DefaultAccessibilityDelegate::GetSavedScreenMagnifierScale() {
101  return std::numeric_limits<double>::min();
102}
103
104void DefaultAccessibilityDelegate::TriggerAccessibilityAlert(
105    AccessibilityAlert alert) {
106  accessibility_alert_ = alert;
107}
108
109AccessibilityAlert DefaultAccessibilityDelegate::GetLastAccessibilityAlert() {
110  return accessibility_alert_;
111}
112
113void DefaultAccessibilityDelegate::PlayEarcon(int sound_key) {
114}
115
116base::TimeDelta DefaultAccessibilityDelegate::PlayShutdownSound() const {
117  return base::TimeDelta();
118}
119
120}  // namespace ash
121