SUBROUTINE PLTMT (X1,Y1,P1,X2,Y2,P2,Q) C [MARGIN TRIMMER] C THE POINTS Z1=(X1,Y1) AND Z2=(X2,Y2) ARE ADJUSTED TO ENCOMPASS C ONLY THAT PART OF THE LINE JOINING THEM WHICH LIES WITHIN A C PLOTTER PAGE WHOSE HALFWIDTHS ARE HX AND HY. C P1=.TRUE. Z1 WAS MOVED C P2=.TRUE. Z2 WAS MOVED C Q=.TRUE. SOME PORTION OF THE LINE IS VISIBLE C [02-NOV-73] LOGICAL*1 P1,P2,Q DATA HX,HY/4.50,3.25/ EX(Y)=X1+(Y-Y1)*((X2-X1)/(Y2-Y1)) WY(X)=Y1+(X-X1)*((Y2-Y1)/(X2-X1)) P1=.FALSE. IF (ABS(X1).LE.HX) GO TO 5 IF (X1.EQ.X2) GO TO 20 X0=SIGN(HX,X1) Y1=WY(X0) X1=X0 P1=.TRUE. 5 IF (ABS(Y1).LE.HY) GO TO 10 IF (Y1.EQ.Y2) GO TO 20 Y0=SIGN(HY,Y1) X1=EX(Y0) Y1=Y0 P1=.TRUE. 10 P2=.FALSE. IF (ABS(X2).LE.HX) GO TO 15 IF (X1.EQ.X2) GO TO 20 X0=SIGN(HX,X2) Y2=WY(X0) X2=X0 P2=.TRUE. 15 IF (ABS(Y2).LE.HY) GO TO 20 IF (Y1.EQ.Y2) GO TO 20 Y0=SIGN(HY,Y2) X2=EX(Y0) Y2=Y0 P2=.TRUE. 20 X0=0.5*(X1+X2) Y0=0.5*(Y1+Y2) Q=(ABS(X0).LT.HX).AND.(ABS(Y0).LT.HY) RETURN END