From: Andrew Eikum Subject: [PATCH 4/4] d2d1/tests: Add FillContainsPoint tests Message-Id: <20161021162900.GC7470@foghorn.codeweavers.com> Date: Fri, 21 Oct 2016 11:29:00 -0500 Signed-off-by: Andrew Eikum --- dlls/d2d1/tests/d2d1.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index d9d240c..087de6c 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -1318,7 +1318,7 @@ static void test_path_geometry(void) UINT32 count; HWND window; HRESULT hr; - BOOL match; + BOOL match, contains; if (!(device = create_device())) { @@ -1537,6 +1537,32 @@ static void test_path_geometry(void) ok(SUCCEEDED(hr), "Failed to end draw, hr %#x.\n", hr); match = compare_surface(surface, "3aace1b22aae111cb577614fed16e4eb1650dba5"); ok(match, "Surface does not match.\n"); + + /* edge test */ + set_point(&point, 94.0f, 620.0f); + contains = TRUE; + hr = ID2D1TransformedGeometry_FillContainsPoint(transformed_geometry, + point, NULL, 0.0f, &contains); + ok(hr == S_OK, "FillContainsPoint failed, hr %#x.\n", hr); + ok(contains == FALSE, "Geometry should not have contained {94, 620}\n"); + + set_point(&point, 95.0f, 620.0f); + contains = FALSE; + hr = ID2D1TransformedGeometry_FillContainsPoint(transformed_geometry, + point, NULL, 0.0f, &contains); + ok(hr == S_OK, "FillContainsPoint failed, hr %#x.\n", hr); + ok(contains == TRUE, "Geometry should've contained {95, 620}\n"); + + /* with transform matrix */ + set_matrix_identity(&matrix); + translate_matrix(&matrix, -10.0f, 0.0f); + set_point(&point, 85.0f, 620.0f); + contains = FALSE; + hr = ID2D1TransformedGeometry_FillContainsPoint(transformed_geometry, + point, &matrix, 0.0f, &contains); + ok(hr == S_OK, "FillContainsPoint failed, hr %#x.\n", hr); + ok(contains == TRUE, "Translated geometry should've contained {85, 620}\n"); + ID2D1TransformedGeometry_Release(transformed_geometry); ID2D1PathGeometry_Release(geometry); -- 2.10.0