aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/imdkern/README
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /sys/gio/imdkern/README
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/gio/imdkern/README')
-rw-r--r--sys/gio/imdkern/README85
1 files changed, 85 insertions, 0 deletions
diff --git a/sys/gio/imdkern/README b/sys/gio/imdkern/README
new file mode 100644
index 00000000..da041be0
--- /dev/null
+++ b/sys/gio/imdkern/README
@@ -0,0 +1,85 @@
+IMDKERN -
+
+This directory contains the source for the simple GIO/IMD kernel, used to
+draw graphics in a display frame buffer. It uses the data stream
+interface to open the frame buffer and uses code from SGI to rasterize
+the graphics.
+
+Special graphcap entries used by this kernel:
+
+ CI Color index of graphics pixels
+ FN Display frame buffer
+ LO Width in pixels of line size 1.0
+ LS Difference in pixels between line sizes
+ DB Print debug messages?
+
+
+Revision notes...
+----------------
+IMDKERN notes 20 December 1989 Z. G. Levay, STScI
+
+
+ o Make private copy idskern of gio/sgikern.
+
+ o Change "sgi" filename and procedure prefixes to "imd" throughout
+ the code. Change sgk.x to idk.x. Changed imd_open to imd_fopen to
+ aviod conflict with a procedure in libds. The files are:
+
+ font.com, font.h, idk.com, idk.h, idk.x, imd.com, imd.h,
+ imdcancel.x, imdclear.x, imdclose.x, imdclws.x, imdcolor.x,
+ imddrawch.x, imdescape.x, imdfa.x, imdfaset.x, imdflush.x,
+ imdfont.x, imdfopen.x, imdgcell.x, imdinit.x, imdipl.x,
+ imdkern.par, imdline.x, imdopenws.x, imdpcell.x, imdpl.x,
+ imdplset.x, imdpm.x, imdpmset.x, imdreset.x, imdtx.x, imdtxset.x,
+ ltype.dat, mkpkg, t_imdkern.x, x_imdkern.x,
+
+ o Modify mkpkg to build the task locally without updating the system
+ library or install the task.
+
+ o Add global parameters "frame" and "color" to task imdkern.
+ Modified imd_fopen to read task parameters and pass as arguments to
+ imd_openws. Added these parameters to imd_openws and the call to
+ idk_open.
+
+ o In idk_open, added frame and color to the calling sequence. Added
+ a call to imd_mapframe to open the frame buffer as an image,
+ changed setting the bitmap size to use the frame buffer size (via
+ IMIO) instead of graphcap parameters. Set the bits per bitmap word
+ to 8. Set the maximum bitmap size to 2048x2048 pixels. Ripped out
+ the code for opening the SGI metacode file, DD string manipulation,
+ etc. Added ttygeti calls to read the frame and color from the
+ graphcap in case they were passed as INDEF.
+
+ In idk_frame, changed the code to map an input and output section
+ of the frame buffer (via IMIO), read the bitmap line by line,
+ testing each word for any on bits, and writing the color index
+ value to the frame buffer pixel for each on bitmap bit. Set the
+ I/O buffer sizes to 64 lines (somewhat arbitrarily).
+
+ In idk_open, Changed the code to compute the x and y max (right and
+ top edges) of the bitmap by one pixel to draw to the edge. In
+ idk_linewidth, changed the code to compute the gap at the frame
+ edges by one pixel.
+
+ Removed sections of code dealing with non-bitmap format, rotated or
+ flipped bitmaps.
+
+
+----------------
+Installation and checkout. (12/21/89 dct)
+
+Installed code in gio/imdkern.
+Put hooks for new task IMDKERN in the PLOT package.
+Moved imdkern.par to plot, moved frame,color params to after "generic".
+Deleted file imdipl.x, identical to imdpl.x.
+Renamed imdfopen.x to imdopen.x for consistency with other kernels;
+ changed procedure name to imd_opendev to avoid name collision with imdopen.
+Deleted idk.h, contains only SGI metecode defs not used in idk.x.
+In t_imdkern.x, moved the clgeti's for color,frame to after the clgeti for
+ "generic" (required by startup protocol for graphics subkernel). For the
+ generic case, added initializers to set values to -1 to flag not set.
+ Got rid of the IS_INDEFs in idk.x. Nothing wrong with these, I just try
+ to avoid using INDEF in low level system code.
+mkpkg - link xx_imdkern.e, not x_imdkern.e, rename in the install (this is
+ necessary to permit local testing of new versions, else the installed BIN
+ version is used).