[PATCH 1/5] d2d1: Do not flip/mirror the rectangle in d2d_d3d_render_target_FillRectangle().

Henri Verbeet hverbeet at codeweavers.com
Tue Apr 28 13:30:51 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 757cdac..3870295 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -580,12 +580,12 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_FillRectangle(ID2D1RenderTar
     transform.pad1 = 0.0f;
 
     /* Translate from world space to object space. */
-    tmp_x = rect->left + (rect->right - rect->left) / 2.0f;
-    tmp_y = rect->top + (rect->bottom - rect->top) / 2.0f;
+    tmp_x = min(rect->left, rect->right) + fabsf(rect->right - rect->left) / 2.0f;
+    tmp_y = min(rect->top, rect->bottom) + fabsf(rect->bottom - rect->top) / 2.0f;
     transform._31 += tmp_x * transform._11 + tmp_y * transform._21;
     transform._32 += tmp_x * transform._12 + tmp_y * transform._22;
-    tmp_x = (rect->right - rect->left) / 2.0f;
-    tmp_y = (rect->bottom - rect->top) / 2.0f;
+    tmp_x = fabsf(rect->right - rect->left) / 2.0f;
+    tmp_y = fabsf(rect->bottom - rect->top) / 2.0f;
     transform._11 *= tmp_x;
     transform._12 *= tmp_x;
     transform._21 *= tmp_y;
-- 
1.7.10.4




More information about the wine-patches mailing list