| 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 |