OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "cc/layers/painted_scrollbar_layer_impl.h" | 5 #include "cc/layers/painted_scrollbar_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "cc/animation/scrollbar_animation_controller.h" | 9 #include "cc/animation/scrollbar_animation_controller.h" |
10 #include "cc/layers/layer.h" | 10 #include "cc/layers/layer.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 gfx::Rect content_bounds_rect(content_bounds()); | 80 gfx::Rect content_bounds_rect(content_bounds()); |
81 | 81 |
82 SharedQuadState* shared_quad_state = | 82 SharedQuadState* shared_quad_state = |
83 render_pass->CreateAndAppendSharedQuadState(); | 83 render_pass->CreateAndAppendSharedQuadState(); |
84 PopulateSharedQuadState(shared_quad_state); | 84 PopulateSharedQuadState(shared_quad_state); |
85 | 85 |
86 AppendDebugBorderQuad( | 86 AppendDebugBorderQuad( |
87 render_pass, content_bounds(), shared_quad_state, append_quads_data); | 87 render_pass, content_bounds(), shared_quad_state, append_quads_data); |
88 | 88 |
89 gfx::Rect thumb_quad_rect = ComputeThumbQuadRect(); | 89 gfx::Rect thumb_quad_rect = ComputeThumbQuadRect(); |
90 gfx::Rect visible_thumb_quad_rect = occlusion_tracker.UnoccludedContentRect( | 90 Occlusion occlusion = |
91 thumb_quad_rect, draw_transform()); | 91 occlusion_tracker.GetCurrentOcclusionForLayer(draw_transform()); |
| 92 gfx::Rect visible_thumb_quad_rect = |
| 93 occlusion.GetUnoccludedContentRect(thumb_quad_rect); |
92 | 94 |
93 ResourceProvider::ResourceId thumb_resource_id = | 95 ResourceProvider::ResourceId thumb_resource_id = |
94 layer_tree_impl()->ResourceIdForUIResource(thumb_ui_resource_id_); | 96 layer_tree_impl()->ResourceIdForUIResource(thumb_ui_resource_id_); |
95 ResourceProvider::ResourceId track_resource_id = | 97 ResourceProvider::ResourceId track_resource_id = |
96 layer_tree_impl()->ResourceIdForUIResource(track_ui_resource_id_); | 98 layer_tree_impl()->ResourceIdForUIResource(track_ui_resource_id_); |
97 | 99 |
98 if (thumb_resource_id && !visible_thumb_quad_rect.IsEmpty()) { | 100 if (thumb_resource_id && !visible_thumb_quad_rect.IsEmpty()) { |
99 gfx::Rect opaque_rect; | 101 gfx::Rect opaque_rect; |
100 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; | 102 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; |
101 TextureDrawQuad* quad = | 103 TextureDrawQuad* quad = |
102 render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); | 104 render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); |
103 quad->SetNew(shared_quad_state, | 105 quad->SetNew(shared_quad_state, |
104 thumb_quad_rect, | 106 thumb_quad_rect, |
105 opaque_rect, | 107 opaque_rect, |
106 visible_thumb_quad_rect, | 108 visible_thumb_quad_rect, |
107 thumb_resource_id, | 109 thumb_resource_id, |
108 premultipled_alpha, | 110 premultipled_alpha, |
109 uv_top_left, | 111 uv_top_left, |
110 uv_bottom_right, | 112 uv_bottom_right, |
111 SK_ColorTRANSPARENT, | 113 SK_ColorTRANSPARENT, |
112 opacity, | 114 opacity, |
113 flipped); | 115 flipped); |
114 } | 116 } |
115 | 117 |
116 gfx::Rect track_quad_rect = content_bounds_rect; | 118 gfx::Rect track_quad_rect = content_bounds_rect; |
117 gfx::Rect visible_track_quad_rect = occlusion_tracker.UnoccludedContentRect( | 119 gfx::Rect visible_track_quad_rect = |
118 track_quad_rect, draw_transform()); | 120 occlusion.GetUnoccludedContentRect(track_quad_rect); |
119 if (track_resource_id && !visible_track_quad_rect.IsEmpty()) { | 121 if (track_resource_id && !visible_track_quad_rect.IsEmpty()) { |
120 gfx::Rect opaque_rect(contents_opaque() ? track_quad_rect : gfx::Rect()); | 122 gfx::Rect opaque_rect(contents_opaque() ? track_quad_rect : gfx::Rect()); |
121 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; | 123 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; |
122 TextureDrawQuad* quad = | 124 TextureDrawQuad* quad = |
123 render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); | 125 render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); |
124 quad->SetNew(shared_quad_state, | 126 quad->SetNew(shared_quad_state, |
125 track_quad_rect, | 127 track_quad_rect, |
126 opaque_rect, | 128 opaque_rect, |
127 visible_track_quad_rect, | 129 visible_track_quad_rect, |
128 track_resource_id, | 130 track_resource_id, |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 183 |
182 bool PaintedScrollbarLayerImpl::IsThumbResizable() const { | 184 bool PaintedScrollbarLayerImpl::IsThumbResizable() const { |
183 return false; | 185 return false; |
184 } | 186 } |
185 | 187 |
186 const char* PaintedScrollbarLayerImpl::LayerTypeAsString() const { | 188 const char* PaintedScrollbarLayerImpl::LayerTypeAsString() const { |
187 return "cc::PaintedScrollbarLayerImpl"; | 189 return "cc::PaintedScrollbarLayerImpl"; |
188 } | 190 } |
189 | 191 |
190 } // namespace cc | 192 } // namespace cc |
OLD | NEW |