Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2594)

Unified Diff: cc/scrollbar_layer_impl.cc

Issue 11550035: Implement pinch-zoom scaling for main-frame scrollbars and pinch-zoom overlay scrollbars. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Revised architecture - complete cl for comments on approach. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/scrollbar_layer_impl.cc
diff --git a/cc/scrollbar_layer_impl.cc b/cc/scrollbar_layer_impl.cc
index 25d51cafd5e5142a132b6bb66fb0e1b95314bb83..8c30bfb88dc6e9c34eecd28ea6e8c44d326f2b90 100644
--- a/cc/scrollbar_layer_impl.cc
+++ b/cc/scrollbar_layer_impl.cc
@@ -41,6 +41,7 @@ ScrollbarLayerImpl::ScrollbarLayerImpl(LayerTreeImpl* treeImpl, int id, scoped_p
, m_enabled(false)
, m_isCustomScrollbar(false)
, m_isOverlayScrollbar(false)
+ , m_isPinchZoomScrollbar(false)
{
}
@@ -136,6 +137,16 @@ void ScrollbarLayerImpl::pushPropertiesTo(LayerImpl* layer)
void ScrollbarLayerImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQuadsData)
{
+ if (isPinchZoomScrollbar()) {
+ LayerImpl* rootScrollLayer = layerTreeImpl()->RootScrollLayer();
+ LayerImpl* currentlyScrollingLayer = layerTreeImpl()->CurrentlyScrollingLayer();
+ bool pinchZoomScrollbarShouldDraw = rootScrollLayer &&
+ rootScrollLayer == currentlyScrollingLayer &&
+ layerTreeImpl()->total_page_scale_factor() > 1;
+ if (!pinchZoomScrollbarShouldDraw)
+ return;
+ }
+
bool premultipledAlpha = false;
bool flipped = false;
gfx::PointF uvTopLeft(0.f, 0.f);
« cc/scrollbar_layer.h ('K') | « cc/scrollbar_layer_impl.h ('k') | cc/tree_synchronizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698