| 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, false)); | 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(sharedState
, rect, color); |
| 83 SolidColorDrawQuad* quadPtr = quad.get(); | 83 SolidColorDrawQuad* quadPtr = quad.get(); |
| 84 quadSink.append(quad.PassAs<DrawQuad>(), data); | 84 quadSink.append(quad.PassAs<DrawQuad>(), data); |
| 85 return quadPtr; | 85 return quadPtr; |
| 86 } | 86 } |
| 87 | 87 |
| 88 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) | 88 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
ngPass) |
| 89 { | 89 { |
| 90 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); | 90 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()); |
| 91 AppendQuadsData data(toPass->id()); | 91 AppendQuadsData data(toPass->id()); |
| 92 gfx::Rect outputRect = contributingPass->outputRect(); | 92 gfx::Rect outputRect = contributingPass->outputRect(); |
| 93 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::
create(WebTransformationMatrix(), outputRect, outputRect, 1, false)); | 93 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); | 94 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::create(sharedState
, outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0); |
| 95 quadSink.append(quad.PassAs<DrawQuad>(), data); | 95 quadSink.append(quad.PassAs<DrawQuad>(), data); |
| 96 } | 96 } |
| 97 | 97 |
| 98 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { | 98 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe
st { |
| 99 public: | 99 public: |
| 100 DelegatedRendererLayerImplTestSimple() | 100 DelegatedRendererLayerImplTestSimple() |
| 101 : DelegatedRendererLayerImplTest() | 101 : DelegatedRendererLayerImplTest() |
| 102 { | 102 { |
| 103 scoped_ptr<LayerImpl> rootLayer = SolidColorLayerImpl::create(1).PassAs<
LayerImpl>(); | 103 scoped_ptr<LayerImpl> rootLayer = SolidColorLayerImpl::create(1).PassAs<
LayerImpl>(); |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 delegatedRendererLayer->setDrawsContent(true); | 395 delegatedRendererLayer->setDrawsContent(true); |
| 396 WebTransformationMatrix transform; | 396 WebTransformationMatrix transform; |
| 397 transform.translate(10, 10); | 397 transform.translate(10, 10); |
| 398 delegatedRendererLayer->setTransform(transform); | 398 delegatedRendererLayer->setTransform(transform); |
| 399 | 399 |
| 400 ScopedPtrVector<RenderPass> delegatedRenderPasses; | 400 ScopedPtrVector<RenderPass> delegatedRenderPasses; |
| 401 gfx::Rect passRect(0, 0, 50, 50); | 401 gfx::Rect passRect(0, 0, 50, 50); |
| 402 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); | 402 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass::
Id(9, 6), passRect, WebTransformationMatrix()); |
| 403 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); | 403 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); |
| 404 AppendQuadsData data(pass->id()); | 404 AppendQuadsData data(pass->id()); |
| 405 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta
te::create(WebTransformationMatrix(), passRect, passRect, 1, false)); | 405 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); | 406 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(0, 0,
10, 10), 1u).PassAs<DrawQuad>(), data); |
| 407 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(0, 10,
10, 10), 2u).PassAs<DrawQuad>(), data); | 407 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(0, 10,
10, 10), 2u).PassAs<DrawQuad>(), data); |
| 408 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 0,
10, 10), 3u).PassAs<DrawQuad>(), data); | 408 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 0,
10, 10), 3u).PassAs<DrawQuad>(), data); |
| 409 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 10
, 10, 10), 4u).PassAs<DrawQuad>(), data); | 409 quadSink.append(SolidColorDrawQuad::create(sharedState, gfx::Rect(10, 10
, 10, 10), 4u).PassAs<DrawQuad>(), data); |
| 410 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); | 410 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); |
| 411 | 411 |
| 412 // The RenderPasses should be taken by the layer. | 412 // The RenderPasses should be taken by the layer. |
| 413 EXPECT_EQ(0u, delegatedRenderPasses.size()); | 413 EXPECT_EQ(0u, delegatedRenderPasses.size()); |
| 414 | 414 |
| 415 m_rootLayerPtr = rootLayer.get(); | 415 m_rootLayerPtr = rootLayer.get(); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 447 | 447 |
| 448 // The state should be transformed only once. | 448 // The state should be transformed only once. |
| 449 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); | 449 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clippedRectInTarget); |
| 450 WebTransformationMatrix expected; | 450 WebTransformationMatrix expected; |
| 451 expected.translate(30, 30); | 451 expected.translate(30, 30); |
| 452 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); | 452 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); |
| 453 } | 453 } |
| 454 | 454 |
| 455 } // namespace | 455 } // namespace |
| 456 } // namespace cc | 456 } // namespace cc |
| OLD | NEW |