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

Side by Side Diff: cc/layer_tree_host.cc

Issue 11264056: cc: Use gfx:: Geometry types for positions, bounds, and related things. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ScaleAsVector Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/layer_tree_host.h ('k') | cc/layer_tree_host_common.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "config.h" 5 #include "config.h"
6 6
7 #include "cc/layer_tree_host.h" 7 #include "cc/layer_tree_host.h"
8 8
9 #include "Region.h" 9 #include "Region.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 , showPlatformLayerTree(false) 43 , showPlatformLayerTree(false)
44 , showPaintRects(false) 44 , showPaintRects(false)
45 , showPropertyChangedRects(false) 45 , showPropertyChangedRects(false)
46 , showSurfaceDamageRects(false) 46 , showSurfaceDamageRects(false)
47 , showScreenSpaceRects(false) 47 , showScreenSpaceRects(false)
48 , showReplicaScreenSpaceRects(false) 48 , showReplicaScreenSpaceRects(false)
49 , showOccludingRects(false) 49 , showOccludingRects(false)
50 , renderVSyncEnabled(true) 50 , renderVSyncEnabled(true)
51 , refreshRate(0) 51 , refreshRate(0)
52 , maxPartialTextureUpdates(std::numeric_limits<size_t>::max()) 52 , maxPartialTextureUpdates(std::numeric_limits<size_t>::max())
53 , defaultTileSize(IntSize(256, 256)) 53 , defaultTileSize(gfx::Size(256, 256))
54 , maxUntiledLayerSize(IntSize(512, 512)) 54 , maxUntiledLayerSize(gfx::Size(512, 512))
55 , minimumOcclusionTrackingSize(IntSize(160, 160)) 55 , minimumOcclusionTrackingSize(gfx::Size(160, 160))
56 { 56 {
57 } 57 }
58 58
59 LayerTreeSettings::~LayerTreeSettings() 59 LayerTreeSettings::~LayerTreeSettings()
60 { 60 {
61 } 61 }
62 62
63 RendererCapabilities::RendererCapabilities() 63 RendererCapabilities::RendererCapabilities()
64 : bestTextureFormat(0) 64 : bestTextureFormat(0)
65 , contextHasCachedFrontBuffer(false) 65 , contextHasCachedFrontBuffer(false)
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 return; 158 return;
159 } 159 }
160 160
161 // Update m_settings based on capabilities that we got back from the rendere r. 161 // Update m_settings based on capabilities that we got back from the rendere r.
162 m_settings.acceleratePainting = m_proxy->rendererCapabilities().usingAcceler atedPainting; 162 m_settings.acceleratePainting = m_proxy->rendererCapabilities().usingAcceler atedPainting;
163 163
164 // Update m_settings based on partial update capability. 164 // Update m_settings based on partial update capability.
165 m_settings.maxPartialTextureUpdates = min(m_settings.maxPartialTextureUpdate s, m_proxy->maxPartialTextureUpdates()); 165 m_settings.maxPartialTextureUpdates = min(m_settings.maxPartialTextureUpdate s, m_proxy->maxPartialTextureUpdates());
166 166
167 m_contentsTextureManager = PrioritizedTextureManager::create(0, m_proxy->ren dererCapabilities().maxTextureSize, Renderer::ContentPool); 167 m_contentsTextureManager = PrioritizedTextureManager::create(0, m_proxy->ren dererCapabilities().maxTextureSize, Renderer::ContentPool);
168 m_surfaceMemoryPlaceholder = m_contentsTextureManager->createTexture(IntSize (), GL_RGBA); 168 m_surfaceMemoryPlaceholder = m_contentsTextureManager->createTexture(gfx::Si ze(), GL_RGBA);
169 169
170 m_rendererInitialized = true; 170 m_rendererInitialized = true;
171 171
172 m_settings.defaultTileSize = IntSize(min(m_settings.defaultTileSize.width(), m_proxy->rendererCapabilities().maxTextureSize), 172 m_settings.defaultTileSize = gfx::Size(min(m_settings.defaultTileSize.width( ), m_proxy->rendererCapabilities().maxTextureSize),
173 min(m_settings.defaultTileSize.height() , m_proxy->rendererCapabilities().maxTextureSize)); 173 min(m_settings.defaultTileSize.height (), m_proxy->rendererCapabilities().maxTextureSize));
174 m_settings.maxUntiledLayerSize = IntSize(min(m_settings.maxUntiledLayerSize. width(), m_proxy->rendererCapabilities().maxTextureSize), 174 m_settings.maxUntiledLayerSize = gfx::Size(min(m_settings.maxUntiledLayerSiz e.width(), m_proxy->rendererCapabilities().maxTextureSize),
175 min(m_settings.maxUntiledLayerSize. height(), m_proxy->rendererCapabilities().maxTextureSize)); 175 min(m_settings.maxUntiledLayerSiz e.height(), m_proxy->rendererCapabilities().maxTextureSize));
176 } 176 }
177 177
178 LayerTreeHost::RecreateResult LayerTreeHost::recreateContext() 178 LayerTreeHost::RecreateResult LayerTreeHost::recreateContext()
179 { 179 {
180 TRACE_EVENT0("cc", "LayerTreeHost::recreateContext"); 180 TRACE_EVENT0("cc", "LayerTreeHost::recreateContext");
181 DCHECK(m_contextLost); 181 DCHECK(m_contextLost);
182 182
183 bool recreated = false; 183 bool recreated = false;
184 if (!m_numTimesRecreateShouldFail) 184 if (!m_numTimesRecreateShouldFail)
185 recreated = m_proxy->recreateContext(); 185 recreated = m_proxy->recreateContext();
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 m_rootLayer = rootLayer; 414 m_rootLayer = rootLayer;
415 if (m_rootLayer) 415 if (m_rootLayer)
416 m_rootLayer->setLayerTreeHost(this); 416 m_rootLayer->setLayerTreeHost(this);
417 417
418 if (m_hudLayer) 418 if (m_hudLayer)
419 m_hudLayer->removeFromParent(); 419 m_hudLayer->removeFromParent();
420 420
421 setNeedsCommit(); 421 setNeedsCommit();
422 } 422 }
423 423
424 void LayerTreeHost::setViewportSize(const IntSize& layoutViewportSize, const Int Size& deviceViewportSize) 424 void LayerTreeHost::setViewportSize(const gfx::Size& layoutViewportSize, const g fx::Size& deviceViewportSize)
425 { 425 {
426 if (layoutViewportSize == m_layoutViewportSize && deviceViewportSize == m_de viceViewportSize) 426 if (layoutViewportSize == m_layoutViewportSize && deviceViewportSize == m_de viceViewportSize)
427 return; 427 return;
428 428
429 m_layoutViewportSize = layoutViewportSize; 429 m_layoutViewportSize = layoutViewportSize;
430 m_deviceViewportSize = deviceViewportSize; 430 m_deviceViewportSize = deviceViewportSize;
431 431
432 setNeedsCommit(); 432 setNeedsCommit();
433 } 433 }
434 434
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 } 495 }
496 496
497 void LayerTreeHost::updateLayers(ResourceUpdateQueue& queue, size_t memoryAlloca tionLimitBytes) 497 void LayerTreeHost::updateLayers(ResourceUpdateQueue& queue, size_t memoryAlloca tionLimitBytes)
498 { 498 {
499 DCHECK(m_rendererInitialized); 499 DCHECK(m_rendererInitialized);
500 DCHECK(memoryAllocationLimitBytes); 500 DCHECK(memoryAllocationLimitBytes);
501 501
502 if (!rootLayer()) 502 if (!rootLayer())
503 return; 503 return;
504 504
505 if (layoutViewportSize().isEmpty()) 505 if (layoutViewportSize().IsEmpty())
506 return; 506 return;
507 507
508 m_contentsTextureManager->setMaxMemoryLimitBytes(memoryAllocationLimitBytes) ; 508 m_contentsTextureManager->setMaxMemoryLimitBytes(memoryAllocationLimitBytes) ;
509 509
510 updateLayers(rootLayer(), queue); 510 updateLayers(rootLayer(), queue);
511 } 511 }
512 512
513 static Layer* findFirstScrollableLayer(Layer* layer) 513 static Layer* findFirstScrollableLayer(Layer* layer)
514 { 514 {
515 if (!layer) 515 if (!layer)
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 prioritizeTextures(renderSurfaceLayerList, occlusionTracker.overdrawMetrics( )); 668 prioritizeTextures(renderSurfaceLayerList, occlusionTracker.overdrawMetrics( ));
669 669
670 LayerIteratorType end = LayerIteratorType::end(&renderSurfaceLayerList); 670 LayerIteratorType end = LayerIteratorType::end(&renderSurfaceLayerList);
671 for (LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList ); it != end; ++it) { 671 for (LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList ); it != end; ++it) {
672 occlusionTracker.enterLayer(it); 672 occlusionTracker.enterLayer(it);
673 673
674 if (it.representsTargetRenderSurface()) { 674 if (it.representsTargetRenderSurface()) {
675 DCHECK(it->renderSurface()->drawOpacity() || it->renderSurface()->dr awOpacityIsAnimating()); 675 DCHECK(it->renderSurface()->drawOpacity() || it->renderSurface()->dr awOpacityIsAnimating());
676 needMoreUpdates |= paintMasksForRenderSurface(*it, queue); 676 needMoreUpdates |= paintMasksForRenderSurface(*it, queue);
677 } else if (it.representsItself()) { 677 } else if (it.representsItself()) {
678 DCHECK(!it->bounds().isEmpty()); 678 DCHECK(!it->bounds().IsEmpty());
679 it->update(queue, &occlusionTracker, m_renderingStats); 679 it->update(queue, &occlusionTracker, m_renderingStats);
680 needMoreUpdates |= it->needMoreUpdates(); 680 needMoreUpdates |= it->needMoreUpdates();
681 } 681 }
682 682
683 occlusionTracker.leaveLayer(it); 683 occlusionTracker.leaveLayer(it);
684 } 684 }
685 685
686 occlusionTracker.overdrawMetrics().recordMetrics(this); 686 occlusionTracker.overdrawMetrics().recordMetrics(this);
687 687
688 return needMoreUpdates; 688 return needMoreUpdates;
(...skipping 13 matching lines...) Expand all
702 continue; 702 continue;
703 if (layer == rootScrollLayer) 703 if (layer == rootScrollLayer)
704 rootScrollDelta += info.scrolls[i].scrollDelta; 704 rootScrollDelta += info.scrolls[i].scrollDelta;
705 else 705 else
706 layer->setScrollPosition(layer->scrollPosition() + info.scrolls[i].s crollDelta); 706 layer->setScrollPosition(layer->scrollPosition() + info.scrolls[i].s crollDelta);
707 } 707 }
708 if (!rootScrollDelta.isZero() || info.pageScaleDelta != 1) 708 if (!rootScrollDelta.isZero() || info.pageScaleDelta != 1)
709 m_client->applyScrollAndScale(rootScrollDelta, info.pageScaleDelta); 709 m_client->applyScrollAndScale(rootScrollDelta, info.pageScaleDelta);
710 } 710 }
711 711
712 FloatPoint LayerTreeHost::adjustEventPointForPinchZoom(const FloatPoint& point) 712 gfx::PointF LayerTreeHost::adjustEventPointForPinchZoom(const gfx::PointF& point )
713 const 713 const
714 { 714 {
715 WebKit::WebTransformationMatrix inverseImplTransform = m_implTransform; 715 WebKit::WebTransformationMatrix inverseImplTransform = m_implTransform;
716 // TODO(wjmaclean) Need to determine why the next two lines are 716 // TODO(wjmaclean) Need to determine why the next two lines are
717 // necessary for this to work ... it seems like just inverting 717 // necessary for this to work ... it seems like just inverting
718 // m_implTransform should be sufficient. 718 // m_implTransform should be sufficient.
719 DCHECK(inverseImplTransform.m11()); 719 DCHECK(inverseImplTransform.m11());
720 DCHECK(inverseImplTransform.m22()); 720 DCHECK(inverseImplTransform.m22());
721 inverseImplTransform.setM41(inverseImplTransform.m41() 721 inverseImplTransform.setM41(inverseImplTransform.m41()
722 / inverseImplTransform.m11()); 722 / inverseImplTransform.m11());
723 inverseImplTransform.setM42(inverseImplTransform.m42() 723 inverseImplTransform.setM42(inverseImplTransform.m42()
724 / inverseImplTransform.m22()); 724 / inverseImplTransform.m22());
725 inverseImplTransform = inverseImplTransform.inverse(); 725 inverseImplTransform = inverseImplTransform.inverse();
726 bool wasClipped = false; 726 bool wasClipped = false;
727 FloatPoint adjustedPoint = MathUtil::projectPoint(inverseImplTransform, poin t, wasClipped); 727 gfx::PointF adjustedPoint = MathUtil::projectPoint(inverseImplTransform, poi nt, wasClipped);
728 DCHECK(!wasClipped); 728 DCHECK(!wasClipped);
729 729
730 return adjustedPoint; 730 return adjustedPoint;
731 } 731 }
732 732
733 void LayerTreeHost::setImplTransform(const WebKit::WebTransformationMatrix& tran sform) 733 void LayerTreeHost::setImplTransform(const WebKit::WebTransformationMatrix& tran sform)
734 { 734 {
735 m_implTransform = transform; 735 m_implTransform = transform;
736 } 736 }
737 737
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 else 833 else
834 layer->notifyAnimationFinished(wallClockTime.ToDoubleT()); 834 layer->notifyAnimationFinished(wallClockTime.ToDoubleT());
835 } 835 }
836 } 836 }
837 837
838 for (size_t childIndex = 0; childIndex < layer->children().size(); ++childIn dex) 838 for (size_t childIndex = 0; childIndex < layer->children().size(); ++childIn dex)
839 setAnimationEventsRecursive(events, layer->children()[childIndex].get(), wallClockTime); 839 setAnimationEventsRecursive(events, layer->children()[childIndex].get(), wallClockTime);
840 } 840 }
841 841
842 } // namespace cc 842 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layer_tree_host.h ('k') | cc/layer_tree_host_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698