Added a call to the newpath operator immediately before the arc

operator.
This commit is contained in:
Luc Tourangeau 1999-07-30 18:04:25 +00:00 committed by Alexandre Julliard
parent cfbafe3247
commit 63ff31eacd
2 changed files with 13 additions and 0 deletions

View File

@ -152,6 +152,9 @@ static char psfill[] =
static char pseofill[] = static char pseofill[] =
"eofill\n"; "eofill\n";
static char psnewpath[] =
"newpath\n";
static char psclosepath[] = static char psclosepath[] =
"closepath\n"; "closepath\n";
@ -508,6 +511,10 @@ BOOL PSDRV_WriteArc(DC *dc, INT x, INT y, INT w, INT h, double ang1,
/* Make angles -ve and swap order because we're working with an upside /* Make angles -ve and swap order because we're working with an upside
down y-axis */ down y-axis */
sprintf(buf, psarc, x, y, w, h, -ang2, -ang1); sprintf(buf, psarc, x, y, w, h, -ang2, -ang1);
/* Write newpath operator to ensure there's no line segment drawn
from the current point to the beginning of the arc. */
PSDRV_WriteNewPath( dc );
return PSDRV_WriteSpool(dc, buf, strlen(buf)); return PSDRV_WriteSpool(dc, buf, strlen(buf));
} }
@ -679,6 +686,11 @@ BOOL PSDRV_WriteGRestore(DC *dc)
return PSDRV_WriteSpool(dc, psgrestore, sizeof(psgrestore)-1); return PSDRV_WriteSpool(dc, psgrestore, sizeof(psgrestore)-1);
} }
BOOL PSDRV_WriteNewPath(DC *dc)
{
return PSDRV_WriteSpool(dc, psnewpath, sizeof(psnewpath)-1);
}
BOOL PSDRV_WriteClosePath(DC *dc) BOOL PSDRV_WriteClosePath(DC *dc)
{ {
return PSDRV_WriteSpool(dc, psclosepath, sizeof(psclosepath)-1); return PSDRV_WriteSpool(dc, psclosepath, sizeof(psclosepath)-1);

View File

@ -286,6 +286,7 @@ extern BOOL PSDRV_WriteFill(DC *dc);
extern BOOL PSDRV_WriteEOFill(DC *dc); extern BOOL PSDRV_WriteEOFill(DC *dc);
extern BOOL PSDRV_WriteGSave(DC *dc); extern BOOL PSDRV_WriteGSave(DC *dc);
extern BOOL PSDRV_WriteGRestore(DC *dc); extern BOOL PSDRV_WriteGRestore(DC *dc);
extern BOOL PSDRV_WriteNewPath(DC *dc);
extern BOOL PSDRV_WriteClosePath(DC *dc); extern BOOL PSDRV_WriteClosePath(DC *dc);
extern BOOL PSDRV_WriteClip(DC *dc); extern BOOL PSDRV_WriteClip(DC *dc);
extern BOOL PSDRV_WriteRectClip(DC *dc, CHAR *pszArrayName); extern BOOL PSDRV_WriteRectClip(DC *dc, CHAR *pszArrayName);