[PATCH 4/4] d2d1/tests: Add FillContainsPoint tests
Andrew Eikum
aeikum at codeweavers.com
Fri Oct 21 11:29:00 CDT 2016
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
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
More information about the wine-patches
mailing list