Revert "gdiplus: Add support for StringFormatFlagsNoClip.".
This reverts commit bfa35f37a7
.
This patch breaks string alignment.
This commit is contained in:
parent
9a436a98f4
commit
737790603c
|
@ -4682,16 +4682,8 @@ GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics* graphics,
|
||||||
|
|
||||||
scaled_rect.X = (layoutRect->X + margin_x) * args.rel_width;
|
scaled_rect.X = (layoutRect->X + margin_x) * args.rel_width;
|
||||||
scaled_rect.Y = layoutRect->Y * args.rel_height;
|
scaled_rect.Y = layoutRect->Y * args.rel_height;
|
||||||
if (stringFormat->attr & StringFormatFlagsNoClip)
|
scaled_rect.Width = layoutRect->Width * args.rel_width;
|
||||||
{
|
scaled_rect.Height = layoutRect->Height * args.rel_height;
|
||||||
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;
|
|
||||||
}
|
|
||||||
if (scaled_rect.Width >= 0.5)
|
if (scaled_rect.Width >= 0.5)
|
||||||
{
|
{
|
||||||
scaled_rect.Width -= margin_x * 2.0 * args.rel_width;
|
scaled_rect.Width -= margin_x * 2.0 * args.rel_width;
|
||||||
|
@ -4771,7 +4763,7 @@ GpStatus WINGDIPAPI GdipMeasureString(GpGraphics *graphics,
|
||||||
GpPointF pt[3];
|
GpPointF pt[3];
|
||||||
RectF scaled_rect;
|
RectF scaled_rect;
|
||||||
REAL margin_x;
|
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,
|
TRACE("(%p, %s, %i, %p, %s, %p, %p, %p, %p)\n", graphics,
|
||||||
debugstr_wn(string, length), length, font, debugstr_rectf(rect), format,
|
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.Y = rect->Y * args.rel_height;
|
||||||
scaled_rect.Width = rect->Width * args.rel_width;
|
scaled_rect.Width = rect->Width * args.rel_width;
|
||||||
scaled_rect.Height = rect->Height * args.rel_height;
|
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)
|
if (scaled_rect.Width >= 0.5)
|
||||||
{
|
{
|
||||||
scaled_rect.Width -= margin_x * 2.0 * args.rel_width;
|
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];
|
GpPointF pt[3], rectcpy[4];
|
||||||
POINT corners[4];
|
POINT corners[4];
|
||||||
REAL rel_width, rel_height, margin_x;
|
REAL rel_width, rel_height, margin_x;
|
||||||
INT save_state, format_flags = 0;
|
INT save_state;
|
||||||
REAL offsety = 0.0;
|
REAL offsety = 0.0;
|
||||||
struct draw_string_args args;
|
struct draw_string_args args;
|
||||||
RectF scaled_rect;
|
RectF scaled_rect;
|
||||||
|
@ -4946,8 +4932,6 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
|
||||||
if(format){
|
if(format){
|
||||||
TRACE("may be ignoring some format flags: attr %x\n", format->attr);
|
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
|
/* Should be no need to explicitly test for StringAlignmentNear as
|
||||||
* that is default behavior if no alignment is passed. */
|
* that is default behavior if no alignment is passed. */
|
||||||
if(format->vertalign != StringAlignmentNear){
|
if(format->vertalign != StringAlignmentNear){
|
||||||
|
@ -4992,12 +4976,6 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
|
||||||
scaled_rect.Y = 0.0;
|
scaled_rect.Y = 0.0;
|
||||||
scaled_rect.Width = rel_width * rect->Width;
|
scaled_rect.Width = rel_width * rect->Width;
|
||||||
scaled_rect.Height = rel_height * rect->Height;
|
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)
|
if (scaled_rect.Width >= 0.5)
|
||||||
{
|
{
|
||||||
scaled_rect.Width -= margin_x * 2.0 * rel_width;
|
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.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 (scaled_rect.Height >= 1 << 23 || scaled_rect.Height < 0.5) scaled_rect.Height = 1 << 23;
|
||||||
|
|
||||||
if (!(format_flags & StringFormatFlagsNoClip) &&
|
if (scaled_rect.Width != 1 << 23 && scaled_rect.Height != 1 << 23)
|
||||||
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 */
|
/* FIXME: If only the width or only the height is 0, we should probably still clip */
|
||||||
rgn = CreatePolygonRgn(corners, 4, ALTERNATE);
|
rgn = CreatePolygonRgn(corners, 4, ALTERNATE);
|
||||||
|
|
Loading…
Reference in New Issue