(***********************************************************) (* *) (* TURBO GRAPHIX version 1.05A *) (* *) (* Pie chart module *) (* Module version 1.00A *) (* *) (* Copyright (C) 1985 by *) (* BORLAND International *) (* *) (***********************************************************) procedure DrawCartPie(X1,Y1,X2,Y2,Inner,Outer:real; A:PieArray; N,Prior,Scale:integer); var i:integer; Sum,AspectLoc:real; procedure DCS(N: integer); begin DrawCircleSegment(X1,Y1,X2,Y2,Inner,Outer,abs(A[N].area/Sum*360), A[N].area,A[N].text,Prior,Scale); end; begin AspectLoc:=AspectGlb; AspectGlb:=AspectGlb*BXGlb/BYGlb; Sum:=0.0; for i:=1 to N do Sum:=Sum+abs(A[i].area); for i:=1 to N-1 do begin PieGlb:=(A[i].area>0) and (A[i+1].area>0); DCS(i); end; PieGlb:=(A[N].area>0) and (A[1].area>0); DCS(N); PieGlb:=true; AspectGlb:=AspectLoc; end; procedure DrawPolarPie(X1,Y1,Radius,Angle,Inner,Outer:real; A:PieArray; N,Prior,Scale:integer); begin Angle:=Angle/180*Pi; DrawCartPie(X1,Y1,X1+Cos(Angle)*Radius,Y1+Sin(-Angle)*Radius{*AspectGlb* BXGlb/ByGlb},Inner,Outer,A,N,Prior,Scale); end;