[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]

    {
    THOMAS GROFF

    > would like a unit to return the endpoints of a PIE segment. You could
    > always draw the arc invisibly and then use the GetArcCoords() procedure
    > provided in the graph unit and save yourself some time.
    }

    program getlegs;
    uses
      graph;
    var
      pts3    : arccoordstype; { <---- Necessary to declare this type var. }
      rad,
      startang,
      endang,
      x, y,
      gd, gm  : integer;
    begin
      gd := detect;
      InitGraph(gd,gm,'e:\bp\bgi');
      cleardevice;
      x := 100;
      y := 100;
      startang := 25;
      endang   := 130;
      rad      := 90;

      setcolor(getbkcolor);  {  <------ Draw arc in background color. }
      arc(x, y, startang, endang, rad);
      GetArcCoords(pts3);  {  <----- This is what you want, look it up! }
      setcolor(white);     {  <----- Show your lines now.}
      line(pts3.x, pts3.y, pts3.xstart, pts3.ystart);
      line(pts3.x, pts3.y, pts3.xend, pts3.yend);
      outtextxy(50, 150, 'Press enter to see your original arc when ready...');

      readln;
      setcolor(yellow);
      arc(x, y, startang, endang, rad);
      outtextxy(50, 200, 'Press enter stop demo.');
      readln;
      closegraph;
    end.

[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]