gdiplus: Fix the linesfilled calculation in GdipMeasureString.

This commit is contained in:
Vincent Povirk 2010-03-30 14:22:06 -05:00 committed by Alexandre Julliard
parent 2cde94a89e
commit 21109a40fb
2 changed files with 6 additions and 6 deletions

View File

@ -3516,7 +3516,7 @@ static GpStatus measure_string_callback(GpGraphics *graphics,
*args->codepointsfitted = index + length; *args->codepointsfitted = index + length;
if (args->linesfilled) if (args->linesfilled)
*args->linesfilled += bounds->Height; (*args->linesfilled)++;
return Ok; return Ok;
} }

View File

@ -2490,7 +2490,7 @@ static void test_string_functions(void)
ok(char_bounds.Width > 0, "got %0.2f\n", bounds.Width); ok(char_bounds.Width > 0, "got %0.2f\n", bounds.Width);
ok(char_bounds.Height > 0, "got %0.2f\n", bounds.Height); ok(char_bounds.Height > 0, "got %0.2f\n", bounds.Height);
expect(1, codepointsfitted); expect(1, codepointsfitted);
todo_wine expect(1, linesfilled); expect(1, linesfilled);
status = GdipMeasureString(graphics, teststring, 2, font, &rc, NULL, &bounds, &codepointsfitted, &linesfilled); status = GdipMeasureString(graphics, teststring, 2, font, &rc, NULL, &bounds, &codepointsfitted, &linesfilled);
expect(Ok, status); expect(Ok, status);
@ -2499,7 +2499,7 @@ static void test_string_functions(void)
ok(bounds.Width > char_bounds.Width, "got %0.2f, expected at least %0.2f\n", bounds.Width, char_bounds.Width); ok(bounds.Width > char_bounds.Width, "got %0.2f, expected at least %0.2f\n", bounds.Width, char_bounds.Width);
expectf(char_bounds.Height, bounds.Height); expectf(char_bounds.Height, bounds.Height);
expect(2, codepointsfitted); expect(2, codepointsfitted);
todo_wine expect(1, linesfilled); expect(1, linesfilled);
char_width = bounds.Width - char_bounds.Width; char_width = bounds.Width - char_bounds.Width;
status = GdipMeasureString(graphics, teststring, 6, font, &rc, NULL, &bounds, &codepointsfitted, &linesfilled); status = GdipMeasureString(graphics, teststring, 6, font, &rc, NULL, &bounds, &codepointsfitted, &linesfilled);
@ -2509,7 +2509,7 @@ static void test_string_functions(void)
expectf_(char_bounds.Width + char_width * 3, bounds.Width, 0.01); expectf_(char_bounds.Width + char_width * 3, bounds.Width, 0.01);
ok(bounds.Height > char_bounds.Height, "got %0.2f, expected at least %0.2f\n", bounds.Height, char_bounds.Height); ok(bounds.Height > char_bounds.Height, "got %0.2f, expected at least %0.2f\n", bounds.Height, char_bounds.Height);
expect(6, codepointsfitted); expect(6, codepointsfitted);
todo_wine expect(2, linesfilled); expect(2, linesfilled);
char_height = bounds.Height - char_bounds.Height; char_height = bounds.Height - char_bounds.Height;
/* Cut off everything after the first space. */ /* Cut off everything after the first space. */
@ -2522,7 +2522,7 @@ static void test_string_functions(void)
expectf_(char_bounds.Width + char_width, bounds.Width, 0.01); expectf_(char_bounds.Width + char_width, bounds.Width, 0.01);
expectf_(char_bounds.Height + char_height * 2, bounds.Height, 0.01); expectf_(char_bounds.Height + char_height * 2, bounds.Height, 0.01);
expect(6, codepointsfitted); expect(6, codepointsfitted);
todo_wine expect(3, linesfilled); expect(3, linesfilled);
/* Cut off everything including the first space. */ /* Cut off everything including the first space. */
rc.Width = char_bounds.Width + char_width * 1.5; rc.Width = char_bounds.Width + char_width * 1.5;
@ -2534,7 +2534,7 @@ static void test_string_functions(void)
expectf_(char_bounds.Width + char_width, bounds.Width, 0.01); expectf_(char_bounds.Width + char_width, bounds.Width, 0.01);
expectf_(char_bounds.Height + char_height * 2, bounds.Height, 0.01); expectf_(char_bounds.Height + char_height * 2, bounds.Height, 0.01);
expect(6, codepointsfitted); expect(6, codepointsfitted);
todo_wine expect(3, linesfilled); expect(3, linesfilled);
/* Cut off everything after the first character. */ /* Cut off everything after the first character. */
rc.Width = char_bounds.Width + char_width * 0.5; rc.Width = char_bounds.Width + char_width * 0.5;