00001 c 00002 c The following is an alphabetized list of all common blocks 00003 c necessary for the proper functioning of the mcpak graphics 00004 c library, when graphics contexts are being switched (i.e. these 00005 c blocks must be saved and restored to preserve continuity). 00006 c 00007 c NOTE: We need not store device-specific material if only a 00008 c single instance of a given device is permitted--the info is 00009 c saved anyway, and cannot be overwritten. 00010 c 00011 subroutine save_mcpak_context(id) 00012 save 00013 c 00014 c Save all relevant commons in a character string. 00015 c 00016 parameter (NCMAX = 100) 00017 character*1000 save_string(NCMAX) 00018 c 00019 common/backgcolor/ibackgcolor 00020 common/dash/dpatrn(10),dpat,npatrn,ipat,lpen 00021 common/devdetails/itek,ivers 00022 common/devinit/initdev 00023 common/devstatus/idevon,idevpen,idevwt 00024 common/findex/index 00025 common/framesize/nxpix,nx0,xfac,nypix,ny0,yfac 00026 common/frbare/ibare 00027 common/frbnds/modeb 00028 common/frconf/scent,rnuml,rnumr,snumt,snumb,dsnums,jrot,stopnum 00029 common/frdraw/moded 00030 common/frhts/htl,htn 00031 common/frint/iframe 00032 common/frlbx/lmodex 00033 common/frlby/lmodey 00034 common/frpens/icolors(3) 00035 common/frplain/iplain 00036 common/frrotn/irot 00037 common/frsetax/kax,lax 00038 common/frsord/idash 00039 common/frticks/tiks(3),tikl 00040 common/frtiklevel/jtiklevel 00041 common/frwts/iwts(4) 00042 common/frxnums/xnumbot 00043 common/frylabpos/slab 00044 common/lastpoint/rl,sl 00045 common/lhlimit/rlhe 00046 common/lowlimit/sbot 00047 common/mcpak_colormap/ncolor 00048 common/mlineon/imline 00049 common/ngonstars/istar 00050 common/numbron/inumbr 00051 common/numsymint/rs,ss,dx,dy,sint,cost 00052 common/penposn/npo 00053 common/plainfont/wid 00054 common/plotinvert/inv,ipensto 00055 common/plotoffset/iin 00056 common/plotorigin/ro,so 00057 common/plotsizes/xsize,ysize 00058 common/sboxdata/iborder,ierase,fraction 00059 common/scales/xl,xr,dinchx,ybot,ytop,dinchy,rlen,slen 00060 common/strlimits/offxmin,offxmax,offymin,offymax 00061 common/strposn/iposset,frx,fry 00062 common/yfollowsx/ixy 00063 c 00064 save_string(id) = ' ' 00065 write(save_string(id),*) 00066 $ ibackgcolor,dpatrn,dpat,npatrn,ipat,lpen, 00067 $ itek,ivers,initdev,idevon,idevpen,idevwt, 00068 $ index,nxpix,nx0,xfac,nypix,ny0,yfac,ibare, 00069 $ modeb,scent,rnuml,rnumr,snumt,snumb,dsnums, 00070 $ jrot,stopnum,moded,htl,htn,iframe,lmodex, 00071 $ lmodey,icolors,iplain,irot,kax,lax,idash,ixy, 00072 $ ncolor, 00073 $ tiks,tikl,jtiklevel,iwts,xnumbot,slab,rl,sl, 00074 $ rlhe,sbot,imline,istar,inumbr,rs,ss,dx,dy, 00075 $ sint,cost,npo,wid,inv,ipensto,iin,ro,so, 00076 $ xsize,ysize,iborder,ierase,fraction,xl,xr, 00077 $ dinchx,ybot,ytop,dinchy,rlen,slen,offxmin, 00078 $ offxmax,offymin,offymax,iposset,frx,fry 00079 return 00080 c 00081 entry restore_mcpak_context(id) 00082 c 00083 c Restore a saved graphics context. 00084 c 00085 read(save_string(id),*) 00086 $ ibackgcolor,dpatrn,dpat,npatrn,ipat,lpen, 00087 $ itek,ivers,initdev,idevon,idevpen,idevwt, 00088 $ index,nxpix,nx0,xfac,nypix,ny0,yfac,ibare, 00089 $ modeb,scent,rnuml,rnumr,snumt,snumb,dsnums, 00090 $ jrot,stopnum,moded,htl,htn,iframe,lmodex, 00091 $ lmodey,icolors,iplain,irot,kax,lax,idash,ixy, 00092 $ ncolor, 00093 $ tiks,tikl,jtiklevel,iwts,xnumbot,slab,rl,sl, 00094 $ rlhe,sbot,imline,istar,inumbr,rs,ss,dx,dy, 00095 $ sint,cost,npo,wid,inv,ipensto,iin,ro,so, 00096 $ xsize,ysize,iborder,ierase,fraction,xl,xr, 00097 $ dinchx,ybot,ytop,dinchy,rlen,slen,offxmin, 00098 $ offxmax,offymin,offymax,iposset,frx,fry 00099 c 00100 end