[04/10] gdiplus: Round the layout rectangle down instead of up in gdip_format_string().

Dmitry Timoshkov dmitry at baikal.ru
Thu Aug 16 23:41:01 CDT 2012


gdip_format_string() receives layout rectangle coordinates in pixels, and
rounding up makes it unnecessarily larger.
---
 dlls/gdiplus/graphics.c       | 4 ++--
 dlls/gdiplus/tests/graphics.c | 4 ----
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 07301d7..e38e055 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -4726,8 +4726,8 @@ GpStatus gdip_format_string(HDC hdc,
     stringdup = GdipAlloc((length + 1) * sizeof(WCHAR));
     if(!stringdup) return OutOfMemory;
 
-    nwidth = roundr(rect->Width);
-    nheight = roundr(rect->Height);
+    nwidth = rect->Width;
+    nheight = rect->Height;
 
     if (rect->Width >= INT_MAX || rect->Width < 0.5) nwidth = INT_MAX;
     if (rect->Height >= INT_MAX || rect->Height < 0.5) nheight = INT_MAX;
diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c
index 881f697..1288678 100644
--- a/dlls/gdiplus/tests/graphics.c
+++ b/dlls/gdiplus/tests/graphics.c
@@ -3865,10 +3865,8 @@ todo_wine
     set_rect_empty(&bounds);
     status = GdipMeasureString(graphics, string, -1, font, &rect, format, &bounds, &glyphs, &lines);
     expect(Ok, status);
-todo_wine
     expect(2, glyphs);
     expect(1, lines);
-todo_wine
     expectf_(width_2, bounds.Width, 0.01);
     expectf(height, bounds.Height);
 
@@ -3878,10 +3876,8 @@ todo_wine
     set_rect_empty(&bounds);
     status = GdipMeasureString(graphics, string, -1, font, &rect, format, &bounds, &glyphs, &lines);
     expect(Ok, status);
-todo_wine
     expect(1, glyphs);
     expect(1, lines);
-todo_wine
     expectf_(width_1, bounds.Width, 0.01);
     expectf(height, bounds.Height);
 
-- 
1.7.11.5




More information about the wine-patches mailing list