!	Program to test subroutine ELPARC for drawing elliptic arcs.
	PROGRAM GPE10
	INCLUDE 'SYS$LIBRARY:GKSDEFS.BND'
	REAL*4 XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,FRM
	INTEGER IARC,WKTYPE,MASK
	DATA MASK/'FF'X/

	CALL ORIENT('PORTRAIT')
	CALL GSTART          ! Nominate device
	CALL PAGE(8.5,11.0) ! Define Page size
	CALL AREA2D(7.5,8.0) ! Define subplot area
	CALL FONT('PALATINO','NORMAL')
	CALL HEADIN('GPLOT EXAMPLE 10$',100,2.0,2)
	CALL FONT('CHANCERY','NORMAL')
	CALL HEADIN('Elliptic Arc Primitives$',100,2.0,2)
	CALL DUPLX
	CALL GQACWK(1,IERR,NACTV,LWKACT)
	CALL GQWKC(LWKACT,IERR,ICONID,WKTYPE)
	WKTYPE = WKTYPE .AND. MASK
	IF(WKTYPE .EQ. 61) THEN
	  CALL CHRMSG(0.5,7.8,
	1'A DEC-GKS 4.1 bug makes this plot incorrect for postscript.')
	END IF

	CALL GSFAIS(GSOLID)   ! Use solid fill

	XORG = 2.0
	YORG = 2.0
	RAD1 = 2.0
	RAD2 = 1.0
	ANG = 45.0

	DO IANG = 1,4        ! Draw four times at different angles
	  ANG = 45.0*(IANG-1)
	  THETA1 = 0.0
	  THETA2 = 60.0
	  FRM = 1.0              ! Normal line width, unfilled
	  CALL NEWCLR('RED')     ! Define color
	  CALL ELARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,FRM,GATOPN)
!   Note that GATOPN,GATPIE, and GATCHRD are obtained from the include library
	  THETA1 = THETA2
	  THETA2 = THETA1 + 60.0
	  CALL NEWCLR('GREEN')
	  CALL ELPARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,'SLICE',FRM)
	  THETA1 = THETA2
	  THETA2 = THETA1 + 60.0
	  CALL NEWCLR('BLUE')
	  CALL ELPARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,'CHORD',FRM)
	  FRM = 0.0               ! For FRM = 0, fill arc
	  THETA1 = THETA2
	  THETA2 = THETA1 + 60.0
	  CALL NEWCLR('YELLOW')
	  CALL ELPARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,'CHORD',FRM)
	  THETA1 = THETA2
	  THETA2 = THETA1 + 60.0
	  CALL NEWCLR('CYAN')
	  CALL ELPARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,'SLICE',FRM)
	  FRM = 8.0
	  THETA1 = THETA2
	  THETA2 = THETA1 + 60.0
	  CALL NEWCLR('FOREGROUND')
	  CALL ELPARC(XORG,YORG,RAD1,RAD2,ANG,THETA1,THETA2,'NONE',FRM)
!  Define new origin of coordinates for next figure
	  IF(YORG .EQ. 2.0) THEN
	    YORG = YORG + 4.0
	  ELSE
	    YORG = 2.0
	    XORG = XORG + 4.0
	  END IF
	END DO

	CALL ENDPL(1)
	CALL GSTOP
	CALL EXIT
	END
