45 std::shared_ptr<Texture>
texture = MakeTexture(
ISize(100, 100));
52 std::shared_ptr<ContentContext> renderer = GetContentContext();
53 std::optional<Entity> result =
54 contents->GetEntity(*renderer, entity, {});
56 ASSERT_TRUE(result.has_value());
57 if (result.has_value()) {
58 std::optional<Rect> result_coverage = result.value().GetCoverage();
59 std::optional<Rect> contents_coverage = contents->GetCoverage(entity);
61 ASSERT_TRUE(result_coverage.has_value());
62 ASSERT_TRUE(contents_coverage.has_value());
63 if (result_coverage.has_value() && contents_coverage.has_value()) {
64 EXPECT_TRUE(
RectNear(result_coverage.value(), expected));
65 EXPECT_TRUE(
RectNear(contents_coverage.value(), expected));
71 RenderDilateWithFractionalCoverageIsSymmetric) {
77 std::shared_ptr<Texture>
texture = MakeTexture(
ISize(100, 100));
85 std::shared_ptr<ContentContext> renderer = GetContentContext();
86 std::optional<Entity> result =
87 contents->GetEntity(*renderer, entity, {});
89 ASSERT_TRUE(result.has_value());
90 if (result.has_value()) {
91 std::optional<Rect> result_coverage = result->GetCoverage();
92 ASSERT_TRUE(result_coverage.has_value());
93 if (result_coverage.has_value()) {
94 Scalar expected_expansion = radius * scale;
96 -expected_expansion, 0, 100 + expected_expansion, 100)));
97 Scalar left_expansion = 0 - result_coverage->GetLeft();
98 Scalar right_expansion = result_coverage->GetRight() - 100;
99 EXPECT_NEAR(left_expansion, right_expansion, 0.5);
105 RenderDilateYWithFractionalCoverageIsSymmetric) {
111 std::shared_ptr<Texture>
texture = MakeTexture(
ISize(100, 100));
119 std::shared_ptr<ContentContext> renderer = GetContentContext();
120 std::optional<Entity> result =
121 contents->GetEntity(*renderer, entity, {});
123 ASSERT_TRUE(result.has_value());
124 if (result.has_value()) {
125 std::optional<Rect> result_coverage = result->GetCoverage();
126 ASSERT_TRUE(result_coverage.has_value());
127 if (result_coverage.has_value()) {
128 Scalar expected_expansion = radius * scale;
130 0, -expected_expansion, 100, 100 + expected_expansion)));
131 Scalar top_expansion = 0 - result_coverage->GetTop();
132 Scalar bottom_expansion = result_coverage->GetBottom() - 100;
133 EXPECT_NEAR(top_expansion, bottom_expansion, 0.5);
static std::shared_ptr< FilterContents > MakeDirectionalMorphology(FilterInput::Ref input, Radius radius, Vector2 direction, MorphType morph_type)
std::shared_ptr< Texture > MakeTexture(ISize size)