Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

pixel.f

Go to the documentation of this file.
00001 
00002 c
00003 c       Copyright (c) 1986,1987,1988,1989,1990,1991,1992,1993,
00004 c       by Steve McMillan, Drexel University, Philadelphia, PA.
00005 c
00006 c       All rights reserved.
00007 c
00008 c       Redistribution and use in source and binary forms are permitted
00009 c       provided that the above copyright notice and this paragraph are
00010 c       duplicated in all such forms and that any documentation,
00011 c       advertising materials, and other materials related to such
00012 c       distribution and use acknowledge that the software was developed
00013 c       by the author named above.
00014 c
00015 c       THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00016 c       IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00017 c       WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00018 c
00019 
00020         subroutine pixel(iin,jin,ipenin)
00021         save
00022 c
00023 c       Move or draw to a specified pixel. Currently implemented
00024 c       for the Tektronix options (or equivalent) only.
00025 c
00026         character*80 device
00027         common /plot device/ device,aspect,idev
00028         common /framesize/ nxpix,nx0,xfac,nypix,ny0,yfac
00029         common /dev init/ init
00030         common /dev details/ itek,ivers
00031         logical on
00032         character*1 ctrl(0:31),
00033      &              null,ctrla,tab,lf,ff,cr,ctrlx,ctrlz,esc,gs,del
00034         common /ctrlch/ ctrl,
00035      &                  null,ctrla,tab,lf,ff,cr,ctrlx,ctrlz,esc,gs,del
00036 c
00037         character*1 vec(0:5),up(3),down(3)
00038         data up/' ','L','F'/down/' ','L','G'/
00039 c
00040         if(itek.eq.0)return
00041         up(1)=esc
00042         down(1)=esc
00043         vec(0)=gs
00044 c
00045         if(init.eq.0)then
00046             init=-1
00047             call mcinit
00048             call devon
00049             call clear
00050         end if
00051         if(.not.on())call devon
00052         i=iin
00053         j=jin
00054         ipen=abs(ipenin)
00055         if(ipen.ne.2)ipen=3
00056         if(nxpix.gt.1023)then
00057             i4=i/4
00058             ii=i-4*i4
00059             j4=j/4
00060             jj=j-4*j4
00061             vec(2)=char(96+ii+4*jj)
00062             i=i4
00063             j=j4
00064         else
00065             vec(2)='`'
00066         end if
00067         j32=j/32
00068         vec(1)=char(32+j32)
00069         vec(3)=char(96+(j-32*j32))
00070         i32=i/32
00071         vec(4)=char(32+i32)
00072         vec(5)=char(64+(i-32*i32))
00073 c
00074 c       (these assignments are ok because none of the values are >127)
00075 c
00076         if(idev.lt.13)then
00077             if(ipen.eq.3)then
00078                 call type string(vec(0),6)
00079             else
00080                 call type string(vec(1),5)
00081             end if
00082         else
00083             if(ipen.eq.3)then
00084                 call type string(up,3)
00085             else
00086                 call type string(down,3)
00087             end if
00088             call type string(vec(1),5)
00089         end if
00090         end

Generated at Sun Feb 24 09:57:11 2002 for STARLAB by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001