C*********************************************************************** C Module: zoomtest.f C C Copyright (C) 1996 Harold Youngren, Mark Drela C C This program is free software; you can redistribute it and/or modify C it under the terms of the GNU General Public License as published by C the Free Software Foundation; either version 2 of the License, or C (at your option) any later version. C C This program is distributed in the hope that it will be useful, C but WITHOUT ANY WARRANTY; without even the implied warranty of C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the C GNU General Public License for more details. C C You should have received a copy of the GNU General Public License C along with this program; if not, write to the Free Software C Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. C C Report problems to: guppy@maine.com C or drela@mit.edu C*********************************************************************** PROGRAM ZOOMTEST C C---- dot-pattern masks for use with PLGRID, NEWPAT, etc. C C mask0: _________________________ (solid) C 1: ......................... C 2: . . . . . . . . . . . . . C 3: . . . . . . . C 4: . . . . C CHARACTER LINE*80 LOGICAL LXYSAME, LCURSOR data mask0, mask1, mask2, mask3, mask4 & / -1 , -21846, -30584, -32640, -32768 / C IDEV = 1 IPSLU = 0 SIZE = 0.8 C CH = 0.020 C CALL PLINITIALIZE CALL PLOPEN(0.78,IPSLU,IDEV) CALL DRAWTOBUFFER CALL NEWFACTOR(SIZE) C CALL PLOTABS(1.00,1.00,-3) C call PLGRID(0.0,0.0,22,0.5,17,0.5,MASK2) call PLGRID(0.0,0.0,11,1.0, 9,1.0,MASK1) call PLGRID(0.0,0.0, 3,5.0, 2,5.0,MASK0) call PLSLAN(0.1,0.1,0.2,'abcDEF123',0.0,9) CALL NEWCOLORNAME('green') call PLCHAR(1.1,1.1,0.2,'321GHIjkl',0.0,9) CALL NEWCOLORNAME('red') call PLSLAN(2.1,2.1,0.2,'mnoPQR123',0.0,9) CALL NEWCOLORNAME('blue') call PLCHAR(3.1,3.1,0.2,'321STUvwx',0.0,9) CALL NEWCOLORNAME('black') c CALL PLFLUSH c write(*,*) ' ' write(*,*) 'The zoom can be done with same X,Y scales' write(*,*) 'Either mouse or keyboard can set the zoom rectangle' write(*,*) 'Enter XYsame, MouseInput flags (T/F):' LXYSAME = .TRUE. LCURSOR = .TRUE. read(*,1000) LINE if(LINE.NE.' ') THEN read(LINE,*,err=10) LXYSAME,LCURSOR endif 10 write(*,*) ' ' C do k=1, 3 call USETZOOM( LXYSAME , LCURSOR ) call REPLOT(1) enddo pause call CLRZOOM call REPLOT(1) pause c CALL PLOT(0.0,0.0,+999) 1000 FORMAT(A) C END