[comp.sys.mac.programmer] Polygon smoothing on the Laserwriter

pjy100@csc.anu.oz (10/31/89)

Can anyone on the net shed some light on the following. I am tring to use
the polygon smoothing piccomment for Laserwriter printing and can't get it 
to work.  What is wrong with the following chunk of Think Pascal 2.01 code?

program testLW (input, output);
 uses
  macprint;
 const
  polybegin = 160;
  polyend = 161;
  picplyclo = 165;
  polysmooth = 164;
  polyignore = 163;
  fpolyframe = 1;
  fpolyfill = 2;
  fpolyclose = 4;
 type
  pvh_type = ^ptr;
 var
  pvh: pvh_type;
  hprint: thprint;
  pict: pichandle;
  r: rect;

 procedure print_it;
  var
   ok: boolean;
   myprport: tpprport;
   prstatus: tprstatus;
   saveport: grafptr;
 begin
  getport(saveport);
  if hprint = nil then
   hprint := thprint(newhandle(sizeof(tprint)));
  ok := prvalidate(hprint);
  ok := prjobdialog(hprint);
  if ok then begin
    myprport := propendoc(hprint, nil, nil);
    if prerror = noerr then begin
      propenpage(myprport, nil);
      if prerror = noerr then begin
        setport(@myprport^.gport);
        drawpicture(pict, r);
       end;
     end;
    prclosepage(myprport);
   end;
  prclosedoc(myprport);
  if (hprint^^.prjob.bjdocloop = bspoolloop) and (prerror = noerr) then
   prpicfile(hprint, nil, nil, nil, prstatus);
  setport(saveport);
 end;

begin {TestLW}
 propen;
 setrect(r, 30, 40, 480, 250);
 setdrawingrect(r);
 showdrawing;
 hprint:=nil;
 pict := openpicture(r);
 piccomment(polybegin, 0, nil);
 piccomment(picplyclo, 0, nil);
 pvh := pvh_type(newhandle(1));
 pvh^^ := fpolyframe + fpolyclose;
 piccomment(polysmooth, 1, handle(pvh));
 {draw something}
 moveto(225, 20);
 line(100, 80);
 line(-100, 80);
 line(-100, -80);
 line(100, -80);
 piccomment(polyend, 0, nil);
 closepicture;
 print_it;
 {look at test picture on screen}
 drawpicture(pict, r);
 killpicture(pict);
 disposhandle(handle(hprint));
 disposhandle(handle(pvh));
end.

_____

The output from this is a blank page. Any ideas ?