| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/scrollbar_layer_impl.h" | 5 #include "cc/scrollbar_layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/layer_tree_impl.h" | 7 #include "cc/layer_tree_impl.h" |
| 8 #include "cc/layer_tree_settings.h" |
| 8 #include "cc/quad_sink.h" | 9 #include "cc/quad_sink.h" |
| 9 #include "cc/scrollbar_animation_controller.h" | 10 #include "cc/scrollbar_animation_controller.h" |
| 11 #include "cc/solid_color_draw_quad.h" |
| 10 #include "cc/texture_draw_quad.h" | 12 #include "cc/texture_draw_quad.h" |
| 11 #include "ui/gfx/rect_conversions.h" | 13 #include "ui/gfx/rect_conversions.h" |
| 12 | 14 |
| 13 using WebKit::WebRect; | 15 using WebKit::WebRect; |
| 14 using WebKit::WebScrollbar; | 16 using WebKit::WebScrollbar; |
| 15 | 17 |
| 16 namespace cc { | 18 namespace cc { |
| 17 | 19 |
| 18 scoped_ptr<ScrollbarLayerImpl> ScrollbarLayerImpl::create(LayerTreeImpl* treeImp
l, int id, scoped_ptr<ScrollbarGeometryFixedThumb> geometry) | 20 scoped_ptr<ScrollbarLayerImpl> ScrollbarLayerImpl::create(LayerTreeImpl* treeImp
l, int id, scoped_ptr<ScrollbarGeometryFixedThumb> geometry) |
| 19 { | 21 { |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 gfx::Rect contentBoundsRect(gfx::Point(), contentBounds()); | 146 gfx::Rect contentBoundsRect(gfx::Point(), contentBounds()); |
| 145 | 147 |
| 146 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQ
uadState()); | 148 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQ
uadState()); |
| 147 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); | 149 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); |
| 148 | 150 |
| 149 WebRect thumbRect, backTrackRect, foreTrackRect; | 151 WebRect thumbRect, backTrackRect, foreTrackRect; |
| 150 m_geometry->splitTrack(&m_scrollbar, m_geometry->trackRect(&m_scrollbar), ba
ckTrackRect, thumbRect, foreTrackRect); | 152 m_geometry->splitTrack(&m_scrollbar, m_geometry->trackRect(&m_scrollbar), ba
ckTrackRect, thumbRect, foreTrackRect); |
| 151 if (!m_geometry->hasThumb(&m_scrollbar)) | 153 if (!m_geometry->hasThumb(&m_scrollbar)) |
| 152 thumbRect = WebRect(); | 154 thumbRect = WebRect(); |
| 153 | 155 |
| 156 if (layerTreeImpl()->settings().solidColorScrollbars) { |
| 157 if (m_scrollbar.orientation() == WebScrollbar::Horizontal) |
| 158 thumbRect.height -= layerTreeImpl()->settings().solidColorScrollbarM
argin; |
| 159 else |
| 160 thumbRect.width -= layerTreeImpl()->settings().solidColorScrollbarMa
rgin; |
| 161 gfx::Rect quadRect(scrollbarLayerRectToContentRect(thumbRect)); |
| 162 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); |
| 163 quad->SetNew(sharedQuadState, quadRect, layerTreeImpl()->settings().soli
dColorScrollbarColor); |
| 164 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); |
| 165 return; |
| 166 } |
| 167 |
| 154 if (m_thumbResourceId && !thumbRect.isEmpty()) { | 168 if (m_thumbResourceId && !thumbRect.isEmpty()) { |
| 155 gfx::Rect quadRect(scrollbarLayerRectToContentRect(thumbRect)); | 169 gfx::Rect quadRect(scrollbarLayerRectToContentRect(thumbRect)); |
| 156 gfx::Rect opaqueRect; | 170 gfx::Rect opaqueRect; |
| 157 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; | 171 const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f}; |
| 158 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); | 172 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); |
| 159 quad->SetNew(sharedQuadState, quadRect, opaqueRect, m_thumbResourceId, p
remultipledAlpha, uvTopLeft, uvBottomRight, opacity, flipped); | 173 quad->SetNew(sharedQuadState, quadRect, opaqueRect, m_thumbResourceId, p
remultipledAlpha, uvTopLeft, uvBottomRight, opacity, flipped); |
| 160 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); | 174 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); |
| 161 } | 175 } |
| 162 | 176 |
| 163 if (!m_backTrackResourceId) | 177 if (!m_backTrackResourceId) |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 { | 286 { |
| 273 return m_owner->m_isCustomScrollbar; | 287 return m_owner->m_isCustomScrollbar; |
| 274 } | 288 } |
| 275 | 289 |
| 276 const char* ScrollbarLayerImpl::layerTypeAsString() const | 290 const char* ScrollbarLayerImpl::layerTypeAsString() const |
| 277 { | 291 { |
| 278 return "ScrollbarLayer"; | 292 return "ScrollbarLayer"; |
| 279 } | 293 } |
| 280 | 294 |
| 281 } // namespace cc | 295 } // namespace cc |
| OLD | NEW |