home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d4xx / d499 / diglib.lha / Diglib / diglib.lzh / source / CURVE.for < prev    next >
Encoding:
Text File  |  1991-04-13  |  1.2 KB  |  47 lines

  1.         SUBROUTINE CURVE(X,Y,NPTS,ISYMNO,SYMSIZ,NPBSYM)
  2.         IMPLICIT NONE
  3.         REAL*4 X(NPTS), Y(NPTS)
  4. C
  5. C       THIS SUBROUTINE TRACES THE LINE FROM X(1),Y(1) TO
  6. C       X(NPTS),Y(NPTS) WITH APPROPIATE CLIPPING.
  7. C       IT THEN ADDS THE DESIRED SYMBOL (ISYMNO) TO THE PLOT SPACED
  8. C       "NPBSYM" POINTS APART.
  9. C
  10.         REAL*4 AREA(4),VX,VY
  11.         INTEGER I,IOLDLT
  12. C
  13.         INCLUDE DIGLIB$KOM:GCLTYP.PRM
  14.         INCLUDE DIGLIB$KOM:PLTSIZ.PRM
  15. C
  16.         CALL GSSCLP(XVSTRT,XVSTRT+XVLEN,YVSTRT,YVSTRT+YVLEN,AREA)
  17.         CALL SCALE(X(1),Y(1),VX,VY)
  18.         CALL GSMOVE(VX,VY)
  19.         IF (NPTS .LE. 1) GO TO 110
  20. 10      DO 100 I=2,NPTS
  21.         CALL SCALE(X(I),Y(I),VX,VY)
  22.         CALL GSDRAW(VX,VY)
  23. 100     CONTINUE
  24. C
  25. C       NOW ADD SYMBOLS IF DESIRED
  26. C
  27. 110     CONTINUE
  28.         IF (ISYMNO .LE. 0) GO TO 800
  29. C
  30. C       SAVE LINE TYPE, AND DO SYMBOLS IN SOLID LINES
  31. C
  32.         IOLDLT = ILNTYP
  33.         ILNTYP = 1
  34.         DO 200 I=1, NPTS, NPBSYM
  35.         CALL SCALE(X(I),Y(I),VX,VY)
  36.         CALL GSMOVE(VX,VY)
  37.         CALL SYMBOL(ISYMNO,SYMSIZ)
  38. 200     CONTINUE
  39. C
  40. C       RESTORE LINE TYPE
  41. C
  42.         ILNTYP = IOLDLT
  43. 800     CONTINUE
  44.         CALL GSRCLP(AREA)
  45.         RETURN
  46.         END
  47.