aboutsummaryrefslogtreecommitdiff
path: root/pkg/images/tv/iis/iism70/zcontrol.x
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/images/tv/iis/iism70/zcontrol.x')
-rw-r--r--pkg/images/tv/iis/iism70/zcontrol.x116
1 files changed, 116 insertions, 0 deletions
diff --git a/pkg/images/tv/iis/iism70/zcontrol.x b/pkg/images/tv/iis/iism70/zcontrol.x
new file mode 100644
index 00000000..56d8caeb
--- /dev/null
+++ b/pkg/images/tv/iis/iism70/zcontrol.x
@@ -0,0 +1,116 @@
+# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+
+include "../lib/ids.h"
+include "iis.h"
+
+# ZCONTROL -- call the device dependent control routines
+
+procedure zcontrol(device, rw, frame, color, offset, n, data)
+
+short device # which device/register to control
+short rw # write/read/wait,read
+short frame[ARB] # array of image frames
+short color[ARB] # array of color
+short offset # generalized offset or datum
+short n # count of items in data array
+short data[ARB] # data array
+
+begin
+ switch(device) {
+ case IDS_FRAME_LUT:
+ call iislut(rw, frame, color, offset, n, data)
+
+ case IDS_GR_MAP:
+ # for now, nothing
+
+ case IDS_INPUT_LUT:
+ call iisifm(rw, offset, n, data)
+
+ case IDS_OUTPUT_LUT:
+ call iisofm(rw, color, offset, n, data)
+
+ case IDS_SPLIT:
+ call iissplit(rw, n, data)
+
+ case IDS_SCROLL:
+ call iisscroll(rw, frame, n, data)
+
+ case IDS_ZOOM:
+ call iiszoom(rw, frame, n, data)
+
+ case IDS_OUT_OFFSET:
+ call iisoffset(rw, color, n, data)
+
+ case IDS_MIN:
+ call iismin(rw, color, n, data)
+
+ case IDS_MAX:
+ call iismax(rw, color, n, data)
+
+ case IDS_RANGE:
+ call iisrange(rw, color, n, data)
+
+ case IDS_HISTOGRAM:
+ call iishisto(rw, color, offset, n, data)
+
+ case IDS_ALU_FCN:
+ # for now, nothing
+
+ case IDS_FEEDBACK:
+ # for now, nothing
+
+ case IDS_SLAVE:
+ # for now, nothing
+
+ case IDS_CURSOR:
+ call iiscursor(rw, offset, n, data)
+
+ case IDS_TBALL:
+ call iistball(rw, data)
+
+ case IDS_DIGITIZER:
+ # for now, nothing
+
+ case IDS_BLINK:
+ # for now, nothing
+
+ case IDS_SNAP:
+ call zsnap_init(data[1])
+
+ case IDS_MATCH:
+ call iismatch (rw, frame, color, n, data)
+ }
+end
+
+
+# MAPCOLOR - modify the color array to map rgb for iis
+
+int procedure mapcolor(color)
+
+short color[ARB] # input data
+
+int i
+int val, result
+int or()
+
+begin
+ result = 0
+ for ( i = 1; color[i] != IDS_EOD ; i = i + 1 ) {
+ val = color[i]
+ switch (val) {
+ case IDS_RED:
+ val = RED
+
+ case IDS_GREEN:
+ val = GREEN
+
+ case IDS_BLUE:
+ val = BLUE
+
+ default:
+ val = 2**(val-1)
+ }
+ result = or (result, val)
+ }
+ return (result)
+end