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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include "cc/output/filter_operations.h" | 7 #include "cc/output/filter_operations.h" |
8 #include "skia/ext/refptr.h" | |
9 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "third_party/skia/include/effects/SkBlurImageFilter.h" | 9 #include "third_party/skia/include/effects/SkBlurImageFilter.h" |
11 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h" | 10 #include "third_party/skia/include/effects/SkDropShadowImageFilter.h" |
12 #include "third_party/skia/include/effects/SkOffsetImageFilter.h" | 11 #include "third_party/skia/include/effects/SkOffsetImageFilter.h" |
13 #include "ui/gfx/geometry/point.h" | 12 #include "ui/gfx/geometry/point.h" |
14 #include "ui/gfx/geometry/rect.h" | 13 #include "ui/gfx/geometry/rect.h" |
15 | 14 |
16 namespace cc { | 15 namespace cc { |
17 namespace { | 16 namespace { |
18 | 17 |
(...skipping 12 matching lines...) Expand all Loading... | |
31 TEST(FilterOperationsTest, MapRectBlur) { | 30 TEST(FilterOperationsTest, MapRectBlur) { |
32 FilterOperations ops; | 31 FilterOperations ops; |
33 ops.Append(FilterOperation::CreateBlurFilter(20)); | 32 ops.Append(FilterOperation::CreateBlurFilter(20)); |
34 EXPECT_EQ(gfx::Rect(-57, -57, 124, 124), | 33 EXPECT_EQ(gfx::Rect(-57, -57, 124, 124), |
35 ops.MapRect(gfx::Rect(0, 0, 10, 10))); | 34 ops.MapRect(gfx::Rect(0, 0, 10, 10))); |
36 } | 35 } |
37 | 36 |
38 TEST(FilterOperationsTest, GetOutsetsDropShadowReferenceFilter) { | 37 TEST(FilterOperationsTest, GetOutsetsDropShadowReferenceFilter) { |
39 // TODO(hendrikw): We need to make outsets for reference filters be in line | 38 // TODO(hendrikw): We need to make outsets for reference filters be in line |
40 // with non-reference filters. See crbug.com/523534 | 39 // with non-reference filters. See crbug.com/523534 |
41 skia::RefPtr<SkImageFilter> filter = | 40 sk_sp<SkImageFilter> filter(SkDropShadowImageFilter::Create( |
42 skia::AdoptRef(SkDropShadowImageFilter::Create( | 41 SkIntToScalar(3), SkIntToScalar(8), SkIntToScalar(4), SkIntToScalar(9), |
43 SkIntToScalar(3), SkIntToScalar(8), SkIntToScalar(4), | 42 SK_ColorBLACK, |
44 SkIntToScalar(9), SK_ColorBLACK, | 43 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)); |
45 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)); | |
46 FilterOperations ops; | 44 FilterOperations ops; |
47 ops.Append(FilterOperation::CreateReferenceFilter(filter)); | 45 ops.Append(FilterOperation::CreateReferenceFilter(filter)); |
48 | 46 |
49 int top, right, bottom, left; | 47 int top, right, bottom, left; |
50 top = right = bottom = left = 0; | 48 top = right = bottom = left = 0; |
51 ops.GetOutsets(&top, &right, &bottom, &left); | 49 ops.GetOutsets(&top, &right, &bottom, &left); |
52 EXPECT_EQ(35, top); | 50 EXPECT_EQ(35, top); |
53 EXPECT_EQ(9, right); | 51 EXPECT_EQ(9, right); |
54 EXPECT_EQ(19, bottom); | 52 EXPECT_EQ(19, bottom); |
55 EXPECT_EQ(15, left); | 53 EXPECT_EQ(15, left); |
56 } | 54 } |
57 | 55 |
58 TEST(FilterOperationsTest, MapRectDropShadowReferenceFilter) { | 56 TEST(FilterOperationsTest, MapRectDropShadowReferenceFilter) { |
59 skia::RefPtr<SkImageFilter> filter = | 57 sk_sp<SkImageFilter> filter(SkDropShadowImageFilter::Create( |
60 skia::AdoptRef(SkDropShadowImageFilter::Create( | 58 SkIntToScalar(3), SkIntToScalar(8), SkIntToScalar(4), SkIntToScalar(9), |
61 SkIntToScalar(3), SkIntToScalar(8), SkIntToScalar(4), | 59 SK_ColorBLACK, |
62 SkIntToScalar(9), SK_ColorBLACK, | 60 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)); |
63 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode)); | |
64 FilterOperations ops; | 61 FilterOperations ops; |
65 ops.Append(FilterOperation::CreateReferenceFilter(filter)); | 62 ops.Append(FilterOperation::CreateReferenceFilter(filter)); |
66 EXPECT_EQ(gfx::Rect(-9, -19, 34, 64), ops.MapRect(gfx::Rect(0, 0, 10, 10))); | 63 EXPECT_EQ(gfx::Rect(-9, -19, 34, 64), ops.MapRect(gfx::Rect(0, 0, 10, 10))); |
67 } | 64 } |
68 | 65 |
69 TEST(FilterOperationsTest, MapRectOffsetReferenceFilter) { | 66 TEST(FilterOperationsTest, MapRectOffsetReferenceFilter) { |
70 skia::RefPtr<SkImageFilter> filter = | 67 sk_sp<SkImageFilter> filter = SkOffsetImageFilter::Make(30, 40, nullptr); |
71 skia::AdoptRef(SkOffsetImageFilter::Make(30, 40, nullptr)); | |
72 FilterOperations ops; | 68 FilterOperations ops; |
73 ops.Append(FilterOperation::CreateReferenceFilter(std::move(filter))); | 69 ops.Append(FilterOperation::CreateReferenceFilter(std::move(filter))); |
74 EXPECT_EQ(gfx::Rect(30, 40, 10, 10), ops.MapRect(gfx::Rect(0, 0, 10, 10))); | 70 EXPECT_EQ(gfx::Rect(30, 40, 10, 10), ops.MapRect(gfx::Rect(0, 0, 10, 10))); |
75 } | 71 } |
76 | 72 |
77 TEST(FilterOperationsTest, GetOutsetsNullReferenceFilter) { | 73 TEST(FilterOperationsTest, GetOutsetsNullReferenceFilter) { |
78 FilterOperations ops; | 74 FilterOperations ops; |
79 ops.Append(FilterOperation::CreateReferenceFilter(nullptr)); | 75 ops.Append(FilterOperation::CreateReferenceFilter(nullptr)); |
80 | 76 |
81 int top, right, bottom, left; | 77 int top, right, bottom, left; |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
575 FilterOperation expected = | 571 FilterOperation expected = |
576 FilterOperation::CreateSaturatingBrightnessFilter(0.75f); | 572 FilterOperation::CreateSaturatingBrightnessFilter(0.75f); |
577 EXPECT_EQ(expected, blended); | 573 EXPECT_EQ(expected, blended); |
578 | 574 |
579 blended = FilterOperation::Blend(NULL, &filter, 0.25); | 575 blended = FilterOperation::Blend(NULL, &filter, 0.25); |
580 expected = FilterOperation::CreateSaturatingBrightnessFilter(0.25f); | 576 expected = FilterOperation::CreateSaturatingBrightnessFilter(0.25f); |
581 EXPECT_EQ(expected, blended); | 577 EXPECT_EQ(expected, blended); |
582 } | 578 } |
583 | 579 |
584 TEST(FilterOperationsTest, BlendReferenceFilters) { | 580 TEST(FilterOperationsTest, BlendReferenceFilters) { |
585 skia::RefPtr<SkImageFilter> from_filter = | 581 sk_sp<SkImageFilter> from_filter(SkBlurImageFilter::Make(1.f, 1.f, nullptr)); |
586 skia::AdoptRef(SkBlurImageFilter::Create(1.f, 1.f)); | 582 sk_sp<SkImageFilter> to_filter(SkBlurImageFilter::Make(2.f, 2.f, nullptr)); |
587 skia::RefPtr<SkImageFilter> to_filter = | |
588 skia::AdoptRef(SkBlurImageFilter::Create(2.f, 2.f)); | |
589 FilterOperation from = FilterOperation::CreateReferenceFilter(from_filter); | 583 FilterOperation from = FilterOperation::CreateReferenceFilter(from_filter); |
590 FilterOperation to = FilterOperation::CreateReferenceFilter(to_filter); | 584 FilterOperation to = FilterOperation::CreateReferenceFilter(to_filter); |
591 | 585 |
592 FilterOperation blended = FilterOperation::Blend(&from, &to, -0.75); | 586 FilterOperation blended = FilterOperation::Blend(&from, &to, -0.75); |
593 EXPECT_EQ(from, blended); | 587 EXPECT_EQ(from, blended); |
594 | 588 |
595 blended = FilterOperation::Blend(&from, &to, 0.5); | 589 blended = FilterOperation::Blend(&from, &to, 0.5); |
596 EXPECT_EQ(from, blended); | 590 EXPECT_EQ(from, blended); |
597 | 591 |
598 blended = FilterOperation::Blend(&from, &to, 0.6); | 592 blended = FilterOperation::Blend(&from, &to, 0.6); |
599 EXPECT_EQ(to, blended); | 593 EXPECT_EQ(to, blended); |
600 | 594 |
601 blended = FilterOperation::Blend(&from, &to, 1.5); | 595 blended = FilterOperation::Blend(&from, &to, 1.5); |
602 EXPECT_EQ(to, blended); | 596 EXPECT_EQ(to, blended); |
603 } | 597 } |
604 | 598 |
605 TEST(FilterOperationsTest, BlendReferenceWithNull) { | 599 TEST(FilterOperationsTest, BlendReferenceWithNull) { |
606 skia::RefPtr<SkImageFilter> image_filter = | 600 sk_sp<SkImageFilter> image_filter(SkBlurImageFilter::Make(1.f, 1.f, nullptr)); |
607 skia::AdoptRef(SkBlurImageFilter::Create(1.f, 1.f)); | |
608 FilterOperation filter = FilterOperation::CreateReferenceFilter(image_filter); | 601 FilterOperation filter = FilterOperation::CreateReferenceFilter(image_filter); |
609 FilterOperation null_filter = | 602 FilterOperation null_filter = |
610 FilterOperation::CreateReferenceFilter(skia::RefPtr<SkImageFilter>()); | 603 FilterOperation::CreateReferenceFilter(sk_sp<SkImageFilter>()); |
danakj
2016/04/14 19:37:31
nullptr
tomhudson
2016/04/25 20:48:10
Done.
| |
611 | 604 |
612 FilterOperation blended = FilterOperation::Blend(&filter, NULL, 0.25); | 605 FilterOperation blended = FilterOperation::Blend(&filter, NULL, 0.25); |
613 EXPECT_EQ(filter, blended); | 606 EXPECT_EQ(filter, blended); |
614 blended = FilterOperation::Blend(&filter, NULL, 0.75); | 607 blended = FilterOperation::Blend(&filter, NULL, 0.75); |
615 EXPECT_EQ(null_filter, blended); | 608 EXPECT_EQ(null_filter, blended); |
616 | 609 |
617 blended = FilterOperation::Blend(NULL, &filter, 0.25); | 610 blended = FilterOperation::Blend(NULL, &filter, 0.25); |
618 EXPECT_EQ(null_filter, blended); | 611 EXPECT_EQ(null_filter, blended); |
619 blended = FilterOperation::Blend(NULL, &filter, 0.75); | 612 blended = FilterOperation::Blend(NULL, &filter, 0.75); |
620 EXPECT_EQ(filter, blended); | 613 EXPECT_EQ(filter, blended); |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
771 blended = to.Blend(from, -0.75); | 764 blended = to.Blend(from, -0.75); |
772 EXPECT_EQ(to, blended); | 765 EXPECT_EQ(to, blended); |
773 blended = to.Blend(from, 0.75); | 766 blended = to.Blend(from, 0.75); |
774 EXPECT_EQ(to, blended); | 767 EXPECT_EQ(to, blended); |
775 blended = to.Blend(from, 1.5); | 768 blended = to.Blend(from, 1.5); |
776 EXPECT_EQ(to, blended); | 769 EXPECT_EQ(to, blended); |
777 } | 770 } |
778 | 771 |
779 } // namespace | 772 } // namespace |
780 } // namespace cc | 773 } // namespace cc |
OLD | NEW |