gdiplus: Fix the linesfilled calculation in GdipMeasureString.
This commit is contained in:
parent
2cde94a89e
commit
21109a40fb
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue