OLD | NEW |
---|---|
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/layer_tree_host_impl.h" | 5 #include "cc/layer_tree_host_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
437 } | 437 } |
438 } | 438 } |
439 | 439 |
440 bool LayerTreeHostImpl::calculateRenderPasses(FrameData& frame) | 440 bool LayerTreeHostImpl::calculateRenderPasses(FrameData& frame) |
441 { | 441 { |
442 DCHECK(frame.renderPasses.empty()); | 442 DCHECK(frame.renderPasses.empty()); |
443 | 443 |
444 if (!canDraw() || !rootLayer()) | 444 if (!canDraw() || !rootLayer()) |
445 return false; | 445 return false; |
446 | 446 |
447 // Set the opacity of the pinch zoom scrollbars. This is done here | |
448 // so that it comes after the commit and we can directly set the | |
449 // opacity on the impl scrollbar layers. | |
450 activeTree()->SetPinchZoomScrollbarsVisibility(); | |
jamesr
2013/02/26 20:48:46
Why is this different for the pinch zoom scrollbar
wjmaclean
2013/03/01 15:30:32
Because I had thought in the initial CL we would d
| |
451 | |
447 trackDamageForAllSurfaces(rootLayer(), *frame.renderSurfaceLayerList); | 452 trackDamageForAllSurfaces(rootLayer(), *frame.renderSurfaceLayerList); |
448 | 453 |
449 TRACE_EVENT1("cc", "LayerTreeHostImpl::calculateRenderPasses", "renderSurfac eLayerList.size()", static_cast<long long unsigned>(frame.renderSurfaceLayerList ->size())); | 454 TRACE_EVENT1("cc", "LayerTreeHostImpl::calculateRenderPasses", "renderSurfac eLayerList.size()", static_cast<long long unsigned>(frame.renderSurfaceLayerList ->size())); |
450 | 455 |
451 // Create the render passes in dependency order. | 456 // Create the render passes in dependency order. |
452 for (int surfaceIndex = frame.renderSurfaceLayerList->size() - 1; surfaceInd ex >= 0 ; --surfaceIndex) { | 457 for (int surfaceIndex = frame.renderSurfaceLayerList->size() - 1; surfaceInd ex >= 0 ; --surfaceIndex) { |
453 LayerImpl* renderSurfaceLayer = (*frame.renderSurfaceLayerList)[surfaceI ndex]; | 458 LayerImpl* renderSurfaceLayer = (*frame.renderSurfaceLayerList)[surfaceI ndex]; |
454 renderSurfaceLayer->renderSurface()->appendRenderPasses(frame); | 459 renderSurfaceLayer->renderSurface()->appendRenderPasses(frame); |
455 } | 460 } |
456 | 461 |
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1346 // Allow further movement only on an axis perpendicular to the direction in which the layer | 1351 // Allow further movement only on an axis perpendicular to the direction in which the layer |
1347 // moved. | 1352 // moved. |
1348 gfx::Vector2dF perpendicularAxis(-appliedDelta.y(), appliedDelta.x()); | 1353 gfx::Vector2dF perpendicularAxis(-appliedDelta.y(), appliedDelta.x()); |
1349 pendingDelta = MathUtil::projectVector(pendingDelta, perpendicularAxis); | 1354 pendingDelta = MathUtil::projectVector(pendingDelta, perpendicularAxis); |
1350 | 1355 |
1351 if (gfx::ToFlooredVector2d(pendingDelta).IsZero()) | 1356 if (gfx::ToFlooredVector2d(pendingDelta).IsZero()) |
1352 break; | 1357 break; |
1353 } | 1358 } |
1354 | 1359 |
1355 if (didScroll) { | 1360 if (didScroll) { |
1361 activeTree()->UpdatePinchZoomScrollbarsIfNeeded(); | |
1356 m_client->setNeedsCommitOnImplThread(); | 1362 m_client->setNeedsCommitOnImplThread(); |
1357 m_client->setNeedsRedrawOnImplThread(); | 1363 m_client->setNeedsRedrawOnImplThread(); |
1358 m_client->renewTreePriority(); | 1364 m_client->renewTreePriority(); |
1359 } | 1365 } |
1360 return didScroll; | 1366 return didScroll; |
1361 } | 1367 } |
1362 | 1368 |
1363 void LayerTreeHostImpl::clearCurrentlyScrollingLayer() | 1369 void LayerTreeHostImpl::clearCurrentlyScrollingLayer() |
1364 { | 1370 { |
1365 m_activeTree->ClearCurrentlyScrollingLayer(); | 1371 m_activeTree->ClearCurrentlyScrollingLayer(); |
1366 m_didLockScrollingLayer = false; | 1372 m_didLockScrollingLayer = false; |
1367 } | 1373 } |
1368 | 1374 |
1369 void LayerTreeHostImpl::scrollEnd() | 1375 void LayerTreeHostImpl::scrollEnd() |
1370 { | 1376 { |
1371 if (m_topControlsManager) | 1377 if (m_topControlsManager) |
1372 m_topControlsManager->ScrollEnd(); | 1378 m_topControlsManager->ScrollEnd(); |
1373 clearCurrentlyScrollingLayer(); | 1379 clearCurrentlyScrollingLayer(); |
1380 if (activeTree()->HasPinchZoomScrollbars()) | |
1381 m_client->setNeedsRedrawOnImplThread(); | |
1374 } | 1382 } |
1375 | 1383 |
1376 void LayerTreeHostImpl::pinchGestureBegin() | 1384 void LayerTreeHostImpl::pinchGestureBegin() |
1377 { | 1385 { |
1378 m_pinchGestureActive = true; | 1386 m_pinchGestureActive = true; |
1379 m_previousPinchAnchor = gfx::Point(); | 1387 m_previousPinchAnchor = gfx::Point(); |
1380 m_client->renewTreePriority(); | 1388 m_client->renewTreePriority(); |
1381 } | 1389 } |
1382 | 1390 |
1383 void LayerTreeHostImpl::pinchGestureUpdate(float magnifyDelta, gfx::Point anchor ) | 1391 void LayerTreeHostImpl::pinchGestureUpdate(float magnifyDelta, gfx::Point anchor ) |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1720 m_tileManager->SetRecordRenderingStats(m_debugState.recordRenderingStats ()); | 1728 m_tileManager->SetRecordRenderingStats(m_debugState.recordRenderingStats ()); |
1721 } | 1729 } |
1722 | 1730 |
1723 void LayerTreeHostImpl::savePaintTime(const base::TimeDelta& totalPaintTime, int commitNumber) | 1731 void LayerTreeHostImpl::savePaintTime(const base::TimeDelta& totalPaintTime, int commitNumber) |
1724 { | 1732 { |
1725 DCHECK(m_debugState.continuousPainting); | 1733 DCHECK(m_debugState.continuousPainting); |
1726 m_paintTimeCounter->SavePaintTime(totalPaintTime, commitNumber); | 1734 m_paintTimeCounter->SavePaintTime(totalPaintTime, commitNumber); |
1727 } | 1735 } |
1728 | 1736 |
1729 } // namespace cc | 1737 } // namespace cc |
OLD | NEW |