**************** * frame buffer * swift /dev/cv0 **************** coordinate system: lower left of screen = (0,0), upper right = (511,511) cvinit(1); at start of each program. 0 for warm start. cvflush(); flush i/o buffer. image(data,x0,y0,x1,y1,bank) write 8-bit image data char[x1-x0+1][y1-y0+1] stored as if a Fortran array with d(i,j) at x=i, y=j, (scan rows left to right, starting with bottom row) maximum image size is 128^2. x0,y0,x1,y1 coordinates of lower left and upper right of window bank 3-bit value (red,green,blue) indicating banks to be written lutrte(bank) set which bank drives the display bank 0x0 each bank indexes its own color table 0x7E red drives all 0x75 green drives all 0x53 blue drives all cvmap(map,maxi,zero) char *map; /* string describing kind of map */ int maxi; /* indices from 0 through maxi */ int zero; /* currently unused */ map=ffile read triples from file r blue-to-red (for 8 bit in; gamma corrected) s spectrum (for 8 bit in; gamma corrected) n normal map (for 24 bin in; not gamma corrected) g normal map (for 24 bin in; gamma corrected) i like g, but inverse video cvload(n,x,y); load coordinate register n. 0<=n<=63 creg 4 coordinates of center of screen (useful for panning) zoom(fact) fact = 1, 2, 4, or 8 (to see 512, 256, 128, or 64 -size images) cvvalue(r,g,b) set current color cvflood() erase screen