Nikolay Sivov : d2d1: For transformed geometry forward StrokeContainsPoint () to its source geometry.

Alexandre Julliard julliard at winehq.org
Tue Nov 1 14:58:49 CDT 2016


Module: wine
Branch: master
Commit: 306d062f46af01c17aa0159c9ef5ce6af890eb67
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=306d062f46af01c17aa0159c9ef5ce6af890eb67

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Nov  1 03:34:04 2016 +0300

d2d1: For transformed geometry forward StrokeContainsPoint() to its source geometry.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d2d1/geometry.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
index 385e171..4abe9bc 100644
--- a/dlls/d2d1/geometry.c
+++ b/dlls/d2d1/geometry.c
@@ -2633,11 +2633,19 @@ static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_StrokeContainsPoint(ID
         D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform,
         float tolerance, BOOL *contains)
 {
-    FIXME("iface %p, point {%.8e, %.8e}, stroke_width %.8e, stroke_style %p, "
-            "transform %p, tolerance %.8e, contains %p stub!\n",
+    struct d2d_geometry *geometry = impl_from_ID2D1TransformedGeometry(iface);
+    D2D1_MATRIX_3X2_F g;
+
+    TRACE("iface %p, point {%.8e, %.8e}, stroke_width %.8e, stroke_style %p, "
+            "transform %p, tolerance %.8e, contains %p.\n",
             iface, point.x, point.y, stroke_width, stroke_style, transform, tolerance, contains);
 
-    return E_NOTIMPL;
+    g = geometry->transform;
+    if (transform)
+        d2d_matrix_multiply(&g, transform);
+
+    return ID2D1Geometry_StrokeContainsPoint(geometry->u.transformed.src_geometry, point, stroke_width, stroke_style,
+            &g, tolerance, contains);
 }
 
 static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_FillContainsPoint(ID2D1TransformedGeometry *iface,




More information about the wine-cvs mailing list