[PATCH 3/5] d2d1: Do not flip/mirror the bitmap in d2d_d3d_render_target_DrawBitmap().

Henri Verbeet hverbeet at codeweavers.com
Thu Apr 23 13:23:24 CDT 2015


---
 dlls/d2d1/render_target.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index cdf82bf..f8bdf95 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -777,12 +777,12 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_DrawBitmap(ID2D1RenderTarget
     bitmap_brush_desc.interpolationMode = interpolation_mode;
 
     brush_desc.opacity = opacity;
-    brush_desc.transform._11 = (d.right - d.left) / (s.right - s.left);
+    brush_desc.transform._11 = fabsf((d.right - d.left) / (s.right - s.left));
     brush_desc.transform._21 = 0.0f;
-    brush_desc.transform._31 = d.left - s.left;
+    brush_desc.transform._31 = min(d.left, d.right) - min(s.left, s.right);
     brush_desc.transform._12 = 0.0f;
-    brush_desc.transform._22 = (d.bottom - d.top) / (s.bottom - s.top);
-    brush_desc.transform._32 = d.top - s.top;
+    brush_desc.transform._22 = fabsf((d.bottom - d.top) / (s.bottom - s.top));
+    brush_desc.transform._32 = min(d.top, d.bottom) - min(s.top, s.bottom);
 
     if (FAILED(hr = ID2D1RenderTarget_CreateBitmapBrush(iface, bitmap, &bitmap_brush_desc, &brush_desc, &brush)))
     {
-- 
1.7.10.4




More information about the wine-patches mailing list