Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

nomber.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 nomber (xcall,ycall,ht,f,an,ic)
00021       save
00022 c     
00023 c     Similiar to calcomp number (calling sequence identical),
00024 c     but uses simbol to plot the figures.
00025 c     
00026 c     Created  20.jun.80  plh;
00027 c     Re-written  5.mar.82, 21.may.82  smcm.
00028 c     
00029       integer*4 i,ic,j,m,nchar
00030       character outstr*80,outstr1*160
00031       common/fr int/iframe
00032       common/str posn/i pos set,frx,fry
00033 c     
00034       character*1 pct,blank
00035       data pct/'%'/,blank/' '/
00036 c     
00037       inom=1
00038       x=xcall
00039       y=ycall
00040       go to 1
00041 c     
00042       entry unomber(xcall,ycall,ht,f,an,ic)
00043       entry usernomber(xcall,ycall,ht,f,an,ic)
00044       inom=1
00045       call fr inches(xcall,ycall,x,y)
00046       go to 1
00047 c     
00048       entry nombr(xcall,ycall,ht,f,an,ic)
00049       inom=0
00050       x=xcall
00051       y=ycall
00052       go to 1
00053 c     
00054       entry unombr(xcall,ycall,ht,f,an,ic)
00055       entry usernombr(xcall,ycall,ht,f,an,ic)
00056       inom=0
00057       call fr inches(xcall,ycall,x,y)
00058 c     
00059 1     call numsym(f,ic,outstr,m)
00060       nchar=0
00061 c     
00062 c     Ensure numerical labels are centered in this case:
00063 c     
00064       if (iframe.eq.1.and.i pos set.eq.0) nchar=-999
00065 c     
00066 c     Add %% for simbol:
00067 c     
00068       outstr(m+1:m+2)=pct//pct
00069 c     
00070       if (f.lt.0.) then
00071           if (nchar.lt.0) then
00072 c             
00073 c             Extra blank for better centering of negative numbers:
00074 c             
00075               m=m+1
00076               outstr(m+2:m+2)=outstr(m+1:m+1)
00077               outstr(m+1:m+1)=outstr(m:m)
00078               outstr(m:m)=blank
00079           end if
00080       end if
00081 c
00082       if (inom.eq.0) then
00083           outstr1(1:m+2)=outstr(1:m+2)
00084           i=0
00085           do j=1,m+2
00086               i=i+1
00087               if (outstr1(j:j).lt.'0'.or.outstr1(j:j).gt.'9') then
00088                   outstr(i:i)=outstr1(j:j)
00089               else
00090                   outstr(i:i)='@'
00091                   i=i+1
00092                   outstr(i:i)=outstr1(j:j)
00093               end if
00094           end do
00095       end if
00096 c
00097       call simbol (x,y,ht,outstr,an,nchar)
00098 c     
00099       end

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