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/layers/delegated_renderer_layer_impl.h" | 5 #include "cc/layers/delegated_renderer_layer_impl.h" |
6 | 6 |
7 #include "cc/base/scoped_ptr_vector.h" | 7 #include "cc/base/scoped_ptr_vector.h" |
8 #include "cc/layers/append_quads_data.h" | 8 #include "cc/layers/append_quads_data.h" |
9 #include "cc/layers/quad_sink.h" | 9 #include "cc/layers/quad_sink.h" |
10 #include "cc/layers/solid_color_layer_impl.h" | 10 #include "cc/layers/solid_color_layer_impl.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 delegated_renderer_layer->SetPosition(gfx::Point(3, 3)); | 87 delegated_renderer_layer->SetPosition(gfx::Point(3, 3)); |
88 delegated_renderer_layer->SetBounds(gfx::Size(10, 10)); | 88 delegated_renderer_layer->SetBounds(gfx::Size(10, 10)); |
89 delegated_renderer_layer->SetContentBounds(gfx::Size(10, 10)); | 89 delegated_renderer_layer->SetContentBounds(gfx::Size(10, 10)); |
90 delegated_renderer_layer->SetDrawsContent(true); | 90 delegated_renderer_layer->SetDrawsContent(true); |
91 gfx::Transform transform; | 91 gfx::Transform transform; |
92 transform.Translate(1.0, 1.0); | 92 transform.Translate(1.0, 1.0); |
93 delegated_renderer_layer->SetTransform(transform); | 93 delegated_renderer_layer->SetTransform(transform); |
94 | 94 |
95 ScopedPtrVector<RenderPass> delegated_render_passes; | 95 ScopedPtrVector<RenderPass> delegated_render_passes; |
96 TestRenderPass* pass1 = AddRenderPass( | 96 TestRenderPass* pass1 = AddRenderPass( |
97 delegated_render_passes, | 97 &delegated_render_passes, |
98 RenderPass::Id(9, 6), | 98 RenderPass::Id(9, 6), |
99 gfx::Rect(6, 6, 6, 6), | 99 gfx::Rect(6, 6, 6, 6), |
100 gfx::Transform()); | 100 gfx::Transform()); |
101 AddQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u); | 101 AddQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u); |
102 TestRenderPass* pass2 = AddRenderPass( | 102 TestRenderPass* pass2 = AddRenderPass( |
103 delegated_render_passes, | 103 &delegated_render_passes, |
104 RenderPass::Id(9, 7), | 104 RenderPass::Id(9, 7), |
105 gfx::Rect(7, 7, 7, 7), | 105 gfx::Rect(7, 7, 7, 7), |
106 gfx::Transform()); | 106 gfx::Transform()); |
107 AddQuad(pass2, gfx::Rect(0, 0, 7, 7), 22u); | 107 AddQuad(pass2, gfx::Rect(0, 0, 7, 7), 22u); |
108 AddRenderPassQuad(pass2, pass1); | 108 AddRenderPassQuad(pass2, pass1); |
109 TestRenderPass* pass3 = AddRenderPass( | 109 TestRenderPass* pass3 = AddRenderPass( |
110 delegated_render_passes, | 110 &delegated_render_passes, |
111 RenderPass::Id(9, 8), | 111 RenderPass::Id(9, 8), |
112 gfx::Rect(0, 0, 8, 8), | 112 gfx::Rect(0, 0, 8, 8), |
113 gfx::Transform()); | 113 gfx::Transform()); |
114 AddRenderPassQuad(pass3, pass2); | 114 AddRenderPassQuad(pass3, pass2); |
115 delegated_renderer_layer->SetFrameDataForRenderPasses( | 115 delegated_renderer_layer->SetFrameDataForRenderPasses( |
116 &delegated_render_passes); | 116 &delegated_render_passes); |
117 | 117 |
118 // The RenderPasses should be taken by the layer. | 118 // The RenderPasses should be taken by the layer. |
119 EXPECT_EQ(0u, delegated_render_passes.size()); | 119 EXPECT_EQ(0u, delegated_render_passes.size()); |
120 | 120 |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 void SetUpTest() { | 463 void SetUpTest() { |
464 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create( | 464 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create( |
465 host_impl_->active_tree(), 1); | 465 host_impl_->active_tree(), 1); |
466 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = | 466 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = |
467 FakeDelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 2); | 467 FakeDelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 2); |
468 | 468 |
469 host_impl_->SetViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); | 469 host_impl_->SetViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); |
470 root_layer->SetBounds(gfx::Size(100, 100)); | 470 root_layer->SetBounds(gfx::Size(100, 100)); |
471 | 471 |
472 delegated_renderer_layer->SetPosition(gfx::Point(20, 20)); | 472 delegated_renderer_layer->SetPosition(gfx::Point(20, 20)); |
473 delegated_renderer_layer->SetBounds(gfx::Size(30, 30)); | 473 delegated_renderer_layer->SetBounds(gfx::Size(30, 30)); |
474 delegated_renderer_layer->SetContentBounds(gfx::Size(30, 30)); | 474 delegated_renderer_layer->SetContentBounds(gfx::Size(30, 30)); |
475 delegated_renderer_layer->SetDrawsContent(true); | 475 delegated_renderer_layer->SetDrawsContent(true); |
476 gfx::Transform transform; | 476 gfx::Transform transform; |
477 transform.Scale(2.0, 2.0); | 477 transform.Scale(2.0, 2.0); |
478 transform.Translate(8.0, 8.0); | 478 transform.Translate(8.0, 8.0); |
479 delegated_renderer_layer->SetTransform(transform); | 479 delegated_renderer_layer->SetTransform(transform); |
480 | 480 |
481 ScopedPtrVector<RenderPass> delegated_render_passes; | 481 ScopedPtrVector<RenderPass> delegated_render_passes; |
482 | 482 |
483 gfx::Size child_pass_content_bounds(7, 7); | 483 gfx::Size child_pass_content_bounds(7, 7); |
484 gfx::Rect child_pass_rect(20, 20, 7, 7); | 484 gfx::Rect child_pass_rect(20, 20, 7, 7); |
485 gfx::Transform child_pass_transform; | 485 gfx::Transform child_pass_transform; |
486 child_pass_transform.Scale(0.8, 0.8); | 486 child_pass_transform.Scale(0.8, 0.8); |
487 child_pass_transform.Translate(9.0, 9.0); | 487 child_pass_transform.Translate(9.0, 9.0); |
488 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); | 488 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); |
489 bool child_pass_clipped = false; | 489 bool child_pass_clipped = false; |
490 | 490 |
491 { | 491 { |
492 TestRenderPass* pass = AddRenderPass( | 492 TestRenderPass* pass = AddRenderPass( |
493 delegated_render_passes, | 493 &delegated_render_passes, |
494 RenderPass::Id(10, 7), | 494 RenderPass::Id(10, 7), |
495 child_pass_rect, | 495 child_pass_rect, |
496 gfx::Transform()); | 496 gfx::Transform()); |
497 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); | 497 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); |
498 AppendQuadsData data(pass->id); | 498 AppendQuadsData data(pass->id); |
499 SharedQuadState* shared_quad_state = quad_sink.UseSharedQuadState( | 499 SharedQuadState* shared_quad_state = quad_sink.UseSharedQuadState( |
500 SharedQuadState::Create()); | 500 SharedQuadState::Create()); |
501 shared_quad_state->SetAll( | 501 shared_quad_state->SetAll( |
502 child_pass_transform, | 502 child_pass_transform, |
503 child_pass_content_bounds, | 503 child_pass_content_bounds, |
(...skipping 14 matching lines...) Expand all Loading... |
518 | 518 |
519 gfx::Size root_pass_content_bounds(50, 50); | 519 gfx::Size root_pass_content_bounds(50, 50); |
520 gfx::Rect root_pass_rect(0, 0, 50, 50); | 520 gfx::Rect root_pass_rect(0, 0, 50, 50); |
521 gfx::Transform root_pass_transform; | 521 gfx::Transform root_pass_transform; |
522 root_pass_transform.Scale(1.5, 1.5); | 522 root_pass_transform.Scale(1.5, 1.5); |
523 root_pass_transform.Translate(7.0, 7.0); | 523 root_pass_transform.Translate(7.0, 7.0); |
524 gfx::Rect root_pass_clip_rect(10, 10, 35, 35); | 524 gfx::Rect root_pass_clip_rect(10, 10, 35, 35); |
525 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; | 525 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; |
526 | 526 |
527 TestRenderPass* pass = AddRenderPass( | 527 TestRenderPass* pass = AddRenderPass( |
528 delegated_render_passes, | 528 &delegated_render_passes, |
529 RenderPass::Id(9, 6), | 529 RenderPass::Id(9, 6), |
530 root_pass_rect, | 530 root_pass_rect, |
531 gfx::Transform()); | 531 gfx::Transform()); |
532 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); | 532 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); |
533 AppendQuadsData data(pass->id); | 533 AppendQuadsData data(pass->id); |
534 SharedQuadState* shared_quad_state = | 534 SharedQuadState* shared_quad_state = |
535 quad_sink.UseSharedQuadState(SharedQuadState::Create()); | 535 quad_sink.UseSharedQuadState(SharedQuadState::Create()); |
536 shared_quad_state->SetAll( | 536 shared_quad_state->SetAll( |
537 root_pass_transform, | 537 root_pass_transform, |
538 root_pass_content_bounds, | 538 root_pass_content_bounds, |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 ScopedPtrVector<RenderPass> delegated_render_passes; | 880 ScopedPtrVector<RenderPass> delegated_render_passes; |
881 | 881 |
882 gfx::Size child_pass_content_bounds(7, 7); | 882 gfx::Size child_pass_content_bounds(7, 7); |
883 gfx::Rect child_pass_rect(20, 20, 7, 7); | 883 gfx::Rect child_pass_rect(20, 20, 7, 7); |
884 gfx::Transform child_pass_transform; | 884 gfx::Transform child_pass_transform; |
885 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); | 885 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); |
886 bool child_pass_clipped = false; | 886 bool child_pass_clipped = false; |
887 | 887 |
888 { | 888 { |
889 TestRenderPass* pass = AddRenderPass( | 889 TestRenderPass* pass = AddRenderPass( |
890 delegated_render_passes, | 890 &delegated_render_passes, |
891 RenderPass::Id(10, 7), | 891 RenderPass::Id(10, 7), |
892 child_pass_rect, | 892 child_pass_rect, |
893 gfx::Transform()); | 893 gfx::Transform()); |
894 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); | 894 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); |
895 AppendQuadsData data(pass->id); | 895 AppendQuadsData data(pass->id); |
896 SharedQuadState* shared_quad_state = | 896 SharedQuadState* shared_quad_state = |
897 quad_sink.UseSharedQuadState(SharedQuadState::Create()); | 897 quad_sink.UseSharedQuadState(SharedQuadState::Create()); |
898 shared_quad_state->SetAll( | 898 shared_quad_state->SetAll( |
899 child_pass_transform, | 899 child_pass_transform, |
900 child_pass_content_bounds, | 900 child_pass_content_bounds, |
(...skipping 12 matching lines...) Expand all Loading... |
913 quad_sink.Append(color_quad.PassAs<DrawQuad>(), &data); | 913 quad_sink.Append(color_quad.PassAs<DrawQuad>(), &data); |
914 } | 914 } |
915 | 915 |
916 gfx::Size root_pass_content_bounds(50, 50); | 916 gfx::Size root_pass_content_bounds(50, 50); |
917 gfx::Rect root_pass_rect(0, 0, 50, 50); | 917 gfx::Rect root_pass_rect(0, 0, 50, 50); |
918 gfx::Transform root_pass_transform; | 918 gfx::Transform root_pass_transform; |
919 gfx::Rect root_pass_clip_rect(5, 5, 40, 40); | 919 gfx::Rect root_pass_clip_rect(5, 5, 40, 40); |
920 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; | 920 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; |
921 | 921 |
922 TestRenderPass* pass = AddRenderPass( | 922 TestRenderPass* pass = AddRenderPass( |
923 delegated_render_passes, | 923 &delegated_render_passes, |
924 RenderPass::Id(9, 6), | 924 RenderPass::Id(9, 6), |
925 root_pass_rect, | 925 root_pass_rect, |
926 gfx::Transform()); | 926 gfx::Transform()); |
927 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); | 927 MockQuadCuller quad_sink(&pass->quad_list, &pass->shared_quad_state_list); |
928 AppendQuadsData data(pass->id); | 928 AppendQuadsData data(pass->id); |
929 SharedQuadState* shared_quad_state = | 929 SharedQuadState* shared_quad_state = |
930 quad_sink.UseSharedQuadState(SharedQuadState::Create()); | 930 quad_sink.UseSharedQuadState(SharedQuadState::Create()); |
931 shared_quad_state->SetAll(root_pass_transform, | 931 shared_quad_state->SetAll(root_pass_transform, |
932 root_pass_content_bounds, | 932 root_pass_content_bounds, |
933 root_pass_rect, | 933 root_pass_rect, |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1251 root_delegated_shared_quad_state->clip_rect.ToString()); | 1251 root_delegated_shared_quad_state->clip_rect.ToString()); |
1252 // Quads came with a clip rect. | 1252 // Quads came with a clip rect. |
1253 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); | 1253 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); |
1254 | 1254 |
1255 host_impl_->DrawLayers(&frame, base::TimeTicks::Now()); | 1255 host_impl_->DrawLayers(&frame, base::TimeTicks::Now()); |
1256 host_impl_->DidDrawAllLayers(frame); | 1256 host_impl_->DidDrawAllLayers(frame); |
1257 } | 1257 } |
1258 | 1258 |
1259 } // namespace | 1259 } // namespace |
1260 } // namespace cc | 1260 } // namespace cc |
OLD | NEW |