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/delegated_renderer_layer_impl.h" | 5 #include "cc/delegated_renderer_layer_impl.h" |
6 | 6 |
7 #include "cc/append_quads_data.h" | 7 #include "cc/append_quads_data.h" |
8 #include "cc/layer_tree_host_impl.h" | 8 #include "cc/layer_tree_host_impl.h" |
9 #include "cc/quad_sink.h" | 9 #include "cc/quad_sink.h" |
10 #include "cc/render_pass_draw_quad.h" | 10 #include "cc/render_pass_draw_quad.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 scoped_ptr<TestRenderPass> pass(TestRenderPass::create(id, outputRect, rootT
ransform)); | 71 scoped_ptr<TestRenderPass> pass(TestRenderPass::create(id, outputRect, rootT
ransform)); |
72 TestRenderPass* saved = pass.get(); | 72 TestRenderPass* saved = pass.get(); |
73 passList.append(pass.PassAs<RenderPass>()); | 73 passList.append(pass.PassAs<RenderPass>()); |
74 return saved; | 74 return saved; |
75 } | 75 } |
76 | 76 |
77 static SolidColorDrawQuad* addQuad(TestRenderPass* pass, gfx::Rect rect, SkColor
color) | 77 static SolidColorDrawQuad* addQuad(TestRenderPass* pass, gfx::Rect rect, SkColor
color) |
78 { | 78 { |
79 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); | 79 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); |
80 AppendQuadsData data(pass->id()); | 80 AppendQuadsData data(pass->id()); |
81 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
create(WebTransformationMatrix(), rect, rect, 1)); | 81 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
Create()); |
| 82 sharedState->SetAll(WebTransformationMatrix(), rect, rect, 1); |
82 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); | 83 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); |
83 quad->SetNew(sharedState, rect, color); | 84 quad->SetNew(sharedState, rect, color); |
84 SolidColorDrawQuad* quadPtr = quad.get(); | 85 SolidColorDrawQuad* quadPtr = quad.get(); |
85 quadSink.append(quad.PassAs<DrawQuad>(), data); | 86 quadSink.append(quad.PassAs<DrawQuad>(), data); |
86 return quadPtr; | 87 return quadPtr; |
87 } | 88 } |
88 | 89 |
89 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) | 90 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) |
90 { | 91 { |
91 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); | 92 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); |
92 AppendQuadsData data(toPass->id()); | 93 AppendQuadsData data(toPass->id()); |
93 gfx::Rect outputRect = contributingPass->outputRect(); | 94 gfx::Rect outputRect = contributingPass->outputRect(); |
94 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
create(WebTransformationMatrix(), outputRect, outputRect, 1)); | 95 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
Create()); |
| 96 sharedState->SetAll(WebTransformationMatrix(), outputRect, outputRect, 1); |
95 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); | 97 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); |
96 quad->SetNew(sharedState, outputRect, contributingPass->id(), false, 0, outp
utRect, 0, 0, 0, 0); | 98 quad->SetNew(sharedState, outputRect, contributingPass->id(), false, 0, outp
utRect, 0, 0, 0, 0); |
97 quadSink.append(quad.PassAs<DrawQuad>(), data); | 99 quadSink.append(quad.PassAs<DrawQuad>(), data); |
98 } | 100 } |
99 | 101 |
100 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { | 102 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { |
101 public: | 103 public: |
102 DelegatedRendererLayerImplTestSimple() | 104 DelegatedRendererLayerImplTestSimple() |
103 : DelegatedRendererLayerImplTest() | 105 : DelegatedRendererLayerImplTest() |
104 { | 106 { |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 delegatedRendererLayer->setDrawsContent(true); | 399 delegatedRendererLayer->setDrawsContent(true); |
398 WebTransformationMatrix transform; | 400 WebTransformationMatrix transform; |
399 transform.translate(10, 10); | 401 transform.translate(10, 10); |
400 delegatedRendererLayer->setTransform(transform); | 402 delegatedRendererLayer->setTransform(transform); |
401 | 403 |
402 ScopedPtrVector<RenderPass> delegatedRenderPasses; | 404 ScopedPtrVector<RenderPass> delegatedRenderPasses; |
403 gfx::Rect passRect(0, 0, 50, 50); | 405 gfx::Rect passRect(0, 0, 50, 50); |
404 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); | 406 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); |
405 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); | 407 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); |
406 AppendQuadsData data(pass->id()); | 408 AppendQuadsData data(pass->id()); |
407 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta
te::create(WebTransformationMatrix(), passRect, passRect, 1)); | 409 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta
te::Create()); |
| 410 sharedState->SetAll(WebTransformationMatrix(), passRect, passRect, 1); |
408 scoped_ptr<SolidColorDrawQuad> colorQuad; | 411 scoped_ptr<SolidColorDrawQuad> colorQuad; |
409 | 412 |
410 colorQuad = SolidColorDrawQuad::Create(); | 413 colorQuad = SolidColorDrawQuad::Create(); |
411 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u); | 414 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u); |
412 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); | 415 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
413 | 416 |
414 colorQuad = SolidColorDrawQuad::Create(); | 417 colorQuad = SolidColorDrawQuad::Create(); |
415 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u); | 418 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u); |
416 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); | 419 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
417 | 420 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 const QuadList& quadList = frame.renderPasses[0]->quadList(); | 458 const QuadList& quadList = frame.renderPasses[0]->quadList(); |
456 ASSERT_EQ(4u, quadList.size()); | 459 ASSERT_EQ(4u, quadList.size()); |
457 | 460 |
458 // All quads should share the same state. | 461 // All quads should share the same state. |
459 const SharedQuadState* sharedState = quadList[0]->shared_quad_state; | 462 const SharedQuadState* sharedState = quadList[0]->shared_quad_state; |
460 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state); | 463 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state); |
461 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state); | 464 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state); |
462 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state); | 465 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state); |
463 | 466 |
464 // The state should be transformed only once. | 467 // The state should be transformed only once. |
465 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); | 468 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_targe
t); |
466 WebTransformationMatrix expected; | 469 WebTransformationMatrix expected; |
467 expected.translate(30, 30); | 470 expected.translate(30, 30); |
468 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); | 471 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_tra
nsform); |
469 } | 472 } |
470 | 473 |
471 } // namespace | 474 } // namespace |
472 } // namespace cc | 475 } // namespace cc |
OLD | NEW |