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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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(WebTransformationMatrix(), rect, rect, 1)); |
82 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::create(sharedState
, rect, color); | 82 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); |
| 83 quad->SetNew(sharedState, rect, color); |
83 SolidColorDrawQuad* quadPtr = quad.get(); | 84 SolidColorDrawQuad* quadPtr = quad.get(); |
84 quadSink.append(quad.PassAs<DrawQuad>(), data); | 85 quadSink.append(quad.PassAs<DrawQuad>(), data); |
85 return quadPtr; | 86 return quadPtr; |
86 } | 87 } |
87 | 88 |
88 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) | 89 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) |
89 { | 90 { |
90 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); | 91 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); |
91 AppendQuadsData data(toPass->id()); | 92 AppendQuadsData data(toPass->id()); |
92 gfx::Rect outputRect = contributingPass->outputRect(); | 93 gfx::Rect outputRect = contributingPass->outputRect(); |
93 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
create(WebTransformationMatrix(), outputRect, outputRect, 1)); | 94 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
create(WebTransformationMatrix(), outputRect, outputRect, 1)); |
94 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::create(sharedState
, outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0); | 95 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); |
| 96 quad->SetNew(sharedState, outputRect, contributingPass->id(), false, 0, outp
utRect, 0, 0, 0, 0); |
95 quadSink.append(quad.PassAs<DrawQuad>(), data); | 97 quadSink.append(quad.PassAs<DrawQuad>(), data); |
96 } | 98 } |
97 | 99 |
98 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { | 100 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { |
99 public: | 101 public: |
100 DelegatedRendererLayerImplTestSimple() | 102 DelegatedRendererLayerImplTestSimple() |
101 : DelegatedRendererLayerImplTest() | 103 : DelegatedRendererLayerImplTest() |
102 { | 104 { |
103 scoped_ptr<LayerImpl> rootLayer = SolidColorLayerImpl::create(1).PassAs<
LayerImpl>(); | 105 scoped_ptr<LayerImpl> rootLayer = SolidColorLayerImpl::create(1).PassAs<
LayerImpl>(); |
104 scoped_ptr<LayerImpl> layerBefore = SolidColorLayerImpl::create(2).PassA
s<LayerImpl>(); | 106 scoped_ptr<LayerImpl> layerBefore = SolidColorLayerImpl::create(2).PassA
s<LayerImpl>(); |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 WebTransformationMatrix transform; | 398 WebTransformationMatrix transform; |
397 transform.translate(10, 10); | 399 transform.translate(10, 10); |
398 delegatedRendererLayer->setTransform(transform); | 400 delegatedRendererLayer->setTransform(transform); |
399 | 401 |
400 ScopedPtrVector<RenderPass> delegatedRenderPasses; | 402 ScopedPtrVector<RenderPass> delegatedRenderPasses; |
401 gfx::Rect passRect(0, 0, 50, 50); | 403 gfx::Rect passRect(0, 0, 50, 50); |
402 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); | 404 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); |
403 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); | 405 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); |
404 AppendQuadsData data(pass->id()); | 406 AppendQuadsData data(pass->id()); |
405 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta
te::create(WebTransformationMatrix(), passRect, passRect, 1)); | 407 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta
te::create(WebTransformationMatrix(), passRect, passRect, 1)); |
406 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(0, 0,
10, 10), 1u).PassAs<DrawQuad>(), data); | 408 scoped_ptr<SolidColorDrawQuad> colorQuad; |
407 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(0, 10,
10, 10), 2u).PassAs<DrawQuad>(), data); | 409 |
408 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 0,
10, 10), 3u).PassAs<DrawQuad>(), data); | 410 colorQuad = SolidColorDrawQuad::Create(); |
409 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 10
, 10, 10), 4u).PassAs<DrawQuad>(), data); | 411 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u); |
| 412 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
| 413 |
| 414 colorQuad = SolidColorDrawQuad::Create(); |
| 415 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u); |
| 416 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
| 417 |
| 418 colorQuad = SolidColorDrawQuad::Create(); |
| 419 colorQuad->SetNew(sharedState, gfx::Rect(10, 0, 10, 10), 3u); |
| 420 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
| 421 |
| 422 colorQuad = SolidColorDrawQuad::Create(); |
| 423 colorQuad->SetNew(sharedState, gfx::Rect(10, 10, 10, 10), 4u); |
| 424 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); |
| 425 |
410 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); | 426 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); |
411 | 427 |
412 // The RenderPasses should be taken by the layer. | 428 // The RenderPasses should be taken by the layer. |
413 EXPECT_EQ(0u, delegatedRenderPasses.size()); | 429 EXPECT_EQ(0u, delegatedRenderPasses.size()); |
414 | 430 |
415 m_rootLayerPtr = rootLayer.get(); | 431 m_rootLayerPtr = rootLayer.get(); |
416 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); | 432 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); |
417 | 433 |
418 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>()); | 434 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>()); |
419 | 435 |
(...skipping 27 matching lines...) Expand all Loading... |
447 | 463 |
448 // The state should be transformed only once. | 464 // The state should be transformed only once. |
449 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); | 465 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); |
450 WebTransformationMatrix expected; | 466 WebTransformationMatrix expected; |
451 expected.translate(30, 30); | 467 expected.translate(30, 30); |
452 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); | 468 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); |
453 } | 469 } |
454 | 470 |
455 } // namespace | 471 } // namespace |
456 } // namespace cc | 472 } // namespace cc |
OLD | NEW |