OLD | NEW |
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/output/software_renderer.h" | 5 #include "cc/output/software_renderer.h" |
6 | 6 |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "cc/output/compositor_frame_metadata.h" | 8 #include "cc/output/compositor_frame_metadata.h" |
9 #include "cc/output/copy_output_request.h" | 9 #include "cc/output/copy_output_request.h" |
10 #include "cc/output/copy_output_result.h" | 10 #include "cc/output/copy_output_result.h" |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 RGBA_8888); | 167 RGBA_8888); |
168 | 168 |
169 SkBitmap yellow_tile; | 169 SkBitmap yellow_tile; |
170 yellow_tile.allocN32Pixels(outer_size.width(), outer_size.height()); | 170 yellow_tile.allocN32Pixels(outer_size.width(), outer_size.height()); |
171 yellow_tile.eraseColor(SK_ColorYELLOW); | 171 yellow_tile.eraseColor(SK_ColorYELLOW); |
172 | 172 |
173 SkBitmap cyan_tile; | 173 SkBitmap cyan_tile; |
174 cyan_tile.allocN32Pixels(inner_size.width(), inner_size.height()); | 174 cyan_tile.allocN32Pixels(inner_size.width(), inner_size.height()); |
175 cyan_tile.eraseColor(SK_ColorCYAN); | 175 cyan_tile.eraseColor(SK_ColorCYAN); |
176 | 176 |
177 resource_provider()->SetPixels( | 177 resource_provider()->CopyToResource( |
178 resource_yellow, | 178 resource_yellow, static_cast<uint8_t*>(yellow_tile.getPixels()), |
179 static_cast<uint8_t*>(yellow_tile.getPixels()), | 179 outer_size); |
180 gfx::Rect(outer_size), | 180 resource_provider()->CopyToResource( |
181 gfx::Rect(outer_size), | 181 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), inner_size); |
182 gfx::Vector2d()); | |
183 resource_provider()->SetPixels(resource_cyan, | |
184 static_cast<uint8_t*>(cyan_tile.getPixels()), | |
185 gfx::Rect(inner_size), | |
186 gfx::Rect(inner_size), | |
187 gfx::Vector2d()); | |
188 | 182 |
189 gfx::Rect root_rect = outer_rect; | 183 gfx::Rect root_rect = outer_rect; |
190 | 184 |
191 RenderPassId root_render_pass_id = RenderPassId(1, 1); | 185 RenderPassId root_render_pass_id = RenderPassId(1, 1); |
192 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); | 186 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); |
193 root_render_pass->SetNew( | 187 root_render_pass->SetNew( |
194 root_render_pass_id, root_rect, root_rect, gfx::Transform()); | 188 root_render_pass_id, root_rect, root_rect, gfx::Transform()); |
195 SharedQuadState* shared_quad_state = | 189 SharedQuadState* shared_quad_state = |
196 root_render_pass->CreateAndAppendSharedQuadState(); | 190 root_render_pass->CreateAndAppendSharedQuadState(); |
197 shared_quad_state->SetAll(gfx::Transform(), | 191 shared_quad_state->SetAll(gfx::Transform(), |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 RGBA_8888); | 252 RGBA_8888); |
259 | 253 |
260 SkBitmap cyan_tile; // The lowest five rows are yellow. | 254 SkBitmap cyan_tile; // The lowest five rows are yellow. |
261 cyan_tile.allocN32Pixels(tile_size.width(), tile_size.height()); | 255 cyan_tile.allocN32Pixels(tile_size.width(), tile_size.height()); |
262 cyan_tile.eraseColor(SK_ColorCYAN); | 256 cyan_tile.eraseColor(SK_ColorCYAN); |
263 cyan_tile.eraseArea( | 257 cyan_tile.eraseArea( |
264 SkIRect::MakeLTRB( | 258 SkIRect::MakeLTRB( |
265 0, visible_rect.bottom() - 1, tile_rect.width(), tile_rect.bottom()), | 259 0, visible_rect.bottom() - 1, tile_rect.width(), tile_rect.bottom()), |
266 SK_ColorYELLOW); | 260 SK_ColorYELLOW); |
267 | 261 |
268 resource_provider()->SetPixels(resource_cyan, | 262 resource_provider()->CopyToResource( |
269 static_cast<uint8_t*>(cyan_tile.getPixels()), | 263 resource_cyan, static_cast<uint8_t*>(cyan_tile.getPixels()), tile_size); |
270 gfx::Rect(tile_size), | |
271 gfx::Rect(tile_size), | |
272 gfx::Vector2d()); | |
273 | 264 |
274 gfx::Rect root_rect(tile_size); | 265 gfx::Rect root_rect(tile_size); |
275 | 266 |
276 RenderPassId root_render_pass_id = RenderPassId(1, 1); | 267 RenderPassId root_render_pass_id = RenderPassId(1, 1); |
277 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); | 268 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); |
278 root_render_pass->SetNew( | 269 root_render_pass->SetNew( |
279 root_render_pass_id, root_rect, root_rect, gfx::Transform()); | 270 root_render_pass_id, root_rect, root_rect, gfx::Transform()); |
280 SharedQuadState* shared_quad_state = | 271 SharedQuadState* shared_quad_state = |
281 root_render_pass->CreateAndAppendSharedQuadState(); | 272 root_render_pass->CreateAndAppendSharedQuadState(); |
282 shared_quad_state->SetAll(gfx::Transform(), | 273 shared_quad_state->SetAll(gfx::Transform(), |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 EXPECT_EQ( | 425 EXPECT_EQ( |
435 SK_ColorMAGENTA, | 426 SK_ColorMAGENTA, |
436 output->getColor(interior_visible_rect.x(), interior_visible_rect.y())); | 427 output->getColor(interior_visible_rect.x(), interior_visible_rect.y())); |
437 EXPECT_EQ(SK_ColorMAGENTA, | 428 EXPECT_EQ(SK_ColorMAGENTA, |
438 output->getColor(interior_visible_rect.right() - 1, | 429 output->getColor(interior_visible_rect.right() - 1, |
439 interior_visible_rect.bottom() - 1)); | 430 interior_visible_rect.bottom() - 1)); |
440 } | 431 } |
441 | 432 |
442 } // namespace | 433 } // namespace |
443 } // namespace cc | 434 } // namespace cc |
OLD | NEW |