gdiplus: Properly set the first point to start when widening open figures.
This commit is contained in:
parent
47c433de8c
commit
8871af7ea5
|
@ -1806,15 +1806,16 @@ static void widen_open_figure(GpPath *path, GpPen *pen, int start, int end,
|
||||||
path_list_node_t **last_point)
|
path_list_node_t **last_point)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
path_list_node_t *prev_point;
|
||||||
|
|
||||||
if (end <= start)
|
if (end <= start)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
prev_point = *last_point;
|
||||||
|
|
||||||
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
|
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
|
||||||
pen, pen->startcap, pen->customstart, FALSE, TRUE, last_point);
|
pen, pen->startcap, pen->customstart, FALSE, TRUE, last_point);
|
||||||
|
|
||||||
(*last_point)->type = PathPointTypeStart;
|
|
||||||
|
|
||||||
for (i=start+1; i<end; i++)
|
for (i=start+1; i<end; i++)
|
||||||
widen_joint(&path->pathdata.Points[i-1], &path->pathdata.Points[i],
|
widen_joint(&path->pathdata.Points[i-1], &path->pathdata.Points[i],
|
||||||
&path->pathdata.Points[i+1], pen, last_point);
|
&path->pathdata.Points[i+1], pen, last_point);
|
||||||
|
@ -1829,6 +1830,7 @@ static void widen_open_figure(GpPath *path, GpPen *pen, int start, int end,
|
||||||
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
|
widen_cap(&path->pathdata.Points[start], &path->pathdata.Points[start+1],
|
||||||
pen, pen->startcap, pen->customstart, TRUE, FALSE, last_point);
|
pen, pen->startcap, pen->customstart, TRUE, FALSE, last_point);
|
||||||
|
|
||||||
|
prev_point->next->type = PathPointTypeStart;
|
||||||
(*last_point)->type |= PathPointTypeCloseSubpath;
|
(*last_point)->type |= PathPointTypeCloseSubpath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue