| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/damage_tracker.h" | 5 #include "cc/trees/damage_tracker.h" |
| 6 | 6 |
| 7 #include "cc/base/math_util.h" | 7 #include "cc/base/math_util.h" |
| 8 #include "cc/layers/layer_impl.h" | 8 #include "cc/layers/layer_impl.h" |
| 9 #include "cc/output/filter_operation.h" | 9 #include "cc/output/filter_operation.h" |
| 10 #include "cc/output/filter_operations.h" | 10 #include "cc/output/filter_operations.h" |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 // With the anchor on the layer's center, now we can test the rotation more | 333 // With the anchor on the layer's center, now we can test the rotation more |
| 334 // intuitively, since it applies about the layer's anchor. | 334 // intuitively, since it applies about the layer's anchor. |
| 335 ClearDamageForAllSurfaces(root.get()); | 335 ClearDamageForAllSurfaces(root.get()); |
| 336 child->SetTransform(rotation); | 336 child->SetTransform(rotation); |
| 337 EmulateDrawingOneFrame(root.get()); | 337 EmulateDrawingOneFrame(root.get()); |
| 338 | 338 |
| 339 // Since the child layer is square, rotation by 45 degrees about the center | 339 // Since the child layer is square, rotation by 45 degrees about the center |
| 340 // should increase the size of the expected rect by sqrt(2), centered around | 340 // should increase the size of the expected rect by sqrt(2), centered around |
| 341 // (100, 100). The old exposed region should be fully contained in the new | 341 // (100, 100). The old exposed region should be fully contained in the new |
| 342 // region. | 342 // region. |
| 343 double expected_width = 30.0 * sqrt(2.0); | 343 float expected_width = 30.f * sqrt(2.f); |
| 344 double expected_position = 100.0 - 0.5 * expected_width; | 344 float expected_position = 100.f - 0.5f * expected_width; |
| 345 gfx::RectF expected_rect(expected_position, | 345 gfx::RectF expected_rect( |
| 346 expected_position, | 346 expected_position, expected_position, expected_width, expected_width); |
| 347 expected_width, | |
| 348 expected_width); | |
| 349 root_damage_rect = | 347 root_damage_rect = |
| 350 root->render_surface()->damage_tracker()->current_damage_rect(); | 348 root->render_surface()->damage_tracker()->current_damage_rect(); |
| 351 EXPECT_FLOAT_RECT_EQ(expected_rect, root_damage_rect); | 349 EXPECT_FLOAT_RECT_EQ(expected_rect, root_damage_rect); |
| 352 } | 350 } |
| 353 | 351 |
| 354 TEST_F(DamageTrackerTest, VerifyDamageForPerspectiveClippedLayer) { | 352 TEST_F(DamageTrackerTest, VerifyDamageForPerspectiveClippedLayer) { |
| 355 // If a layer has a perspective transform that causes w < 0, then not | 353 // If a layer has a perspective transform that causes w < 0, then not |
| 356 // clipping the layer can cause an invalid damage rect. This test checks that | 354 // clipping the layer can cause an invalid damage rect. This test checks that |
| 357 // the w < 0 case is tracked properly. | 355 // the w < 0 case is tracked properly. |
| 358 // | 356 // |
| 359 // The transform is constructed so that if w < 0 clipping is not performed, | 357 // The transform is constructed so that if w < 0 clipping is not performed, |
| 360 // the incorrect rect will be very small, specifically: position (500.972504, | 358 // the incorrect rect will be very small, specifically: position (500.972504, |
| (...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1340 // Damage should remain empty even after one frame, since there's yet no new | 1338 // Damage should remain empty even after one frame, since there's yet no new |
| 1341 // damage. | 1339 // damage. |
| 1342 EmulateDrawingOneFrame(root.get()); | 1340 EmulateDrawingOneFrame(root.get()); |
| 1343 root_damage_rect = | 1341 root_damage_rect = |
| 1344 root->render_surface()->damage_tracker()->current_damage_rect(); | 1342 root->render_surface()->damage_tracker()->current_damage_rect(); |
| 1345 EXPECT_TRUE(root_damage_rect.IsEmpty()); | 1343 EXPECT_TRUE(root_damage_rect.IsEmpty()); |
| 1346 } | 1344 } |
| 1347 | 1345 |
| 1348 } // namespace | 1346 } // namespace |
| 1349 } // namespace cc | 1347 } // namespace cc |
| OLD | NEW |