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

Side by Side Diff: cc/quad_culler_unittest.cc

Issue 11280263: Organize internal properties of cc/ layer types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed all feedback so far Created 8 years 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
OLDNEW
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/quad_culler.h" 5 #include "cc/quad_culler.h"
6 6
7 #include "cc/append_quads_data.h" 7 #include "cc/append_quads_data.h"
8 #include "cc/layer_tiling_data.h" 8 #include "cc/layer_tiling_data.h"
9 #include "cc/math_util.h" 9 #include "cc/math_util.h"
10 #include "cc/occlusion_tracker.h" 10 #include "cc/occlusion_tracker.h"
(...skipping 25 matching lines...) Expand all
36 36
37 typedef LayerIterator<LayerImpl, std::vector<LayerImpl*>, RenderSurfaceImpl, Lay erIteratorActions::FrontToBack> LayerIteratorType; 37 typedef LayerIterator<LayerImpl, std::vector<LayerImpl*>, RenderSurfaceImpl, Lay erIteratorActions::FrontToBack> LayerIteratorType;
38 38
39 static scoped_ptr<TiledLayerImpl> makeLayer(TiledLayerImpl* parent, const gfx::T ransform& drawTransform, const gfx::Rect& layerRect, float opacity, bool opaque, const gfx::Rect& layerOpaqueRect, std::vector<LayerImpl*>& surfaceLayerList) 39 static scoped_ptr<TiledLayerImpl> makeLayer(TiledLayerImpl* parent, const gfx::T ransform& drawTransform, const gfx::Rect& layerRect, float opacity, bool opaque, const gfx::Rect& layerOpaqueRect, std::vector<LayerImpl*>& surfaceLayerList)
40 { 40 {
41 scoped_ptr<TiledLayerImpl> layer = TiledLayerImpl::create(1); 41 scoped_ptr<TiledLayerImpl> layer = TiledLayerImpl::create(1);
42 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(gfx::Size(100, 1 00), LayerTilingData::NoBorderTexels); 42 scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(gfx::Size(100, 1 00), LayerTilingData::NoBorderTexels);
43 tiler->setBounds(layerRect.size()); 43 tiler->setBounds(layerRect.size());
44 layer->setTilingData(*tiler); 44 layer->setTilingData(*tiler);
45 layer->setSkipsDraw(false); 45 layer->setSkipsDraw(false);
46 layer->setDrawTransform(drawTransform); 46 layer->drawProperties().target_space_transform = drawTransform;
47 layer->setScreenSpaceTransform(drawTransform); 47 layer->drawProperties().screen_space_transform = drawTransform;
48 layer->setVisibleContentRect(layerRect); 48 layer->drawProperties().visible_content_rect = layerRect;
49 layer->setDrawOpacity(opacity); 49 layer->drawProperties().opacity = opacity;
50 layer->setContentsOpaque(opaque); 50 layer->setContentsOpaque(opaque);
51 layer->setBounds(layerRect.size()); 51 layer->setBounds(layerRect.size());
52 layer->setContentBounds(layerRect.size()); 52 layer->setContentBounds(layerRect.size());
53 53
54 ResourceProvider::ResourceId resourceId = 1; 54 ResourceProvider::ResourceId resourceId = 1;
55 for (int i = 0; i < tiler->numTilesX(); ++i) 55 for (int i = 0; i < tiler->numTilesX(); ++i)
56 for (int j = 0; j < tiler->numTilesY(); ++j) { 56 for (int j = 0; j < tiler->numTilesY(); ++j) {
57 gfx::Rect tileOpaqueRect = opaque ? tiler->tileBounds(i, j) : gfx::Int ersectRects(tiler->tileBounds(i, j), layerOpaqueRect); 57 gfx::Rect tileOpaqueRect = opaque ? tiler->tileBounds(i, j) : gfx::Int ersectRects(tiler->tileBounds(i, j), layerOpaqueRect);
58 layer->pushTileProperties(i, j, resourceId++, tileOpaqueRect, false) ; 58 layer->pushTileProperties(i, j, resourceId++, tileOpaqueRect, false) ;
59 } 59 }
60 60
61 gfx::Rect rectInTarget = MathUtil::mapClippedRect(layer->drawTransform(), la yer->visibleContentRect()); 61 gfx::Rect rectInTarget = MathUtil::mapClippedRect(layer->drawTransform(), la yer->visibleContentRect());
62 if (!parent) { 62 if (!parent) {
63 layer->createRenderSurface(); 63 layer->createRenderSurface();
64 surfaceLayerList.push_back(layer.get()); 64 surfaceLayerList.push_back(layer.get());
65 layer->renderSurface()->layerList().push_back(layer.get()); 65 layer->renderSurface()->layerList().push_back(layer.get());
66 } else { 66 } else {
67 layer->setRenderTarget(parent->renderTarget()); 67 layer->drawProperties().render_target = parent->renderTarget();
68 parent->renderSurface()->layerList().push_back(layer.get()); 68 parent->renderSurface()->layerList().push_back(layer.get());
69 rectInTarget.Union(MathUtil::mapClippedRect(parent->drawTransform(), par ent->visibleContentRect())); 69 rectInTarget.Union(MathUtil::mapClippedRect(parent->drawTransform(), par ent->visibleContentRect()));
70 } 70 }
71 layer->setDrawableContentRect(rectInTarget); 71 layer->drawProperties().drawable_content_rect = rectInTarget;
72 72
73 return layer.Pass(); 73 return layer.Pass();
74 } 74 }
75 75
76 static void appendQuads(QuadList& quadList, SharedQuadStateList& sharedStateList , TiledLayerImpl* layer, LayerIteratorType& it, OcclusionTrackerImpl& occlusionT racker) 76 static void appendQuads(QuadList& quadList, SharedQuadStateList& sharedStateList , TiledLayerImpl* layer, LayerIteratorType& it, OcclusionTrackerImpl& occlusionT racker)
77 { 77 {
78 occlusionTracker.enterLayer(it); 78 occlusionTracker.enterLayer(it);
79 QuadCuller quadCuller(quadList, sharedStateList, layer, occlusionTracker, fa lse, false); 79 QuadCuller quadCuller(quadList, sharedStateList, layer, occlusionTracker, fa lse, false);
80 AppendQuadsData data; 80 AppendQuadsData data;
81 layer->appendQuads(quadCuller, data); 81 layer->appendQuads(quadCuller, data);
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r); 457 appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracke r);
458 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker ); 458 appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker );
459 EXPECT_EQ(quadList.size(), 9u); 459 EXPECT_EQ(quadList.size(), 9u);
460 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsDrawnOpaque(), 0, 1); 460 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsDrawnOpaque(), 0, 1);
461 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsDrawnTranslucent(), 0, 1); 461 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
462 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsCulledForDrawing(), 0, 1); 462 EXPECT_NEAR(occlusionTracker.overdrawMetrics().pixelsCulledForDrawing(), 0, 1);
463 } 463 }
464 464
465 } // namespace 465 } // namespace
466 } // namespace cc 466 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698