gdiplus: Fix LineCapRound path widening.

Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jeff Smith 2020-02-18 23:51:57 -06:00 committed by Alexandre Julliard
parent eff15943ce
commit 26ffbf6b8c
2 changed files with 5 additions and 3 deletions

View file

@ -1955,6 +1955,8 @@ static void widen_cap(const GpPointF *endpoint, const GpPointF *nextpoint,
*last_point = add_path_list_node(*last_point, endpoint->X - dy, *last_point = add_path_list_node(*last_point, endpoint->X - dy,
endpoint->Y + dx, PathPointTypeBezier); endpoint->Y + dx, PathPointTypeBezier);
} }
else if (add_last_point)
add_bevel_point(endpoint, nextpoint, pen, 0, last_point);
break; break;
} }
case LineCapTriangle: case LineCapTriangle:

View file

@ -1260,8 +1260,8 @@ static path_test_t widenline_capsquare_path[] = {
}; };
static path_test_t widenline_capround_path[] = { static path_test_t widenline_capround_path[] = {
{5.0, 5.0, PathPointTypeStart, 0, 2}, /*0*/ {5.0, 5.0, PathPointTypeStart, 0, 0}, /*0*/
{50.0, 5.0, PathPointTypeLine, 0, 1}, /*1*/ {50.0, 5.0, PathPointTypeLine, 0, 0}, /*1*/
{52.761421, 5.0, PathPointTypeBezier, 0, 0}, /*2*/ {52.761421, 5.0, PathPointTypeBezier, 0, 0}, /*2*/
{55.0, 7.238576, PathPointTypeBezier, 0, 0}, /*3*/ {55.0, 7.238576, PathPointTypeBezier, 0, 0}, /*3*/
{55.0, 10.0, PathPointTypeBezier, 0, 0}, /*4*/ {55.0, 10.0, PathPointTypeBezier, 0, 0}, /*4*/
@ -1379,7 +1379,7 @@ static void test_widen_cap(void)
{ LineCapSquare, widenline_capsquare_path, { LineCapSquare, widenline_capsquare_path,
ARRAY_SIZE(widenline_capsquare_path) }, ARRAY_SIZE(widenline_capsquare_path) },
{ LineCapRound, widenline_capround_path, { LineCapRound, widenline_capround_path,
ARRAY_SIZE(widenline_capround_path), TRUE }, ARRAY_SIZE(widenline_capround_path) },
{ LineCapTriangle, widenline_captriangle_path, { LineCapTriangle, widenline_captriangle_path,
ARRAY_SIZE(widenline_captriangle_path), TRUE }, ARRAY_SIZE(widenline_captriangle_path), TRUE },
{ LineCapNoAnchor, widenline_capflat_path, { LineCapNoAnchor, widenline_capflat_path,