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 #ifndef CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ |
6 #define CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 std::vector<AccessibilityFocusRing>* rings) const; | 47 std::vector<AccessibilityFocusRing>* rings) const; |
48 | 48 |
49 virtual int GetMargin() const; | 49 virtual int GetMargin() const; |
50 | 50 |
51 private: | 51 private: |
52 // FocusRingLayerDelegate. | 52 // FocusRingLayerDelegate. |
53 void OnDeviceScaleFactorChanged() override; | 53 void OnDeviceScaleFactorChanged() override; |
54 | 54 |
55 // CompositorAnimationObserver. | 55 // CompositorAnimationObserver. |
56 void OnAnimationStep(base::TimeTicks timestamp) override; | 56 void OnAnimationStep(base::TimeTicks timestamp) override; |
| 57 void OnCompositingShuttingDown(ui::Compositor* compositor) override; |
57 | 58 |
58 void Update(); | 59 void Update(); |
59 | 60 |
60 AccessibilityFocusRing RingFromSortedRects( | 61 AccessibilityFocusRing RingFromSortedRects( |
61 const std::vector<gfx::Rect>& rects) const; | 62 const std::vector<gfx::Rect>& rects) const; |
62 void SplitIntoParagraphShape( | 63 void SplitIntoParagraphShape( |
63 const std::vector<gfx::Rect>& rects, | 64 const std::vector<gfx::Rect>& rects, |
64 gfx::Rect* top, | 65 gfx::Rect* top, |
65 gfx::Rect* middle, | 66 gfx::Rect* middle, |
66 gfx::Rect* bottom) const; | 67 gfx::Rect* bottom) const; |
67 bool Intersects(const gfx::Rect& r1, const gfx::Rect& r2) const; | 68 bool Intersects(const gfx::Rect& r1, const gfx::Rect& r2) const; |
68 | 69 |
69 std::vector<gfx::Rect> rects_; | 70 std::vector<gfx::Rect> rects_; |
70 std::vector<AccessibilityFocusRing> previous_rings_; | 71 std::vector<AccessibilityFocusRing> previous_rings_; |
71 std::vector<AccessibilityFocusRing> rings_; | 72 std::vector<AccessibilityFocusRing> rings_; |
72 ScopedVector<AccessibilityFocusRingLayer> layers_; | 73 ScopedVector<AccessibilityFocusRingLayer> layers_; |
73 base::TimeTicks focus_change_time_; | 74 base::TimeTicks focus_change_time_; |
74 ui::Compositor* compositor_; | 75 ui::Compositor* compositor_; |
75 | 76 |
76 friend struct DefaultSingletonTraits<AccessibilityFocusRingController>; | 77 friend struct DefaultSingletonTraits<AccessibilityFocusRingController>; |
77 | 78 |
78 DISALLOW_COPY_AND_ASSIGN(AccessibilityFocusRingController); | 79 DISALLOW_COPY_AND_ASSIGN(AccessibilityFocusRingController); |
79 }; | 80 }; |
80 | 81 |
81 } // namespace chromeos | 82 } // namespace chromeos |
82 | 83 |
83 #endif // CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ | 84 #endif // CHROME_BROWSER_CHROMEOS_UI_ACCESSIBILITY_FOCUS_RING_CONTROLLER_H_ |
OLD | NEW |