[PATCH 3/4] d2d1: Implement FillContainsPoint for transformed geometries
Andrew Eikum
aeikum at codeweavers.com
Fri Oct 21 11:28:56 CDT 2016
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
dlls/d2d1/geometry.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
index eb4f98e..a98651a 100644
--- a/dlls/d2d1/geometry.c
+++ b/dlls/d2d1/geometry.c
@@ -2666,10 +2666,18 @@ static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_StrokeContainsPoint(ID
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_FillContainsPoint(ID2D1TransformedGeometry *iface,
D2D1_POINT_2F point, const D2D1_MATRIX_3X2_F *transform, float tolerance, BOOL *contains)
{
- FIXME("iface %p, point {%.8e, %.8e}, 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}, transform %p, tolerance %.8e, contains %p\n",
iface, point.x, point.y, transform, tolerance, contains);
- return E_NOTIMPL;
+ g = geometry->transform;
+ if (transform)
+ d2d_matrix_multiply(&g, transform);
+
+ return ID2D1Geometry_FillContainsPoint(geometry->u.transformed.src_geometry,
+ point, &g, tolerance, contains);
}
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_CompareWithGeometry(ID2D1TransformedGeometry *iface,
--
2.10.0
More information about the wine-patches
mailing list