Index: examples/rect.hpgl =================================================================== --- examples/rect.hpgl (revision 11218) +++ examples/rect.hpgl (revision 11219) @@ -8,6 +8,6 @@ PA200,0; PA200,200; PA0,200; -PA0,0; +PR0,-200; PU; Index: parse.c =================================================================== --- parse.c (revision 11218) +++ parse.c (revision 11219) @@ -211,6 +211,16 @@ ctx->state.at.y = p->num[1]; } return 0; + case inst2num('P','R'): + if (p->nums == 2) { + p->state = ST_INST_END; + if (ctx->state.pen_down) + if (draw_line(ctx, ctx->state.at.x, ctx->state.at.y, ctx->state.at.x + p->num[0], ctx->state.at.y + p->num[1]) < 0) + return -1; + ctx->state.at.x += p->num[0]; + ctx->state.at.y += p->num[1]; + } + return 0; } return error(ctx, "unimplemented coord instruction"); }