| 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 |