OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h" | 5 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 | 81 |
82 void AccessibilityFocusRingController::SetFocusRing( | 82 void AccessibilityFocusRingController::SetFocusRing( |
83 const std::vector<gfx::Rect>& rects, | 83 const std::vector<gfx::Rect>& rects, |
84 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) { | 84 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) { |
85 focus_ring_behavior_ = focus_ring_behavior; | 85 focus_ring_behavior_ = focus_ring_behavior; |
86 OnLayerChange(&focus_animation_info_); | 86 OnLayerChange(&focus_animation_info_); |
87 focus_rects_ = rects; | 87 focus_rects_ = rects; |
88 UpdateFocusRingsFromFocusRects(); | 88 UpdateFocusRingsFromFocusRects(); |
89 } | 89 } |
90 | 90 |
| 91 void AccessibilityFocusRingController::HideFocusRing() { |
| 92 focus_rects_.clear(); |
| 93 UpdateFocusRingsFromFocusRects(); |
| 94 } |
| 95 |
91 void AccessibilityFocusRingController::UpdateFocusRingsFromFocusRects() { | 96 void AccessibilityFocusRingController::UpdateFocusRingsFromFocusRects() { |
92 previous_focus_rings_.swap(focus_rings_); | 97 previous_focus_rings_.swap(focus_rings_); |
93 focus_rings_.clear(); | 98 focus_rings_.clear(); |
94 RectsToRings(focus_rects_, &focus_rings_); | 99 RectsToRings(focus_rects_, &focus_rings_); |
95 focus_layers_.resize(focus_rings_.size()); | 100 focus_layers_.resize(focus_rings_.size()); |
96 if (focus_rings_.empty()) | 101 if (focus_rings_.empty()) |
97 return; | 102 return; |
98 | 103 |
99 for (size_t i = 0; i < focus_rings_.size(); ++i) { | 104 for (size_t i = 0; i < focus_rings_.size(); ++i) { |
100 if (!focus_layers_[i]) | 105 if (!focus_layers_[i]) |
(...skipping 25 matching lines...) Expand all Loading... |
126 cursor_location_ = location; | 131 cursor_location_ = location; |
127 if (!cursor_layer_) { | 132 if (!cursor_layer_) { |
128 cursor_layer_.reset(new AccessibilityCursorRingLayer( | 133 cursor_layer_.reset(new AccessibilityCursorRingLayer( |
129 this, kCursorRingColorRed, kCursorRingColorGreen, | 134 this, kCursorRingColorRed, kCursorRingColorGreen, |
130 kCursorRingColorBlue)); | 135 kCursorRingColorBlue)); |
131 } | 136 } |
132 cursor_layer_->Set(location); | 137 cursor_layer_->Set(location); |
133 OnLayerChange(&cursor_animation_info_); | 138 OnLayerChange(&cursor_animation_info_); |
134 } | 139 } |
135 | 140 |
| 141 void AccessibilityFocusRingController::HideCursorRing() { |
| 142 cursor_layer_.reset(); |
| 143 } |
| 144 |
136 void AccessibilityFocusRingController::SetCaretRing( | 145 void AccessibilityFocusRingController::SetCaretRing( |
137 const gfx::Point& location) { | 146 const gfx::Point& location) { |
138 caret_location_ = location; | 147 caret_location_ = location; |
139 | 148 |
140 if (!caret_layer_) { | 149 if (!caret_layer_) { |
141 caret_layer_.reset(new AccessibilityCursorRingLayer( | 150 caret_layer_.reset(new AccessibilityCursorRingLayer( |
142 this, kCaretRingColorRed, kCaretRingColorGreen, kCaretRingColorBlue)); | 151 this, kCaretRingColorRed, kCaretRingColorGreen, kCaretRingColorBlue)); |
143 } | 152 } |
144 | 153 |
145 caret_layer_->Set(location); | 154 caret_layer_->Set(location); |
146 OnLayerChange(&caret_animation_info_); | 155 OnLayerChange(&caret_animation_info_); |
147 } | 156 } |
148 | 157 |
| 158 void AccessibilityFocusRingController::HideCaretRing() { |
| 159 caret_layer_.reset(); |
| 160 } |
| 161 |
149 void AccessibilityFocusRingController::SetNoFadeForTesting() { | 162 void AccessibilityFocusRingController::SetNoFadeForTesting() { |
150 focus_animation_info_.fade_in_time = base::TimeDelta(); | 163 focus_animation_info_.fade_in_time = base::TimeDelta(); |
151 focus_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); | 164 focus_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); |
152 cursor_animation_info_.fade_in_time = base::TimeDelta(); | 165 cursor_animation_info_.fade_in_time = base::TimeDelta(); |
153 cursor_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); | 166 cursor_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); |
154 caret_animation_info_.fade_in_time = base::TimeDelta(); | 167 caret_animation_info_.fade_in_time = base::TimeDelta(); |
155 caret_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); | 168 caret_animation_info_.fade_out_time = base::TimeDelta::FromHours(1); |
156 } | 169 } |
157 | 170 |
158 void AccessibilityFocusRingController::RectsToRings( | 171 void AccessibilityFocusRingController::RectsToRings( |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 | 466 |
454 ComputeOpacity(&caret_animation_info_, timestamp); | 467 ComputeOpacity(&caret_animation_info_, timestamp); |
455 if (caret_animation_info_.opacity == 0.0) { | 468 if (caret_animation_info_.opacity == 0.0) { |
456 caret_layer_.reset(); | 469 caret_layer_.reset(); |
457 return; | 470 return; |
458 } | 471 } |
459 caret_layer_->SetOpacity(caret_animation_info_.opacity); | 472 caret_layer_->SetOpacity(caret_animation_info_.opacity); |
460 } | 473 } |
461 | 474 |
462 } // namespace chromeos | 475 } // namespace chromeos |
OLD | NEW |