Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: cc/delegated_renderer_layer_impl_unittest.cc

Issue 11825014: cc: Test to verify the order of the transforms when mapping to the delegated renderer layer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: betternumbers Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/delegated_renderer_layer_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/layer_tree_impl.h" 9 #include "cc/layer_tree_impl.h"
10 #include "cc/quad_sink.h" 10 #include "cc/quad_sink.h"
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 DelegatedRendererLayerImplTestSharedData() 374 DelegatedRendererLayerImplTestSharedData()
375 : DelegatedRendererLayerImplTest() 375 : DelegatedRendererLayerImplTest()
376 { 376 {
377 scoped_ptr<LayerImpl> rootLayer = LayerImpl::create(m_hostImpl->activeTr ee(), 1); 377 scoped_ptr<LayerImpl> rootLayer = LayerImpl::create(m_hostImpl->activeTr ee(), 1);
378 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::create(m_hostImpl->activeTree(), 2); 378 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::create(m_hostImpl->activeTree(), 2);
379 379
380 m_hostImpl->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); 380 m_hostImpl->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100));
381 rootLayer->setBounds(gfx::Size(100, 100)); 381 rootLayer->setBounds(gfx::Size(100, 100));
382 382
383 delegatedRendererLayer->setPosition(gfx::Point(20, 20)); 383 delegatedRendererLayer->setPosition(gfx::Point(20, 20));
384 delegatedRendererLayer->setBounds(gfx::Size(20, 20)); 384 delegatedRendererLayer->setBounds(gfx::Size(30, 30));
385 delegatedRendererLayer->setContentBounds(gfx::Size(20, 20)); 385 delegatedRendererLayer->setContentBounds(gfx::Size(30, 30));
386 delegatedRendererLayer->setDrawsContent(true); 386 delegatedRendererLayer->setDrawsContent(true);
387 gfx::Transform transform; 387 gfx::Transform transform;
388 transform.Translate(10, 10); 388 transform.Scale(2.0, 2.0);
389 transform.Translate(8.0, 8.0);
389 delegatedRendererLayer->setTransform(transform); 390 delegatedRendererLayer->setTransform(transform);
390 391
391 ScopedPtrVector<RenderPass> delegatedRenderPasses; 392 ScopedPtrVector<RenderPass> delegatedRenderPasses;
392 gfx::Rect passRect(0, 0, 50, 50); 393 gfx::Rect passRect(0, 0, 50, 50);
394 gfx::Transform passTransform;
395 passTransform.Scale(1.5, 1.5);
396 passTransform.Translate(7.0, 7.0);
397
393 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass:: Id(9, 6), passRect, gfx::Transform()); 398 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass:: Id(9, 6), passRect, gfx::Transform());
394 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list); 399 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list);
395 AppendQuadsData data(pass->id); 400 AppendQuadsData data(pass->id);
396 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta te::Create()); 401 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta te::Create());
397 sharedState->SetAll(gfx::Transform(), passRect, passRect, passRect, fals e, 1); 402 sharedState->SetAll(passTransform, passRect, passRect, passRect, false, 1);
398 scoped_ptr<SolidColorDrawQuad> colorQuad; 403 scoped_ptr<SolidColorDrawQuad> colorQuad;
399 404
400 colorQuad = SolidColorDrawQuad::Create(); 405 colorQuad = SolidColorDrawQuad::Create();
401 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u); 406 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u);
402 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); 407 quadSink.append(colorQuad.PassAs<DrawQuad>(), data);
403 408
404 colorQuad = SolidColorDrawQuad::Create(); 409 colorQuad = SolidColorDrawQuad::Create();
405 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u); 410 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u);
406 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); 411 quadSink.append(colorQuad.PassAs<DrawQuad>(), data);
407 412
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 const QuadList& quadList = frame.renderPasses[0]->quad_list; 448 const QuadList& quadList = frame.renderPasses[0]->quad_list;
444 ASSERT_EQ(4u, quadList.size()); 449 ASSERT_EQ(4u, quadList.size());
445 450
446 // All quads should share the same state. 451 // All quads should share the same state.
447 const SharedQuadState* sharedState = quadList[0]->shared_quad_state; 452 const SharedQuadState* sharedState = quadList[0]->shared_quad_state;
448 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state); 453 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state);
449 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state); 454 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state);
450 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state); 455 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state);
451 456
452 // The state should be transformed only once. 457 // The state should be transformed only once.
453 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_targe t); 458 // The x/y values are: position (20) + transform (8 * 2) = 36
454 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clip_rect); 459 // 36 - (width / 2) = 36 - 30 / 2 = 21
460 EXPECT_RECT_EQ(gfx::Rect(21, 21, 100, 100), sharedState->clipped_rect_in_tar get);
461 EXPECT_RECT_EQ(gfx::Rect(21, 21, 100, 100), sharedState->clip_rect);
455 gfx::Transform expected; 462 gfx::Transform expected;
456 expected.Translate(30, 30); 463 // The position (20) - the width / scale (30 / 2) = 20 - 15 = 5
464 expected.Translate(5.0, 5.0);
465 expected.Scale(2.0, 2.0);
466 expected.Translate(8.0, 8.0);
467 expected.Scale(1.5, 1.5);
468 expected.Translate(7.0, 7.0);
457 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_tra nsform); 469 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_tra nsform);
458 470
459 m_hostImpl->drawLayers(frame); 471 m_hostImpl->drawLayers(frame);
460 m_hostImpl->didDrawAllLayers(frame); 472 m_hostImpl->didDrawAllLayers(frame);
461 } 473 }
462 474
463 } // namespace 475 } // namespace
464 } // namespace cc 476 } // namespace cc
OLDNEW
« no previous file with comments | « cc/delegated_renderer_layer_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698