OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <set> | 9 #include <set> |
10 #include <utility> | 10 #include <utility> |
(...skipping 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1424 AppendQuadsData data; | 1424 AppendQuadsData data; |
1425 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, nullptr); | 1425 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, nullptr); |
1426 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); | 1426 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); |
1427 active_layer_->DidDraw(nullptr); | 1427 active_layer_->DidDraw(nullptr); |
1428 | 1428 |
1429 ASSERT_EQ(1U, render_pass->quad_list.size()); | 1429 ASSERT_EQ(1U, render_pass->quad_list.size()); |
1430 EXPECT_EQ(DrawQuad::PICTURE_CONTENT, | 1430 EXPECT_EQ(DrawQuad::PICTURE_CONTENT, |
1431 render_pass->quad_list.front()->material); | 1431 render_pass->quad_list.front()->material); |
1432 } | 1432 } |
1433 | 1433 |
1434 TEST_F(PictureLayerImplTest, SolidColorLayerImplOnlyDrawsVisibleQuads) { | |
1435 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); | |
1436 | |
1437 gfx::Size tile_size(1000, 1000); | |
1438 gfx::Size layer_bounds(1500, 1500); | |
1439 gfx::Rect visible_rect(1000, 1000); | |
1440 | |
1441 scoped_refptr<FakePicturePileImpl> pending_pile = | |
1442 FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds); | |
1443 scoped_refptr<FakePicturePileImpl> active_pile = | |
1444 FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds); | |
1445 | |
1446 pending_pile->set_is_solid_color(true); | |
1447 active_pile->set_is_solid_color(true); | |
1448 | |
1449 SetupTrees(pending_pile, active_pile); | |
1450 | |
1451 active_layer_->draw_properties().visible_content_rect = visible_rect; | |
1452 | |
1453 AppendQuadsData data; | |
1454 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, nullptr); | |
1455 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); | |
1456 active_layer_->DidDraw(nullptr); | |
1457 | |
1458 for (auto& quad : render_pass->quad_list) { | |
1459 EXPECT_TRUE(visible_rect.Contains(quad.rect)); | |
danakj
2014/10/24 14:58:39
I think you mean Intersects here. How did you get
hendrikw
2014/10/24 15:32:15
No, I meant to use Contains, we go from left to ri
| |
1460 } | |
1461 } | |
1462 | |
1434 TEST_F(PictureLayerImplTest, MarkRequiredOffscreenTiles) { | 1463 TEST_F(PictureLayerImplTest, MarkRequiredOffscreenTiles) { |
1435 gfx::Size tile_size(100, 100); | 1464 gfx::Size tile_size(100, 100); |
1436 gfx::Size layer_bounds(200, 200); | 1465 gfx::Size layer_bounds(200, 200); |
1437 | 1466 |
1438 scoped_refptr<FakePicturePileImpl> pending_pile = | 1467 scoped_refptr<FakePicturePileImpl> pending_pile = |
1439 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 1468 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
1440 SetupPendingTree(pending_pile); | 1469 SetupPendingTree(pending_pile); |
1441 | 1470 |
1442 gfx::Transform transform; | 1471 gfx::Transform transform; |
1443 gfx::Transform transform_for_tile_priority; | 1472 gfx::Transform transform_for_tile_priority; |
(...skipping 3106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4550 result = layer->CalculateTileSize(gfx::Size(447, 400)); | 4579 result = layer->CalculateTileSize(gfx::Size(447, 400)); |
4551 EXPECT_EQ(result.width(), 448); | 4580 EXPECT_EQ(result.width(), 448); |
4552 EXPECT_EQ(result.height(), 448); | 4581 EXPECT_EQ(result.height(), 448); |
4553 result = layer->CalculateTileSize(gfx::Size(500, 499)); | 4582 result = layer->CalculateTileSize(gfx::Size(500, 499)); |
4554 EXPECT_EQ(result.width(), 512); | 4583 EXPECT_EQ(result.width(), 512); |
4555 EXPECT_EQ(result.height(), 500 + 2); | 4584 EXPECT_EQ(result.height(), 500 + 2); |
4556 } | 4585 } |
4557 | 4586 |
4558 } // namespace | 4587 } // namespace |
4559 } // namespace cc | 4588 } // namespace cc |
OLD | NEW |