PARAMETER(N = 7, PI = 3.141593) CHARACTER fname*80 REAL PN(2,N) REAL PA(2,4), PB(2,4) C DATA ID,MV/0,4/ DATA PA/1.0,1.0, 0.5,0.9, 0.5,0.1, 0.0,0.0/ DATA PB/0.0,0.0, 0.1,0.5, 0.9,0.5, 1.0,1.0/ C CALL GWOPEN(ID,0) CALL GWSIZE(IR,1, IW, IH) R = FLOAT(IW)/FLOAT(IH) IF(IW .GT. IH) THEN CALL GWVPORT(IR,(R-1)/2,0.0,(R+1)/2,1.0) ELSE CALL GWVPORT(IR,0.0,(1-R)/2,R,(1+R)/2) ENDIF CALL GWINDOW(IR,-0.1,-0.1,1.1,1.1) T = PI/2 DO I = 1, N PN(1, I) = 0.5+0.4*COS(T) PN(2, I) = 0.5+0.4*SIN(T) T = T + 2*PI/N*(N/2) ENDDO CALL GWSETBRS(IR,13, 1, -1) CALL GWPOLYGON(IR,PN, N, -1) CALL GWINPUT(l, 'DATA file name for input (*.gwd)', fname) CALL GWLOAD(IR,0, fname) CALL GWVWMOD(IR,MV) T = -PI/2 DO I = 1, N PN(1, I) = 0.5+0.4*COS(T) PN(2, I) = 0.5+0.4*SIN(T) T = T + 2*PI/N*(N/2) ENDDO CALL GWSETBRS(IR,14, 1, -1) CALL GWPOLYGON(IR,PN, N, -1) CALL GWSETPEN(IR,14, -1, -1, -1) CALL GWLINE(IR,PA(1,1),PA(2,1),PA(1,4),PA(2,4)) CALL GWLINE(IR,PA(1,1),PA(2,1),PA(1,2),PA(2,2)) CALL GWLINE(IR,PA(1,3),PA(2,3),PA(1,4),PA(2,4)) CALL GWCAPVEC(IR,PB(1,1),PB(2,1),PB(1,2),PB(2,2),'Control pnt 1') CALL GWLINE(IR,PB(1,1),PB(2,1),PB(1,2),PB(2,2)) CALL GWCAPVEC(IR,PB(1,4),PB(2,4),PB(1,3),PB(2,3),'Control pnt 2') CALL GWLINE(IR,PB(1,3),PB(2,3),PB(1,4),PB(2,4)) CALL GWSETPEN(IR,0, -1, -1, -1) CALL GWBEZIER(IR,PA, 4) CALL GWBEZIER(IR,PB, 4) CALL GWINPUT(l, 'DATA file name for output (*.gwd)', fname) CALL GWSAVEAS(IR,0,0,0,0,fname) CALL GWINPUT(l, 'Print? (y/n)', fname) IF(fname(1:1) .EQ. 'Y' .OR. fname(1:1) .EQ. 'y') + CALL GWPRINT(IR,0,-1) CALL GWQUIT(IR) END