Path: utzoo!attcan!uunet!mcsun!hp4nl!integow!hot From: hot@integow.uucp (Roland van Hout) Newsgroups: alt.sources Subject: PD plot(4) librarys (and hercules driver for interactive 386) part 1 of 9 Keywords: plot interface graphics Message-ID: <1389@integow.uucp> Date: 28 Oct 90 03:51:39 GMT Organization: Integrity BV, Woerden, the Netherlands Lines: 858 #!/bin/sh # This is a shell archive (shar 3.21) # made 10/26/1990 17:46 UTC by root@hot # Source directory /u/pd/drivers/hercules # # existing files WILL be overwritten # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 172 -rw-r--r-- libplot/herc/README # 1067 -rw-rw-rw- libplot/herc/herc.mk # 19383 -rw-rw-rw- libplot/herc/libherc.c # 1000 -rw-r--r-- libplot/ReGIS/ReGIS.mk # 4002 -rw-r--r-- libplot/ReGIS/libReGIS.c # 378 -rw-r--r-- libplot/hpgl/Makefile # 572 -rw-r--r-- libplot/hpgl/README # 737 -rw-r--r-- libplot/hpgl/arc.c # 174 -rw-r--r-- libplot/hpgl/box.c # 278 -rw-r--r-- libplot/hpgl/circle.c # 168 -rw-r--r-- libplot/hpgl/close.c # 92 -rw-r--r-- libplot/hpgl/cont.c # 25 -rw-r--r-- libplot/hpgl/dot.c # 27 -rw-r--r-- libplot/hpgl/erase.c # 1323 -rw-r--r-- libplot/hpgl/hpglchord.c # 163 -rw-r--r-- libplot/hpgl/label.c # 111 -rw-r--r-- libplot/hpgl/line.c # 413 -rw-r--r-- libplot/hpgl/linmod.c # 91 -rw-r--r-- libplot/hpgl/move.c # 110 -rw-r--r-- libplot/hpgl/onoff.c # 429 -rw-r--r-- libplot/hpgl/open.c # 44 -rw-r--r-- libplot/hpgl/point.c # 1198 -rw-r--r-- libplot/hpgl/space.c # 1799 -rw-r--r-- libplot/lp/Makefile # 11475 -rw-r--r-- libplot/lp/charset.0 # 1407 -rw-r--r-- libplot/lp/circle.c # 951 -rw-r--r-- libplot/lp/const.h # 346 -rw-r--r-- libplot/lp/dbgvars.h # 5595 -rw-r--r-- libplot/lp/ep_map.c # 975 -rw-r--r-- libplot/lp/fillcnst.h # 700 -rw-r--r-- libplot/lp/fillvars.h # 4616 -rw-r--r-- libplot/lp/ib_map.c # 879 -rw-r--r-- libplot/lp/itoa.h # 939 -rw-r--r-- libplot/lp/label.c # 4267 -rw-r--r-- libplot/lp/liblj.c # 399 -rw-r--r-- libplot/lp/linemod.c # 9092 -rw-r--r-- libplot/lp/lj_map.c # 1200 -rw-r--r-- libplot/lp/maps.c # 2718 -rw-r--r-- libplot/lp/move.c # 2082 -rw-r--r-- libplot/lp/openpl.c # 2788 -rw-r--r-- libplot/lp/plot_cha.c # 2173 -rw-r--r-- libplot/lp/plotlp.h # 885 -rw-r--r-- libplot/lp/plotlpus.h # 1389 -rw-r--r-- libplot/lp/set_dbgs.c # 830 -rw-r--r-- libplot/lp/vars.h # 1519 -rw-r--r-- libplot/lp/README # 652 -rw-r--r-- libplot/lp/README2 # 364 -rw-r--r-- libplot/sun/Makefile # 756 -rw-r--r-- libplot/sun/README # 4672 -rw-r--r-- libplot/sun/sunplot.1 # 19634 -rw-r--r-- libplot/sun/sunplot.c # 1933 -rw-r--r-- libplot/sun/sunplot.icon # 119 -rw-rw-rw- libplot/cgi/CGI.h # 1343 -rw-rw-rw- libplot/cgi/CGI.mk # 6196 -rw-rw-rw- libplot/cgi/libCGI.c # 199 -rw-r--r-- libplot/cgi/README # 627 -rw-rw-rw- libplot/cgi/h.c # 2654 -rw-r--r-- lp.c # 658 -rw-r--r-- herc/Makefile # 1086 -rw-r--r-- herc/bitset.h # 121 -rw-r--r-- herc/config # 10419 -rw-r--r-- herc/herc.c # 6396 -rw-r--r-- herc/herc.h # 1690 -rw-r--r-- herc/test.c # 14 -rw-r--r-- herc/ix386/n_herc # 23 -rw-r--r-- herc/ix386/s_herc # 156 -rw-r--r-- herc/ix386/mdevice # 253 -rw-r--r-- herc/ix386/README # 3061 -rw-r--r-- README # 4963 -rw-r--r-- plot.c # 5349 -rw-r--r-- lpdriver.c # 584 -rw-r--r-- makefile # 1115 -rw-r--r-- tplot.sh # 885 -rw-r--r-- plotlpus.h # 5283 -rw-r--r-- driver.c # if touch 2>&1 | fgrep '[-amc]' > /dev/null then TOUCH=touch else TOUCH=true fi # ============= libplot/herc/README ============== if test ! -d 'libplot'; then echo "x - creating directory libplot" mkdir 'libplot' fi if test ! -d 'libplot/herc'; then echo "x - creating directory libplot/herc" mkdir 'libplot/herc' fi echo "x - extracting libplot/herc/README (Text)" sed 's/^X//' << 'SHAR_EOF' > libplot/herc/README && Xthe libherc.c is the plot(3) library Xyou have to copy the herc.h file of the 286 or the 386 to /usr/include/sys XDefine the correct define for or the 286 or the 386 driver. SHAR_EOF $TOUCH -am 1014202690 libplot/herc/README && chmod 0644 libplot/herc/README || echo "restore of libplot/herc/README failed" set `wc -c libplot/herc/README`;Wc_c=$1 if test "$Wc_c" != "172"; then echo original size 172, current size $Wc_c fi # ============= libplot/herc/herc.mk ============== echo "x - extracting libplot/herc/herc.mk (Text)" sed 's/^X//' << 'SHAR_EOF' > libplot/herc/herc.mk && X# SCCS: @(#)therc.mk 5.1 X XOWN= bin #file owner XGRP= bin #file group XPROT= 664 #protections X#define UPORT286 if you will use the V.2 driver X XINSDIR = /usr/lib XTESTDIR = . XCFLAGS = -O -DIX386 XSOURCE = libherc.c XOFILES = libherc.o XMAKE = make X Xall: libherc.a X : X Xlibherc.a: $(OFILES) X chmod $(PROT) $(OFILES) X chgrp $(GRP) $(OFILES) X chown $(OWN) $(OFILES) X ar r $(TESTDIR)/libherc.a $(OFILES) X Xinstall: all save move X Xclean: X -rm -f $(OFILES) X Xclobber: clean X -rm -f $(TESTDIR)/libherc.a X Xdelete: clobber X rm -f $(SOURCE) X Xmove: X -rm -f $(INSDIR)/libherc.a X cp $(TESTDIR)/libherc.a $(INSDIR)/libherc.a X chmod $(PROT) $(INSDIR)/libherc.a X chmod -x $(INSDIR)/libherc.a # not executable X chgrp $(GRP) $(INSDIR)/libherc.a X chown $(OWN) $(INSDIR)/libherc.a X Xsave: X -if test -f $(INSDIR)/libherc.a ; \ X then \ X rm -f $(INSDIR)/OLDlibherc.a ; \ X cp $(INSDIR)/libherc.a $(INSDIR)/OLDlibherc.a ; \ X chmod $(PROT) $(INSDIR)/OLDlibherc.a ; \ X chmod -x $(INSDIR)/OLDlibherc.a ; \ X chgrp $(GRP) $(INSDIR)/OLDlibherc.a ; \ X chown $(OWN) $(INSDIR)/OLDlibherc.a ; \ X fi SHAR_EOF $TOUCH -am 1014202490 libplot/herc/herc.mk && chmod 0666 libplot/herc/herc.mk || echo "restore of libplot/herc/herc.mk failed" set `wc -c libplot/herc/herc.mk`;Wc_c=$1 if test "$Wc_c" != "1067"; then echo original size 1067, current size $Wc_c fi # ============= libplot/herc/libherc.c ============== echo "x - extracting libplot/herc/libherc.c (Text)" sed 's/^X//' << 'SHAR_EOF' > libplot/herc/libherc.c && X X/* plot(4) graphics library for a hercules graphic card under unix X with the microport hercules driver in the system X all the primitives are drawn with ioctl calls */ X Xfloat gxscrunch,gyscrunch; Xfloat pitograd; Xint hercoffx,hercoffy; X X# include X/*# include */ X# include X# include X X/* Zeichensatz , IBM kompatibel */ X Xchar font[256][8] = { { 0, 0, 0, 0, 0, 0, 0, 0 }, /* 0 */ X { 126,129,165,129,189,153,129,126 }, /* 1 */ X { 126,255,219,255,195,231,255,126 }, /* 2 */ X { 108,254,254,254,124, 56, 16, 0 }, /* 3 */ X { 16, 56,124,254,124, 56, 16, 0 }, /* 4 */ X { 56,124, 56,254,254,124, 56,124 }, /* 5 */ X { 16, 16, 56,124,254,124, 56,124 }, /* 6 */ X { 0, 0, 24, 60, 60, 24, 0, 0 }, /* 7 */ X { 255,255,231,195,195,231,255,255 }, /* 8 */ X { 0, 60,102, 66, 66,102, 60, 0 }, /* 9 */ X { 255,195,153,189,189,153,195,255 }, /* 10 */ X { 15, 7, 15,125,204,204,204,120 }, /* 11 */ X { 60,102,102,102, 60, 24,126, 24 }, /* 12 */ X { 63, 51, 63, 48, 48,112,240,224 }, /* 13 */ X { 127, 99,127, 99, 99,103,230,192 }, /* 14 */ X { 153, 90, 60,231,231, 60, 90,153 }, /* 15 */ X { 128,224,248,254,248,224,128, 0 }, /* 16 */ X { 2, 14, 62,254, 62, 14, 2, 0 }, /* 17 */ X { 24, 60,126, 24, 24,126, 60, 24 }, /* 18 */ X { 102,102,102,102,102, 0,102, 0 }, /* 19 */ X { 127,219,219,123, 27, 27, 27, 0 }, /* 20 */ X { 62, 99, 56,108,108, 56,204,120 }, /* 21 */ X { 0, 0, 0, 0,126,126,126, 0 }, /* 22 */ X { 24, 60,126, 24,126, 60, 24,255 }, /* 23 */ X { 24, 60,126, 24, 24, 24, 24, 0 }, /* 24 */ X { 24, 24, 24, 24,126, 60, 24, 0 }, /* 25 */ X { 0, 24, 12,254, 12, 24, 0, 0 }, /* 26 */ X { 0, 48, 96,254, 96, 48, 0, 0 }, /* 27 */ X { 0, 0,192,192,192,254, 0, 0 }, /* 28 */ X { 0, 36,102,255,102, 36, 0, 0 }, /* 29 */ X { 0, 24, 60,126,255,255, 0, 0 }, /* 30 */ X { 0,255,255,126, 60, 24, 0, 0 }, /* 31 */ X { 0, 0, 0, 0, 0, 0, 0, 0 }, /* 32 */ X { 48,120,120, 48, 48, 0, 48, 0 }, /* 33 */ X { 108,108,108, 0, 0, 0, 0, 0 }, /* 34 */ X { 108,108,254,108,254,108,108, 0 }, /* 35 */ X { 48,124,192,120, 12,248, 48, 0 }, /* 36 */ X { 0,198,204, 24, 48,102,198, 0 }, /* 37 */ X { 56,108, 56,118,220,204,118, 0 }, /* 38 */ X { 96, 96,192, 0, 0, 0, 0, 0 }, /* 39 */ X { 24, 48, 96, 96, 96, 48, 24, 0 }, /* 40 */ X { 96, 48, 24, 24, 24, 48, 96, 0 }, /* 41 */ X { 0,102, 60,255, 60,102, 0, 0 }, /* 42 */ X { 0, 48, 48,252, 48, 48, 0, 0 }, /* 43 */ X { 0, 0, 0, 0, 0, 48, 48, 96 }, /* 44 */ X { 0, 0, 0,252, 0, 0, 0, 0 }, /* 45 */ X { 0, 0, 0, 0, 0, 48, 48, 0 }, /* 46 */ X { 6, 12, 24, 48, 96,192,128, 0 }, /* 47 */ X { 124,198,206,222,246,230,124, 0 }, /* 48 */ X { 48,112, 48, 48, 48, 48,252, 0 }, /* 49 */ X { 120,204, 12, 56, 96,204,252, 0 }, /* 50 */ X { 120,204, 12, 56, 12,204,120, 0 }, /* 51 */ X { 28, 60,108,204,254, 12, 30, 0 }, /* 52 */ X { 252,192,248, 12, 12,204,120, 0 }, /* 53 */ X { 56, 96,192,248,204,204,120, 0 }, /* 54 */ X { 252,204, 12, 24, 48, 48, 48, 0 }, /* 55 */ X { 120,204,204,120,204,204,120, 0 }, /* 56 */ X { 120,204,204,124, 12, 24,112, 0 }, /* 57 */ X { 0, 48, 48, 0, 0, 48, 48, 0 }, /* 58 */ X { 0, 48, 48, 0, 0, 48, 48, 96 }, /* 59 */ X { 24, 48, 96,192, 96, 48, 24, 0 }, /* 60 */ X { 0, 0,252, 0, 0,252, 0, 0 }, /* 61 */ X { 96, 48, 24, 12, 24, 48, 96, 0 }, /* 62 */ X { 120,204, 12, 24, 48, 0, 48, 0 }, /* 63 */ X { 124,198,222,222,222,192,120, 0 }, /* 64 */ X { 48,120,204,204,252,204,204, 0 }, /* 65 */ X { 252,102,102,124,102,102,252, 0 }, /* 66 */ X { 60,102,192,192,192,102, 60, 0 }, /* 67 */ X { 248,108,102,102,102,108,248, 0 }, /* 68 */ X { 254, 98,104,120,104, 98,254, 0 }, /* 69 */ X { 254, 98,104,120,104, 96,240, 0 }, /* 70 */ X { 60,102,192,192,206,102, 62, 0 }, /* 71 */ X { 204,204,204,252,204,204,204, 0 }, /* 72 */ X { 120, 48, 48, 48, 48, 48,120, 0 }, /* 73 */ X { 30, 12, 12, 12,204,204,120, 0 }, /* 74 */ X { 230,102,108,120,108,102,230, 0 }, /* 75 */ X { 240, 96, 96, 96, 98,102,254, 0 }, /* 76 */ X { 198,238,254,254,214,198,198, 0 }, /* 77 */ X { 198,230,246,222,206,198,198, 0 }, /* 78 */ X { 56,108,198,198,198,108, 56, 0 }, /* 79 */ X { 252,102,102,124, 96, 96,240, 0 }, /* 80 */ X { 120,204,204,204,220,120, 28, 0 }, /* 81 */ X { 252,102,102,124,108,102,230, 0 }, /* 82 */ X { 120,204,224,112, 28,204,120, 0 }, /* 83 */ X { 252,180, 48, 48, 48, 48,120, 0 }, /* 84 */ X { 204,204,204,204,204,204,252, 0 }, /* 85 */ X { 204,204,204,204,204,120, 48, 0 }, /* 86 */ X { 198,198,198,214,254,238,198, 0 }, /* 87 */ X { 198,198,108, 56, 56,108,198, 0 }, /* 88 */ X { 204,204,204,120, 48, 48,120, 0 }, /* 89 */ X { 254,198,140, 24, 50,102,254, 0 }, /* 90 */ X { 120, 96, 96, 96, 96, 96,120, 0 }, /* 91 */ X { 192, 96, 48, 24, 12, 6, 2, 0 }, /* 92 */ X { 120, 24, 24, 24, 24, 24,120, 0 }, /* 93 */ X { 16, 56,108,198, 0, 0, 0, 0 }, /* 94 */ X { 0, 0, 0, 0, 0, 0, 0,255 }, /* 95 */ X { 48, 48, 24, 0, 0, 0, 0, 0 }, /* 96 */ X { 0, 0,120, 12,124,204,118, 0 }, /* 97 */ X { 224, 96, 96,124,102,102,220, 0 }, /* 98 */ X { 0, 0,120,204,192,204,120, 0 }, /* 99 */ X { 28, 12, 12,124,204,204,118, 0 }, /* 100 */ X { 0, 0,120,204,252,192,120, 0 }, /* 101 */ X { 56,108, 96,240, 96, 96,240, 0 }, /* 102 */ X { 0, 0,118,204,204,124, 12,248 }, /* 103 */ X { 224, 96,108,118,102,102,230, 0 }, /* 104 */ X { 48, 0,112, 48, 48, 48,120, 0 }, /* 105 */ X { 12, 0, 12, 12, 12,204,204,120 }, /* 106 */ X { 224, 96,102,108,120,108,230, 0 }, /* 107 */ X { 112, 48, 48, 48, 48, 48,120, 0 }, /* 108 */ X { 0, 0,204,254,254,214,198, 0 }, /* 109 */ X { 0, 0,248,204,204,204,204, 0 }, /* 110 */ X { 0, 0,120,204,204,204,120, 0 }, /* 111 */ X { 0, 0,220,102,102,124, 96,240 }, /* 112 */ X { 0, 0,118,204,204,124, 12, 30 }, /* 113 */ X { 0, 0,220,118,102, 96,240, 0 }, /* 114 */ X { 0, 0,124,192,120, 12,248, 0 }, /* 115 */ X { 16, 48,124, 48, 48, 52, 24, 0 }, /* 116 */ X { 0, 0,204,204,204,204,118, 0 }, /* 117 */ X { 0, 0,204,204,204,120, 48, 0 }, /* 118 */ X { 0, 0,198,214,254,254,108, 0 }, /* 119 */ X { 0, 0,198,108, 56,108,198, 0 }, /* 120 */ X { 0, 0,204,204,204,124, 12,248 }, /* 121 */ X { 0, 0,252,152, 48,100,252, 0 }, /* 122 */ X { 28, 48, 48,224, 48, 48, 28, 0 }, /* 123 */ X { 24, 24, 24, 0, 24, 24, 24, 0 }, /* 124 */ X { 224, 48, 48, 28, 48, 48,224, 0 }, /* 125 */ X { 118,220, 0, 0, 0, 0, 0, 0 }, /* 126 */ X { 0, 16, 56,108,198,198,254, 0 }, /* 127 */ X { 60,102, 96,102, 60, 12, 6, 60 }, /* 128 */ X { 0,102, 0,102,102,102, 63, 0 }, /* 129 */ X { 14, 0, 60,102,126, 96, 60, 0 }, /* 130 */ X { 126,195, 60, 6, 62,102, 63, 0 }, /* 131 */ X { 102, 0, 60, 6, 62,102, 63, 0 }, /* 132 */ X { 112, 0, 60, 6, 62,102, 63, 0 }, /* 133 */ X { 24, 24, 60, 6, 62,102, 63, 0 }, /* 134 */ X { 0, 0, 60, 96, 96, 60, 6, 28 }, /* 135 */ X { 126,195, 60,102,126, 96, 60, 0 }, /* 136 */ X { 102, 0, 60,102,126, 96, 60, 0 }, /* 137 */ X { 112, 0, 60,102,126, 96, 60, 0 }, /* 138 */ X { 102, 0, 56, 24, 24, 24, 60, 0 }, /* 139 */ X { 124,198, 56, 24, 24, 24, 60, 0 }, /* 140 */ X { 112, 0, 56, 24, 24, 24, 60, 0 }, /* 141 */ X { 99, 28, 54, 99,127, 99, 99, 0 }, /* 142 */ X { 24, 24, 0, 60,102,126,102, 0 }, /* 143 */ X { 14, 0,126, 48, 60, 48,126, 0 }, /* 144 */ X { 0, 0,127, 12,127,204,127, 0 }, /* 145 */ X { 31, 54,102,127,102,102,103, 0 }, /* 146 */ X { 60,102, 0, 60,102,102, 60, 0 }, /* 147 */ X { 0,102, 0, 60,102,102, 60, 0 }, /* 148 */ X { 0,112, 0, 60,102,102, 60, 0 }, /* 149 */ X { 60,102, 0,102,102,102, 63, 0 }, /* 150 */ X { 0,112, 0,102,102,102, 63, 0 }, /* 151 */ X { 0,102, 0,102,102, 62, 6,124 }, /* 152 */ X { 195, 24, 60,102,102, 60, 24, 0 }, /* 153 */ X { 102, 0,102,102,102,102, 60, 0 }, /* 154 */ X { 24, 24,126,192,192,126, 24, 24 }, /* 155 */ X { 28, 54, 50,120, 48,115,126, 0 }, /* 156 */ X { 102,102, 60,126, 24,126, 24, 24 }, /* 157 */ X { 248,204,204,250,198,207,198,199 }, /* 158 */ X { 14, 27, 24, 60, 24, 24,216,112 }, /* 159 */ X { 14, 0, 60, 6, 62,102, 63, 0 }, /* 160 */ X { 28, 0, 56, 24, 24, 24, 60, 0 }, /* 161 */ X { 0, 14, 0, 60,102,102, 60, 0 }, /* 162 */ X { 0, 14, 0,102,102,102, 63, 0 }, /* 163 */ X { 0,124, 0,124,102,102,102, 0 }, /* 164 */ X { 126, 0,102,118,126,110,102, 0 }, /* 165 */ X { 60,108,108, 62, 0,126, 0, 0 }, /* 166 */ X { 56,108,108, 56, 0,124, 0, 0 }, /* 167 */ X { 24, 0, 24, 48, 96,102, 60, 0 }, /* 168 */ X { 0, 0, 0,126, 96, 96, 0, 0 }, /* 169 */ X { 0, 0, 0,126, 6, 6, 0, 0 }, /* 170 */ X { 195,198,204,222, 51,102,204, 15 }, /* 171 */ X { 195,198,204,219, 55,111,207, 3 }, /* 172 */ X { 24, 24, 0, 24, 24, 24, 24, 0 }, /* 173 */ X { 0, 51,102,204,102, 51, 0, 0 }, /* 174 */ X { 0,204,102, 51,102,204, 0, 0 }, /* 175 */ X { 34,136, 34,136, 34,136, 34,136 }, /* 176 */ X { 85,170, 85,170, 85,170, 85,170 }, /* 177 */ X { 219,119,219,238,219,119,219,238 }, /* 178 */ X { 24, 24, 24, 24, 24, 24, 24, 24 }, /* 179 */ X { 24, 24, 24, 24,248, 24, 24, 24 }, /* 180 */ X { 24, 24,248, 24,248, 24, 24, 24 }, /* 181 */ X { 54, 54, 54, 54,246, 54, 54, 54 }, /* 182 */ X { 0, 0, 0, 0,254, 54, 54, 54 }, /* 183 */ X { 0, 0,248, 24,248, 24, 24, 24 }, /* 184 */ X { 54, 54,246, 6,246, 54, 54, 54 }, /* 185 */ X { 54, 54, 54, 54, 54, 54, 54, 54 }, /* 186 */ X { 0, 0,254, 6,246, 54, 54, 54 }, /* 187 */ X { 54, 54,246, 6,254, 0, 0, 0 }, /* 188 */ X { 54, 54, 54, 54,254, 0, 0, 0 }, /* 189 */ X { 24, 24,248, 24,248, 0, 0, 0 }, /* 190 */ X { 0, 0, 0, 0,248, 24, 24, 24 }, /* 191 */ X { 24, 24, 24, 24, 31, 0, 0, 0 }, /* 192 */ X { 24, 24, 24, 24,255, 0, 0, 0 }, /* 193 */ X { 0, 0, 0, 0,255, 24, 24, 24 }, /* 194 */ X { 24, 24, 24, 24, 31, 24, 24, 24 }, /* 195 */ X { 0, 0, 0, 0,255, 0, 0, 0 }, /* 196 */ X { 24, 24, 24, 24,255, 24, 24, 24 }, /* 197 */ X { 24, 24, 31, 24, 31, 24, 24, 24 }, /* 198 */ X { 54, 54, 54, 54, 55, 54, 54, 54 }, /* 199 */ X { 54, 54, 55, 48, 63, 0, 0, 0 }, /* 200 */ X { 0, 0, 63, 48, 55, 54, 54, 54 }, /* 201 */ X { 54, 54,247, 0,255, 0, 0, 0 }, /* 202 */ X { 0, 0,255, 0,247, 54, 54, 54 }, /* 203 */ X { 54, 54, 55, 48, 55, 54, 54, 54 }, /* 204 */ X { 0, 0,255, 0,255, 0, 0, 0 }, /* 205 */ X { 54, 54,247, 0,247, 54, 54, 54 }, /* 206 */ X { 24, 24,255, 0,255, 0, 0, 0 }, /* 207 */ X { 54, 54, 54, 54,255, 0, 0, 0 }, /* 208 */ X { 0, 0,255, 0,255, 24, 24, 24 }, /* 209 */ X { 0, 0, 0, 0,255, 54, 54, 54 }, /* 210 */ X { 54, 54, 54, 54, 63, 0, 0, 0 }, /* 211 */ X { 24, 24, 31, 24, 31, 0, 0, 0 }, /* 212 */ X { 0, 0, 31, 24, 31, 24, 24, 24 }, /* 213 */ X { 0, 0, 0, 0, 63, 54, 54, 54 }, /* 214 */ X { 54, 54, 54, 54,255, 54, 54, 54 }, /* 215 */ X { 24, 24,255, 24,255, 24, 24, 24 }, /* 216 */ X { 24, 24, 24, 24,248, 0, 0, 0 }, /* 217 */ X { 0, 0, 0, 0, 31, 24, 24, 24 }, /* 218 */ X { 255,255,255,255,255,255,255,255 }, /* 219 */ X { 0, 0, 0, 0,255,255,255,255 }, /* 220 */ X { 240,240,240,240,240,240,240,240 }, /* 221 */ X { 15, 15, 15, 15, 15, 15, 15, 15 }, /* 222 */ X { 255,255,255,255, 0, 0, 0, 0 }, /* 223 */ X { 0, 0, 59,110,100,110, 59, 0 }, /* 224 */ X { 0, 60,102,124,102,124, 96, 96 }, /* 225 */ X { 0,126,102, 96, 96, 96, 96, 0 }, /* 226 */ X { 0,127, 54, 54, 54, 54, 54, 0 }, /* 227 */ X { 126,102, 48, 24, 48,102,126, 0 }, /* 228 */ X { 0, 0, 63,108,108,108, 56, 0 }, /* 229 */ X { 0, 51, 51, 51, 51, 62, 48, 96 }, /* 230 */ X { 0, 59,110, 12, 12, 12, 12, 0 }, /* 231 */ X { 126, 24, 60,102,102, 60, 24,126 }, /* 232 */ X { 28, 54, 99,127, 99, 54, 28, 0 }, /* 233 */ X { 28, 54, 99, 99, 54, 54,119, 0 }, /* 234 */ X { 14, 24, 12, 62,102,102, 60, 0 }, /* 235 */ X { 0, 0,126,219,219,126, 0, 0 }, /* 236 */ X { 6, 12,126,219,219,126, 96,192 }, /* 237 */ X { 28, 96,192,252,192, 96, 28, 0 }, /* 238 */ X { 60,102,102,102,102,102,102, 0 }, /* 239 */ X { 0,126, 0,126, 0,126, 0, 0 }, /* 240 */ X { 24, 24,126, 24, 24, 0,126, 0 }, /* 241 */ X { 48, 24, 12, 24, 48, 0,126, 0 }, /* 242 */ X { 12, 24, 48, 24, 12, 0,126, 0 }, /* 243 */ X { 14, 27, 27, 24, 24, 24, 24, 24 }, /* 244 */ X { 24, 24, 24, 24, 24,216,216,112 }, /* 245 */ X { 24, 24, 0,126, 0, 24, 24, 0 }, /* 246 */ X { 0,118,220, 0,118,220, 0, 0 }, /* 247 */ X { 56,108,108, 56, 0, 0, 0, 0 }, /* 248 */ X { 0, 0, 0, 24, 24, 0, 0, 0 }, /* 249 */ X { 0, 0, 0, 0, 24, 0, 0, 0 }, /* 250 */ X { 15, 12, 12, 12,236,108, 60, 28 }, /* 251 */ X { 120,108,108,108,108, 0, 0, 0 }, /* 252 */ X { 112, 24, 48, 96,120, 0, 0, 0 }, /* 253 */ X { 0, 0, 60, 60, 60, 60, 0, 0 }, /* 254 */ X { 0, 0, 0, 0, 0, 0, 0, 0 } }; /* 255 */ X X X int hercfd; X#ifndef IX386 X herc_args herchv,herccurpos; X#else Xstruct h { X int c; X int x1; X int y1; X int x2; X int y2; X } ; X Xstruct h herccurpos; X XHERC Herc; X#endif X X/* #define DEBUG /* turn on if no driver calls should be made!*/ X Xopenpl() X{ X X#ifndef DEBUG X hercfd = open("/dev/herc", O_WRONLY); X#ifndef IX386 X herccurpos=herchv; X herccurpos.c = 0x01; X#endif X#endif X} X Xclosepl() X{ X#ifndef DEBUG X close(hercfd); X#endif X} X Xspace(x0,y0,x1,y1) Xint x0,y0,x1,y1; X{ Xint x,y; Xpitograd=(180.0/M_PI); X Xif (x1>0 && y1>0 && y0 0) { X r1=(y-y0)/(x-x0); X a1=atan(r1); X c1=(a1*pitograd); X } X else { X c1=180; X } X if ((x-x1) > 0) { X r2=(y-y1)/(x-x1); X a2=atan(r2); X c2=(a2*pitograd); X } X else { X c2=180; X } X c=c1-c2; X xo=(x*gxscrunch);yo=(y*gyscrunch); X yo = hercoffy - yo;xo = hercoffx + xo; X printf("\033PpC(A%dC) [%d,%d]\033\\",c,xo,yo); X*/ X} X Xdot(xi,yi,dx,n,pat) Xint xi,yi,dx,n,pat[256]; X{ X} X Xpoint(x,y) Xint x,y; X{ X#ifndef DEBUG X#ifdef IX386 XHERC Herc; X Herc.cmd= SET_PIXEL; X#endif X x = x*gxscrunch; X y = y*gyscrunch; X y = hercoffy - y ;x += hercoffx ; X herccurpos.x1 = x; herccurpos.y1 = y; X#ifndef IX386 X herchv.x1 = x; X herchv.y1 = y; X herchv.c = herccurpos.c; X ioctl(hercfd, HERC_PLOT, &herchv); X#else X Herc.phys_x = x; X Herc.phys_y = y; X if(write(hercfd, &Herc, sizeof(HERC)) < 0) X { X perror("main: write hercfd failed"); X exit(2); X } X#endif X#else X printf("point %d,%d\n",x,y); X#endif X} X Xlinemod(s) Xchar *s; X{ X if (strcmp(s,"dotted")==0) { X herccurpos.c=0x42; X } X else if (strcmp(s,"solid")==0) { X herccurpos.c=0x01; X } X else if (strcmp(s,"longdashed")==0) { X herccurpos.c=0x88; X } X else if (strcmp(s,"shortdashed")==0) { X herccurpos.c=0x84; X } X else if (strcmp(s,"dotdashed")==0) { X herccurpos.c=0x01; X } X} X X X# define max(a,b) (((a) > (b)) ? (a) : (b)) X# define abs(a) (((a) < 0) ? (-a) : (a)) X# define sign(a) ((a) > 0 ? 1 : ((a) == 0 ? 0 : (-1))) X# define TRUE (-1) X# define FALSE (0) Xhg_line(x1,y1,x2,y2,c) Xint x1,y1,x2,y2,c; X{ X int ix, iy, i, inc, x,y, dx, dy, plot, plotx, ploty; X X Herc.cmd= SET_PIXEL; X dx=x2-x1; dy=y2-y1; X ix = abs(dx); iy = abs(dy); X inc = max(ix, iy); X plotx = x1; ploty = y1; X x = y = 0; X for (i=0;i<=inc;++i) X { X x += ix; y += iy; X plot = FALSE; X if (x > inc) X { X plot = TRUE; X x -= inc; X plotx += sign(dx); X }; X if (y > inc) X { X plot = TRUE; X y -= inc; X ploty += sign(dy); X }; X X if (plot) X { X Herc.phys_x = plotx; X Herc.phys_y = ploty; X if(write(hercfd, &Herc, sizeof(HERC)) < 0) X { X perror("main: write hercfd failed"); exit(2); X } X } X }; X} X Xbox(x0, y0, x1, y1) X{ X move(x0, y0); X cont(x0, y1); X cont(x1, y1); X cont(x1, y0); X cont(x0, y0); X move(x1, y1); X} X /* PC spezifische Steuerroutinen */ X X X Xgchar(byte,chrsize,x,y) Xint byte,chrsize,x,y; X{ Xregister int zeile,spalte; Xchar h[2]; Xh[1]=0; Xfor (zeile = 0 ; zeile <=7 ; zeile++) X { X for (spalte=0 ; spalte <= 7; spalte++) X { X if ((font[byte][zeile] & (128 >> spalte)) != 0) X { X Herc.phys_x = x+spalte; X Herc.phys_y = y+zeile-7; X if(write(hercfd, &Herc, sizeof(HERC)) < 0) X { X perror("main: write hercfd failed"); X exit(2); X } X } X } X } X} X X SHAR_EOF $TOUCH -am 1014173090 libplot/herc/libherc.c && chmod 0666 libplot/herc/libherc.c || echo "restore of libplot/herc/libherc.c failed" set `wc -c libplot/herc/libherc.c`;Wc_c=$1 if test "$Wc_c" != "19383"; then echo original size 19383, current size $Wc_c fi # ============= libplot/ReGIS/ReGIS.mk ============== if test ! -d 'libplot/ReGIS'; then echo "x - creating directory libplot/ReGIS" mkdir 'libplot/ReGIS' fi echo "x - extracting libplot/ReGIS/ReGIS.mk (Text)" sed 's/^X//' << 'SHAR_EOF' > libplot/ReGIS/ReGIS.mk && XOWN= bin #file owner XGRP= bin #file group XPROT= 664 #protections X XINSDIR = /usr/lib XINS = : XTESTDIR = . XCFLAGS = -O XSOURCE = libReGIS.c XOFILES = libReGIS.o X Xall: libReGIS.a X : X XlibReGIS.a: $(OFILES) X chmod $(PROT) $(OFILES) X chgrp $(GRP) $(OFILES) X chown $(OWN) $(OFILES) X ar r $(TESTDIR)/libReGIS.a $(OFILES) X Xinstall: all save move X Xclean: X -rm -f $(OFILES) X Xclobber: clean X -rm -f $(TESTDIR)/libReGIS.a X Xdelete: clobber X rm -f $(SOURCE) X Xmove: X -rm -f $(INSDIR)/libReGIS.a X cp $(TESTDIR)/libReGIS.a $(INSDIR)/libReGIS.a X chmod $(PROT) $(INSDIR)/libReGIS.a X chmod -x $(INSDIR)/libReGIS.a # not executable X chgrp $(GRP) $(INSDIR)/libReGIS.a X chown $(OWN) $(INSDIR)/libReGIS.a X Xsave: X -if test -f $(INSDIR)/libReGIS.a ; \ X then \ X rm -f $(INSDIR)/OLDlibReGIS.a ; \ X cp $(INSDIR)/libReGIS.a $(INSDIR)/OLDlibReGIS.a ; \ X chmod $(PROT) $(INSDIR)/OLDlibReGIS.a ; \ X chmod -x $(INSDIR)/OLDlibReGIS.a ; \ X chgrp $(GRP) $(INSDIR)/OLDlibReGIS.a ; \ X chown $(OWN) $(INSDIR)/OLDlibReGIS.a ; \ X fi SHAR_EOF $TOUCH -am 1014195290 libplot/ReGIS/ReGIS.mk && chmod 0644 libplot/ReGIS/ReGIS.mk || echo "restore of libplot/ReGIS/ReGIS.mk failed" set `wc -c libplot/ReGIS/ReGIS.mk`;Wc_c=$1 if test "$Wc_c" != "1000"; then echo original size 1000, current size $Wc_c fi echo "End of part 1, continue with part 2" exit 0 -- UUCP: ..!uunet!mcsun!hp4nl!integow!hot or hot@integow.UUCP or hot@hot.mug Roland van Hout, Sr. software engineer, Integrity software consultants, Pelmolenlaan 16, 3447 GW Woerden, Netherlands, tel +31 3480-30131, fax +31 3480-30182