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

Side by Side Diff: cc/software_renderer_unittest.cc

Issue 11411050: cc: Make the DrawQuad subclasses into struct-like classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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/software_renderer.cc ('k') | cc/solid_color_draw_quad.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 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/software_renderer.h" 5 #include "cc/software_renderer.h"
6 6
7 #include "cc/quad_sink.h" 7 #include "cc/quad_sink.h"
8 #include "cc/render_pass.h" 8 #include "cc/render_pass.h"
9 #include "cc/render_pass_draw_quad.h" 9 #include "cc/render_pass_draw_quad.h"
10 #include "cc/solid_color_draw_quad.h" 10 #include "cc/solid_color_draw_quad.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 gfx::Size innerSize(98, 98); 62 gfx::Size innerSize(98, 98);
63 gfx::Rect outerRect(gfx::Point(), outerSize); 63 gfx::Rect outerRect(gfx::Point(), outerSize);
64 gfx::Rect innerRect(gfx::Point(1, 1), innerSize); 64 gfx::Rect innerRect(gfx::Point(1, 1), innerSize);
65 setViewportSize(outerSize); 65 setViewportSize(outerSize);
66 66
67 initializeRenderer(); 67 initializeRenderer();
68 68
69 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::create(WebTra nsformationMatrix(), outerRect, outerRect, 1.0); 69 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::create(WebTra nsformationMatrix(), outerRect, outerRect, 1.0);
70 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 70 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
71 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::create(rootRende rPassId, outerRect, WebTransformationMatrix()); 71 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::create(rootRende rPassId, outerRect, WebTransformationMatrix());
72 scoped_ptr<DrawQuad> outerQuad = SolidColorDrawQuad::create(sharedQuadState. get(), outerRect, SK_ColorYELLOW).PassAs<DrawQuad>(); 72 scoped_ptr<SolidColorDrawQuad> outerQuad = SolidColorDrawQuad::Create();
73 scoped_ptr<DrawQuad> innerQuad = SolidColorDrawQuad::create(sharedQuadState. get(), innerRect, SK_ColorCYAN).PassAs<DrawQuad>(); 73 outerQuad->SetNew(sharedQuadState.get(), outerRect, SK_ColorYELLOW);
74 rootRenderPass->appendQuad(innerQuad.Pass()); 74 scoped_ptr<SolidColorDrawQuad> innerQuad = SolidColorDrawQuad::Create();
75 rootRenderPass->appendQuad(outerQuad.Pass()); 75 innerQuad->SetNew(sharedQuadState.get(), innerRect, SK_ColorCYAN);
76 rootRenderPass->appendQuad(innerQuad.PassAs<DrawQuad>());
77 rootRenderPass->appendQuad(outerQuad.PassAs<DrawQuad>());
76 78
77 RenderPassList list; 79 RenderPassList list;
78 RenderPassIdHashMap hashmap; 80 RenderPassIdHashMap hashmap;
79 list.push_back(rootRenderPass.get()); 81 list.push_back(rootRenderPass.get());
80 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>()); 82 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>());
81 renderer()->drawFrame(list, hashmap); 83 renderer()->drawFrame(list, hashmap);
82 84
83 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]); 85 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]);
84 renderer()->getFramebufferPixels(pixels.get(), outerRect); 86 renderer()->getFramebufferPixels(pixels.get(), outerRect);
85 87
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 cyanPixels[i] = cyan; 121 cyanPixels[i] = cyan;
120 122
121 resourceProvider()->setPixels(resourceYellow, reinterpret_cast<uint8_t*>(yel lowPixels.get()), gfx::Rect(gfx::Point(), outerSize), gfx::Rect(gfx::Point(), ou terSize), gfx::Vector2d()); 123 resourceProvider()->setPixels(resourceYellow, reinterpret_cast<uint8_t*>(yel lowPixels.get()), gfx::Rect(gfx::Point(), outerSize), gfx::Rect(gfx::Point(), ou terSize), gfx::Vector2d());
122 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d()); 124 resourceProvider()->setPixels(resourceCyan, reinterpret_cast<uint8_t*>(cyanP ixels.get()), gfx::Rect(gfx::Point(), innerSize), gfx::Rect(gfx::Point(), innerS ize), gfx::Vector2d());
123 125
124 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize()); 126 gfx::Rect rect = gfx::Rect(gfx::Point(), deviceViewportSize());
125 127
126 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::create(WebTra nsformationMatrix(), outerRect, outerRect, 1.0); 128 scoped_ptr<SharedQuadState> sharedQuadState = SharedQuadState::create(WebTra nsformationMatrix(), outerRect, outerRect, 1.0);
127 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1); 129 RenderPass::Id rootRenderPassId = RenderPass::Id(1, 1);
128 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::create(rootRende rPassId, gfx::Rect(gfx::Point(), deviceViewportSize()), WebTransformationMatrix( )); 130 scoped_ptr<TestRenderPass> rootRenderPass = TestRenderPass::create(rootRende rPassId, gfx::Rect(gfx::Point(), deviceViewportSize()), WebTransformationMatrix( ));
129 scoped_ptr<DrawQuad> outerQuad = TileDrawQuad::create(sharedQuadState.get(), outerRect, outerRect, resourceYellow, gfx::RectF(gfx::PointF(), outerSize), out erSize, false, false, false, false, false).PassAs<DrawQuad>(); 131 scoped_ptr<TileDrawQuad> outerQuad = TileDrawQuad::Create();
130 scoped_ptr<DrawQuad> innerQuad = TileDrawQuad::create(sharedQuadState.get(), innerRect, innerRect, resourceCyan, gfx::RectF(gfx::PointF(), innerSize), inner Size, false, false, false, false, false).PassAs<DrawQuad>(); 132 outerQuad->SetNew(sharedQuadState.get(), outerRect, outerRect, resourceYello w, gfx::RectF(gfx::PointF(), outerSize), outerSize, false, false, false, false, false);
131 rootRenderPass->appendQuad(innerQuad.Pass()); 133 scoped_ptr<TileDrawQuad> innerQuad = TileDrawQuad::Create();
132 rootRenderPass->appendQuad(outerQuad.Pass()); 134 innerQuad->SetNew(sharedQuadState.get(), innerRect, innerRect, resourceCyan, gfx::RectF(gfx::PointF(), innerSize), innerSize, false, false, false, false, fa lse);
135 rootRenderPass->appendQuad(innerQuad.PassAs<DrawQuad>());
136 rootRenderPass->appendQuad(outerQuad.PassAs<DrawQuad>());
133 137
134 RenderPassList list; 138 RenderPassList list;
135 RenderPassIdHashMap hashmap; 139 RenderPassIdHashMap hashmap;
136 list.push_back(rootRenderPass.get()); 140 list.push_back(rootRenderPass.get());
137 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>()); 141 hashmap.add(rootRenderPassId, rootRenderPass.PassAs<RenderPass>());
138 renderer()->drawFrame(list, hashmap); 142 renderer()->drawFrame(list, hashmap);
139 143
140 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]); 144 scoped_array<SkColor> pixels(new SkColor[deviceViewportSize().width() * devi ceViewportSize().height()]);
141 renderer()->getFramebufferPixels(pixels.get(), outerRect); 145 renderer()->getFramebufferPixels(pixels.get(), outerRect);
142 146
143 EXPECT_EQ(SK_ColorYELLOW, pixels[0]); 147 EXPECT_EQ(SK_ColorYELLOW, pixels[0]);
144 EXPECT_EQ(SK_ColorYELLOW, pixels[outerPixels - 1]); 148 EXPECT_EQ(SK_ColorYELLOW, pixels[outerPixels - 1]);
145 EXPECT_EQ(SK_ColorCYAN, pixels[outerSize.width() + 1]); 149 EXPECT_EQ(SK_ColorCYAN, pixels[outerSize.width() + 1]);
146 EXPECT_EQ(SK_ColorCYAN, pixels[outerPixels - outerSize.width() - 2]); 150 EXPECT_EQ(SK_ColorCYAN, pixels[outerPixels - outerSize.width() - 2]);
147 } 151 }
148 152
149 } // namespace 153 } // namespace
150 } // namespace cc 154 } // namespace cc
OLDNEW
« no previous file with comments | « cc/software_renderer.cc ('k') | cc/solid_color_draw_quad.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698