[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