Dmitry Timoshkov : Revert "gdiplus: Add support for StringFormatFlagsNoClip .".

Alexandre Julliard julliard at winehq.org
Mon Mar 4 13:23:38 CST 2013


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Mon Mar  4 17:51:41 2013 +0900

Revert "gdiplus: Add support for StringFormatFlagsNoClip.".

This reverts commit bfa35f37a7687cdae338ad9837fc595afb2df2b6.
This patch breaks string alignment.

---

 dlls/gdiplus/graphics.c |   33 +++++----------------------------
 1 files changed, 5 insertions(+), 28 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 1150675..806cfa9 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -4682,16 +4682,8 @@ GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics* graphics,
 
     scaled_rect.X = (layoutRect->X + margin_x) * args.rel_width;
     scaled_rect.Y = layoutRect->Y * args.rel_height;
-    if (stringFormat->attr & StringFormatFlagsNoClip)
-    {
-        scaled_rect.Width = (REAL)(1 << 23);
-        scaled_rect.Height = (REAL)(1 << 23);
-    }
-    else
-    {
-        scaled_rect.Width = layoutRect->Width * args.rel_width;
-        scaled_rect.Height = layoutRect->Height * args.rel_height;
-    }
+    scaled_rect.Width = layoutRect->Width * args.rel_width;
+    scaled_rect.Height = layoutRect->Height * args.rel_height;
     if (scaled_rect.Width >= 0.5)
     {
         scaled_rect.Width -= margin_x * 2.0 * args.rel_width;
@@ -4771,7 +4763,7 @@ GpStatus WINGDIPAPI GdipMeasureString(GpGraphics *graphics,
     GpPointF pt[3];
     RectF scaled_rect;
     REAL margin_x;
-    INT lines, glyphs, format_flags = format ? format->attr : 0;
+    INT lines, glyphs;
 
     TRACE("(%p, %s, %i, %p, %s, %p, %p, %p, %p)\n", graphics,
         debugstr_wn(string, length), length, font, debugstr_rectf(rect), format,
@@ -4813,12 +4805,6 @@ GpStatus WINGDIPAPI GdipMeasureString(GpGraphics *graphics,
     scaled_rect.Y = rect->Y * args.rel_height;
     scaled_rect.Width = rect->Width * args.rel_width;
     scaled_rect.Height = rect->Height * args.rel_height;
-
-    if ((format_flags & StringFormatFlagsNoClip) ||
-        scaled_rect.Width >= 1 << 23 || scaled_rect.Width < 0.5) scaled_rect.Width = 1 << 23;
-    if ((format_flags & StringFormatFlagsNoClip) ||
-        scaled_rect.Height >= 1 << 23 || scaled_rect.Height < 0.5) scaled_rect.Height = 1 << 23;
-
     if (scaled_rect.Width >= 0.5)
     {
         scaled_rect.Width -= margin_x * 2.0 * args.rel_width;
@@ -4921,7 +4907,7 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
     GpPointF pt[3], rectcpy[4];
     POINT corners[4];
     REAL rel_width, rel_height, margin_x;
-    INT save_state, format_flags = 0;
+    INT save_state;
     REAL offsety = 0.0;
     struct draw_string_args args;
     RectF scaled_rect;
@@ -4946,8 +4932,6 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
     if(format){
         TRACE("may be ignoring some format flags: attr %x\n", format->attr);
 
-        format_flags = format->attr;
-
         /* Should be no need to explicitly test for StringAlignmentNear as
          * that is default behavior if no alignment is passed. */
         if(format->vertalign != StringAlignmentNear){
@@ -4992,12 +4976,6 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
     scaled_rect.Y = 0.0;
     scaled_rect.Width = rel_width * rect->Width;
     scaled_rect.Height = rel_height * rect->Height;
-
-    if ((format_flags & StringFormatFlagsNoClip) ||
-        scaled_rect.Width >= 1 << 23 || scaled_rect.Width < 0.5) scaled_rect.Width = 1 << 23;
-    if ((format_flags & StringFormatFlagsNoClip) ||
-        scaled_rect.Height >= 1 << 23 || scaled_rect.Height < 0.5) scaled_rect.Height = 1 << 23;
-
     if (scaled_rect.Width >= 0.5)
     {
         scaled_rect.Width -= margin_x * 2.0 * rel_width;
@@ -5007,8 +4985,7 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
     if (scaled_rect.Width >= 1 << 23 || scaled_rect.Width < 0.5) scaled_rect.Width = 1 << 23;
     if (scaled_rect.Height >= 1 << 23 || scaled_rect.Height < 0.5) scaled_rect.Height = 1 << 23;
 
-    if (!(format_flags & StringFormatFlagsNoClip) &&
-        scaled_rect.Width != 1 << 23 && scaled_rect.Height != 1 << 23)
+    if (scaled_rect.Width != 1 << 23 && scaled_rect.Height != 1 << 23)
     {
         /* FIXME: If only the width or only the height is 0, we should probably still clip */
         rgn = CreatePolygonRgn(corners, 4, ALTERNATE);




More information about the wine-cvs mailing list