diff options
Diffstat (limited to 'pkg/images/tv/iis/iism70/zinit.x')
-rw-r--r-- | pkg/images/tv/iis/iism70/zinit.x | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pkg/images/tv/iis/iism70/zinit.x b/pkg/images/tv/iis/iism70/zinit.x new file mode 100644 index 00000000..e03fd57c --- /dev/null +++ b/pkg/images/tv/iis/iism70/zinit.x @@ -0,0 +1,45 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <mach.h> +include "../lib/ids.h" +include "iis.h" + +# ZINIT -- initialize for IIS operation +# in general case, would use nfr and ngr to determine maximum file size +# which would encompass all the images and graphics planes and all the +# devices too. Then, file mapped i/o could move most of the device indep. +# code to the reading and writing routines. +# not done for IIS + +procedure zinit (nfr, ngr, filesize) + +short nfr # maximum number of image frames +short ngr # maximum number of graphics bit planes +long filesize # returned value + +short pl[IDS_MAXIMPL+2] +short zm[4] + +include "../lib/ids.com" +include "iis.com" + +begin + i_snap = false + # we have no place to store all the zoom and scroll information. + # so we initialize to zoom = 1 and scroll = center for all planes + pl[1] = IDS_EOD + call ids_expand(pl, i_maxframes, true) + zm[1] = 1 + zm[2] = IIS_XCEN * MCXSCALE + zm[3] = IIS_YCEN * MCYSCALE + zm[4] = IDS_EOD + call iiszoom(short(IDS_WRITE), pl, short(4), zm) + call iisscroll(short(IDS_WRITE), pl, short(3), zm[2]) + + # We also need to set the i_frame_on variable (iis.com), which + # we do with a "trick": We call zdisplay_i with quad == EOD; + # this is a "nop" for the display code, but will set the variable. + + call zdisplay_i (short(IDS_ON), short(IDS_EOD), short(IDS_EOD), + short(IDS_EOD)) +end |