home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume14
/
vplot
/
part04
< prev
next >
Wrap
Text File
|
1988-03-28
|
63KB
|
2,026 lines
Subject: v14i009: Device-independant graphics system, with drivers
Newsgroups: comp.sources.unix
Sender: sources
Approved: rsalz@uunet.UU.NET
Submitted-by: Joe Dellinger <joe@hanauma.STANFORD.EDU>
Posting-number: Volume 14, Issue 9
Archive-name: vplot/part04
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 4 (of 24)."
# Wrapped by rsalz@fig.bbn.com on Fri Mar 25 11:46:36 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Envision_device/envilib/envierase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Envision_device/envilib/envierase.c'\"
else
echo shar: Extracting \"'Envision_device/envilib/envierase.c'\" \(976 characters\)
sed "s/^X//" >'Envision_device/envilib/envierase.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/envilib/envierase.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include "../include/erasecom.h"
X#include "envi.h"
extern FILE *pltout;
X
envierase (command)
X int command;
X{
X switch (command)
X {
X case ERASE_START:
X case ERASE_MIDDLE:
X envisetmode (REG);
X putc (ESC, pltout);
X putc (ENVI_ERASE, pltout); /* Erase Graphics Screen */
X break;
X case ERASE_END:
X default:
X break;
X }
X}
END_OF_FILE
if test 976 -ne `wc -c <'Envision_device/envilib/envierase.c'`; then
echo shar: \"'Envision_device/envilib/envierase.c'\" unpacked with wrong size!
fi
# end of 'Envision_device/envilib/envierase.c'
fi
if test -f 'Imagen_device/imaglib/imagen.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Imagen_device/imaglib/imagen.h'\"
else
echo shar: Extracting \"'Imagen_device/imaglib/imagen.h'\" \(1084 characters\)
sed "s/^X//" >'Imagen_device/imaglib/imagen.h' <<'END_OF_FILE'
X#define SET_PUSH_MASK 214
X#define PUSH 211
X#define POP 212
X#define SET_HV_SYSTEM 205
X#define CREATE_PATH 230
X#define ENDPAGE 219
X#define SET_PEN 232
X#define BITMAP 235
X#define EOPLOT 255
X#define DRAW_PATH 234
X#define FILL_PATH 233
X#define SET_ABS_V 137
X#define SET_ABS_H 135
X#define CREATE_FAMILY_TABLE 221
X#define SET_ADV_DIRS 206
X#define SET_FAMILY 207
X#define SP 128
X#define SET_SP 210
X#define BGLY 199
X#define SET_TEXTURE 231
X#define SET_REL_V 138
X
X#define WHITE 0
X#define OPAQUE 3
X#define OR 7
X#define BLACK 15
X
X#define PATHLENGTH 175
X
X/*
X * These two macros take the high and low bytes off the end
X * of an integer to make a word that the imagen will understand
X * representing an integer in the range +- 2 to the 14
X */
X#define lob(A) ((char)((A) & 0xff))
X#define hib(A) ((char)(((A) >> 8) & 0xff))
X
X/*
X * imagen externals
X */
extern int tex;
extern int stripped;
extern int brute_force;
extern int file_created;
extern int ncopies_document;
extern char label[];
extern char scratch_file[];
extern char holdreason[];
extern int lost;
extern int imag_curcolor;
END_OF_FILE
if test 1084 -ne `wc -c <'Imagen_device/imaglib/imagen.h'`; then
echo shar: \"'Imagen_device/imaglib/imagen.h'\" unpacked with wrong size!
fi
# end of 'Imagen_device/imaglib/imagen.h'
fi
if test -f 'Masscomp_device/gpslib/gpsclose.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Masscomp_device/gpslib/gpsclose.c'\"
else
echo shar: Extracting \"'Masscomp_device/gpslib/gpsclose.c'\" \(874 characters\)
sed "s/^X//" >'Masscomp_device/gpslib/gpsclose.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/gpslib/gpsclose.c
X *
X * Stewart A. Levin (SEP), July 3 1987
X * Cribbed rasclose.c for gps filter
X */
X
X#include <stdio.h>
X#include "../include/closestat.h"
X#include "../include/err.h"
X#include "../include/extern.h"
X#include "../include/params.h"
X#include "gpspen.h"
X
gpsclose (status)
X int status;
X{
X switch (status)
X {
X case CLOSE_NORMAL:
X end_plot ("");
X break;
X case CLOSE_FLUSH:
X default:
X break;
X }
X}
END_OF_FILE
if test 874 -ne `wc -c <'Masscomp_device/gpslib/gpsclose.c'`; then
echo shar: \"'Masscomp_device/gpslib/gpsclose.c'\" unpacked with wrong size!
fi
# end of 'Masscomp_device/gpslib/gpsclose.c'
fi
if test -f 'Masscomp_device/gpslib/gpsdoc.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Masscomp_device/gpslib/gpsdoc.h'\"
else
echo shar: Extracting \"'Masscomp_device/gpslib/gpsdoc.h'\" \(1067 characters\)
sed "s/^X//" >'Masscomp_device/gpslib/gpsdoc.h' <<'END_OF_FILE'
char *documentation[] = {
X" ",
X"NAME",
X#ifdef SEP
X" Gpspen - SEPlib vplot filter for Masscomp GPS files",
X#else
X" gpspen - vplot filter for Masscomp GPS files",
X#endif
X" ",
X"SYNOPSIS",
X#ifdef SEP
X" Gpspen [options] in=vplot-inputfile OR headerfile on standard in",
X#else
X" gpspen [options] [inputfiles]",
X#endif
X" ",
X"This program transforms vplot commands into Masscomp GPS commands",
X"so that the color Versatec (and other Masscomp graphics) may be used.",
X"",
X"OPTIONS",
X"colormult=1 ppi=600 aspect=1.",
X"colormult scales vplot color numbers to raster byte values. The default is",
X"1, but for SEP movies 2 might be more appropriate.",
X"ppi is the internal vplot resolution to use. The default 600 is harmless",
X"overkill for Versatecs which run at 200 or 300 ppi. If a lot of area fill",
X"is anticipated, drop this down to the device resolution for speed.",
X"aspect, if changed, chould probably be set to 0.75.",
X"",
X#include "../include/gendoc.h"
X" ",
X"SEE ALSO",
X" man pen"
X};
int doclength = { sizeof documentation/sizeof documentation[0] };
END_OF_FILE
if test 1067 -ne `wc -c <'Masscomp_device/gpslib/gpsdoc.h'`; then
echo shar: \"'Masscomp_device/gpslib/gpsdoc.h'\" unpacked with wrong size!
fi
# end of 'Masscomp_device/gpslib/gpsdoc.h'
fi
if test -f 'Masscomp_device/gpslib/gpsplot.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Masscomp_device/gpslib/gpsplot.c'\"
else
echo shar: Extracting \"'Masscomp_device/gpslib/gpsplot.c'\" \(981 characters\)
sed "s/^X//" >'Masscomp_device/gpslib/gpsplot.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/gpslib/gpsplot.c
X *
X * Stewart A. Levin (SEP), July 3 1987
X * Cribbed enviplot.c for gps filter
X */
X
X#include <stdio.h>
X#include "../include/enum.h"
X#include "gpspen.h"
X
int lost = YES; /* 1 means we are lost, zero means we aren't */
X
gpsplot (x, y, drw) /* efficiently get to the point x,y. */
X int x, y, drw; /* draw 0 means we want to move, not to draw */
X{
float flx, fly;
X
X flx = x;
X fly = y;
X if (drw == 0)
X {
X move (flx, fly);
X }
X else
X {
X draw (flx, fly);
X }
X lost = NO;
X}
END_OF_FILE
if test 981 -ne `wc -c <'Masscomp_device/gpslib/gpsplot.c'`; then
echo shar: \"'Masscomp_device/gpslib/gpsplot.c'\" unpacked with wrong size!
fi
# end of 'Masscomp_device/gpslib/gpsplot.c'
fi
if test -f 'Printronix_device/lprlib/lprattr.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Printronix_device/lprlib/lprattr.c'\"
else
echo shar: Extracting \"'Printronix_device/lprlib/lprattr.c'\" \(1026 characters\)
sed "s/^X//" >'Printronix_device/lprlib/lprattr.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/lprlib/lprattr.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <math.h>
X#include "../include/attrcom.h"
X#include "../include/params.h"
X
int lpr_color = 1;
X
lprattr (command, value, v1, v2, v3)
X register int command, value;
X int v1, v2, v3;
X{
int icol;
X
X switch (command)
X {
X case SET_COLOR:
X if (value == 0)
X lpr_color = 0;
X else
X lpr_color = 1;
X break;
X default:
X break;
X }
X
X return 0;
X}
END_OF_FILE
if test 1026 -ne `wc -c <'Printronix_device/lprlib/lprattr.c'`; then
echo shar: \"'Printronix_device/lprlib/lprattr.c'\" unpacked with wrong size!
fi
# end of 'Printronix_device/lprlib/lprattr.c'
fi
if test -f 'RasterTek_device/rteklib/rtekclose.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'RasterTek_device/rteklib/rtekclose.c'\"
else
echo shar: Extracting \"'RasterTek_device/rteklib/rtekclose.c'\" \(926 characters\)
sed "s/^X//" >'RasterTek_device/rteklib/rtekclose.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/rteklib/rtekclose.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include "rtekpen.h"
X#include "../include/closestat.h"
X
rtekclose (status)
X int status;
X{
X switch (status)
X {
X case CLOSE_DONE: /* cmdlen = 1 */
X CHKLEN (1);
X byte (QUIT);
X rtek_flsbuf (0);
X break;
X case CLOSE_FLUSH:
X case CLOSE_PAUSE:
X rtek_flsbuf (0);
X break;
X default:
X break;
X }
X}
END_OF_FILE
if test 926 -ne `wc -c <'RasterTek_device/rteklib/rtekclose.c'`; then
echo shar: \"'RasterTek_device/rteklib/rtekclose.c'\" unpacked with wrong size!
fi
# end of 'RasterTek_device/rteklib/rtekclose.c'
fi
if test -f 'RasterTek_device/rteklib/rtekerase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'RasterTek_device/rteklib/rtekerase.c'\"
else
echo shar: Extracting \"'RasterTek_device/rteklib/rtekerase.c'\" \(1063 characters\)
sed "s/^X//" >'RasterTek_device/rteklib/rtekerase.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/rteklib/rtekerase.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X * Joe Dellinger Feb 25 1988
X * Shouldn't erase on ERASE_BREAK;
X */
X
X#include "rtekpen.h"
X#include "../include/erasecom.h"
X#include "../include/attrcom.h"
X
extern int lost;
X
rtekerase (command)
X int command;
X{
X switch (command)
X {
X case ERASE_START:
X case ERASE_MIDDLE: /* cmdlen = 3 */
X CHKLEN (3);
X byte (VAL8);
X byte (0);
X byte (FLOOD);
X rtek_flsbuf (0);
X rtekattributes (SET_COLOR, color, 0, 0, 0);
X lost = YES;
X break;
X }
X}
END_OF_FILE
if test 1063 -ne `wc -c <'RasterTek_device/rteklib/rtekerase.c'`; then
echo shar: \"'RasterTek_device/rteklib/rtekerase.c'\" unpacked with wrong size!
fi
# end of 'RasterTek_device/rteklib/rtekerase.c'
fi
if test -f 'RasterTek_device/rteklib/rtekgetpoint.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'RasterTek_device/rteklib/rtekgetpoint.c'\"
else
echo shar: Extracting \"'RasterTek_device/rteklib/rtekgetpoint.c'\" \(956 characters\)
sed "s/^X//" >'RasterTek_device/rteklib/rtekgetpoint.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/rteklib/rtekgetpoint.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include "rtekpen.h"
X
rtekgetpoint (termout, x, y)
X FILE *termout;
X int *x, *y;
X{
char buf[4];
X CHKLEN (2);
X byte (READCR);
X byte (2);
X fflush (rtekfd);
X read (fileno (rtekfd), buf, 4);
X *x = (char) buf[1] << 8 + (unsigned char) buf[0];
X *y = (char) buf[3] << 8 + (unsigned char) buf[2];
X}
END_OF_FILE
if test 956 -ne `wc -c <'RasterTek_device/rteklib/rtekgetpoint.c'`; then
echo shar: \"'RasterTek_device/rteklib/rtekgetpoint.c'\" unpacked with wrong size!
fi
# end of 'RasterTek_device/rteklib/rtekgetpoint.c'
fi
if test -f 'Regis_device/gigilib/gigierase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Regis_device/gigilib/gigierase.c'\"
else
echo shar: Extracting \"'Regis_device/gigilib/gigierase.c'\" \(975 characters\)
sed "s/^X//" >'Regis_device/gigilib/gigierase.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/gigilib/gigierase.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Erase the graphics area
X */
X#include <stdio.h>
X#include "gigi.h"
X#include "../include/erasecom.h"
extern FILE *pltout;
X
gigierase (command)
X int command;
X{
X switch (command)
X {
X case ERASE_START:
X case ERASE_MIDDLE:
X fprintf (pltout, ";S(E)");
X lastop = 'S';
X messagecount = 0;
X break;
X case ERASE_END:
X default:
X break;
X }
X}
END_OF_FILE
if test 975 -ne `wc -c <'Regis_device/gigilib/gigierase.c'`; then
echo shar: \"'Regis_device/gigilib/gigierase.c'\" unpacked with wrong size!
fi
# end of 'Regis_device/gigilib/gigierase.c'
fi
if test -f 'Regis_device/gigilib/gigiopen.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Regis_device/gigilib/gigiopen.c'\"
else
echo shar: Extracting \"'Regis_device/gigilib/gigiopen.c'\" \(1079 characters\)
sed "s/^X//" >'Regis_device/gigilib/gigiopen.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/gigilib/gigiopen.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include "gigi.h"
X#include "../include/enum.h"
X#include "../include/extern.h"
X
int lastop;
X
gigiopen ()
X{
X/*
X * physical device size
X */
X dev_xmax = 383;
X dev_ymax = 240;
X dev_xmin = 0;
X dev_ymin = 0;
X pixels_per_inch = 38;
X aspect_ratio = 1.;
X
X/*
X * device capabilities
X */
X need_end_erase = NO;
X buffer_output = YES;
X smart_clip = NO;
X num_col = 0;
X lastop = '\0'; /* Flag for "nothing has happened yet" */
X}
END_OF_FILE
if test 1079 -ne `wc -c <'Regis_device/gigilib/gigiopen.c'`; then
echo shar: \"'Regis_device/gigilib/gigiopen.c'\" unpacked with wrong size!
fi
# end of 'Regis_device/gigilib/gigiopen.c'
fi
if test -f 'Regis_device/gigilib/gigireset.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Regis_device/gigilib/gigireset.c'\"
else
echo shar: Extracting \"'Regis_device/gigilib/gigireset.c'\" \(1043 characters\)
sed "s/^X//" >'Regis_device/gigilib/gigireset.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/gigilib/gigireset.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Put the terminal into standard configuration.
X */
X#include <stdio.h>
X#include "gigi.h"
extern FILE *pltout;
X
gigireset ()
X{
X fprintf (pltout, "%c[2J%c[24;1H%cPpP[0,0];", ESC, ESC, ESC);
X fprintf (pltout, "@:W (W(VI7A0S0N0M2P1(M2)))@;");
X /* define temporary writing controls */
X fprintf (pltout, "S(EI0N0A)[0,0]T(I0A0D0S1)P[0,0]");
X fflush (pltout);
X lastop = '$'; /* flag that new plot was reinitialized */
X}
END_OF_FILE
if test 1043 -ne `wc -c <'Regis_device/gigilib/gigireset.c'`; then
echo shar: \"'Regis_device/gigilib/gigireset.c'\" unpacked with wrong size!
fi
# end of 'Regis_device/gigilib/gigireset.c'
fi
if test -f 'Tek_device/cteklib/ctekcolmap.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekcolmap.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekcolmap.c'\" \(965 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekcolmap.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/ctekcolmap.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
ctekcolmap (color)
X int color;
X{
register int c;
X
X switch (color)
X {
X case 0:
X c = 0;
X break;
X case 1:
X c = 4;
X break;
X case 2:
X c = 2;
X break;
X case 3:
X c = 6;
X break;
X case 4:
X c = 3;
X break;
X case 5:
X c = 5;
X break;
X case 6:
X c = 7;
X break;
X case 7:
X c = 1;
X break;
X default:
X c = 1;
X }
X return c;
X}
END_OF_FILE
if test 965 -ne `wc -c <'Tek_device/cteklib/ctekcolmap.c'`; then
echo shar: \"'Tek_device/cteklib/ctekcolmap.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekcolmap.c'
fi
if test -f 'Tek_device/cteklib/ctekerase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekerase.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekerase.c'\" \(1018 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekerase.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/ctekerase.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Erase the graphics area of the Tek4105
X */
X#include <stdio.h>
X#include "ctek.h"
X#include "../include/erasecom.h"
X#include "../include/enum.h"
extern FILE *pltout;
X
ctekerase (command)
X int command;
X{
X switch (command)
X {
X case ERASE_START:
X case ERASE_MIDDLE:
X cteksetmode (TEK);
X putc (ESC, pltout);
X putc (FF, pltout);
X break;
X case ERASE_END:
X default:
X break;
X }
X}
END_OF_FILE
if test 1018 -ne `wc -c <'Tek_device/cteklib/ctekerase.c'`; then
echo shar: \"'Tek_device/cteklib/ctekerase.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekerase.c'
fi
if test -f 'Tek_device/cteklib/cteklinestyle.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/cteklinestyle.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/cteklinestyle.c'\" \(892 characters\)
sed "s/^X//" >'Tek_device/cteklib/cteklinestyle.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/cteklinestyle.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Set line style: dash is an integer from 0 to 7.
X * See Tek manual for choice of line styles.
X */
X#include <stdio.h>
X#include "ctek.h"
extern FILE *pltout;
X
cteklinestyle (dash)
X{
X cteksetmode (TEK);
X if (dash >= 0 && dash < 8)
X fprintf (pltout, "%cMV%d", ESC, dash);
X}
END_OF_FILE
if test 892 -ne `wc -c <'Tek_device/cteklib/cteklinestyle.c'`; then
echo shar: \"'Tek_device/cteklib/cteklinestyle.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/cteklinestyle.c'
fi
if test -f 'Tek_device/cteklib/ctekopen.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekopen.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekopen.c'\" \(1033 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekopen.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/ctekopen.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Device open routine
X */
X#include <stdio.h>
X#include "../include/enum.h"
X#include "../include/extern.h"
X
ctekopen ()
X{
X/*
X * physical device parameters
X */
X dev_xmax = 479;
X dev_ymax = 359;
X dev_xmin = 0;
X dev_ymin = 0;
X pixels_per_inch = 52.;
X aspect_ratio = 1.05;
X num_col = 8;
X
X/*
X * device capabilities
X */
X need_end_erase = NO;
X buffer_output = YES;
X smart_clip = NO;
X endpause = YES;
X}
END_OF_FILE
if test 1033 -ne `wc -c <'Tek_device/cteklib/ctekopen.c'`; then
echo shar: \"'Tek_device/cteklib/ctekopen.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekopen.c'
fi
if test -f 'Tek_device/cteklib/ctekplot.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekplot.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekplot.c'\" \(1038 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekplot.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/ctekplot.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Move (draw=0) or draw (draw=1) to point (x,y).
X */
X#include <stdio.h>
X#include "ctek.h"
X#include "../include/enum.h"
extern FILE *pltout;
X
int lost = 1; /* used by the genvector routine */
X
X
X/*
X * Move (draw=0) or draw (draw=1) to point (x,y).
X */
ctekplot (x, y, draw)
X int x, y, draw;
X{
X
X if (!draw)
X {
X cteksetmode (TEK);
X lost = 0;
X }
X cteksetmode (VECTOR);
X ctekxypack (x, y);
X}
END_OF_FILE
if test 1038 -ne `wc -c <'Tek_device/cteklib/ctekplot.c'`; then
echo shar: \"'Tek_device/cteklib/ctekplot.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekplot.c'
fi
if test -f 'Tek_device/cteklib/cteksetcoltab.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/cteksetcoltab.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/cteksetcoltab.c'\" \(929 characters\)
sed "s/^X//" >'Tek_device/cteklib/cteksetcoltab.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/cteklib/cteksetcoltab.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include "ctek.h"
X
cteksetcoltab (color, v1, v2, v3)
X int color, v1, v2, v3;
X{
extern FILE *pltout;
int c;
X
X c = ctekcolmap (color);
X cteksetmode (TEK);
X fprintf (pltout, "%cTG14%d", ESC, c);
X tekipack (v1);
X tekipack (v2);
X tekipack (v3);
X return;
X}
END_OF_FILE
if test 929 -ne `wc -c <'Tek_device/cteklib/cteksetcoltab.c'`; then
echo shar: \"'Tek_device/cteklib/cteksetcoltab.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/cteksetcoltab.c'
fi
if test -f 'Tek_device/teklib/tekerase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/teklib/tekerase.c'\"
else
echo shar: Extracting \"'Tek_device/teklib/tekerase.c'\" \(1029 characters\)
sed "s/^X//" >'Tek_device/teklib/tekerase.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/teklib/tekerase.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Erase the graphics area
X */
X#include <stdio.h>
X#include "tek.h"
X#include "../include/erasecom.h"
X#include "../include/enum.h"
extern FILE *pltout;
X
tekerase (command)
X int command;
X{
X switch (command)
X {
X case ERASE_START:
X case ERASE_MIDDLE:
X setmode (ALPHA);
X putc (ESC, pltout);
X putc (FF, pltout);
X messagecount = 0;
X lost = YES;
X break;
X case ERASE_END:
X default:
X break;
X }
X}
END_OF_FILE
if test 1029 -ne `wc -c <'Tek_device/teklib/tekerase.c'`; then
echo shar: \"'Tek_device/teklib/tekerase.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/teklib/tekerase.c'
fi
if test -f 'Tek_device/teklib/tekplot.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/teklib/tekplot.c'\"
else
echo shar: Extracting \"'Tek_device/teklib/tekplot.c'\" \(900 characters\)
sed "s/^X//" >'Tek_device/teklib/tekplot.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/teklib/tekplot.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * Move (draw=0) or draw (draw=1) to point (x,y).
X */
X#include <stdio.h>
X#include "tek.h"
extern FILE *pltout;
X
int lost = 1; /* used by the genvector routine */
X
tekplot (x, y, draw)
X{
X if (!draw || (tekmode != VECTOR))
X setmode (VECTOR);
X tekxypack (x, y);
X lost = 0;
X}
END_OF_FILE
if test 900 -ne `wc -c <'Tek_device/teklib/tekplot.c'`; then
echo shar: \"'Tek_device/teklib/tekplot.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/teklib/tekplot.c'
fi
if test -f 'Virtual_device/vplib/vplogmessage.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/vplib/vplogmessage.c'\"
else
echo shar: Extracting \"'Virtual_device/vplib/vplogmessage.c'\" \(1053 characters\)
sed "s/^X//" >'Virtual_device/vplib/vplogmessage.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/vplib/vplogmessage.c
X *
X * Joe Dellinger (SEP), Jan 10 1988
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include "../include/enum.h"
X#include "../include/mesgcom.h"
X#include "vp.h"
X
static int saveitlog;
X
vplogmessage (command, string)
X int command;
X char string[];
X{
X switch (command)
X {
X case MESG_READY:
X saveitlog = YES;
X break;
X case MESG_MESSAGE:
X saveitlog = NO;
X break;
X case MESG_TEXT:
X if (saveitlog)
X fprintf (stderr, "%s", string);
X break;
X default:
X break;
X }
X}
END_OF_FILE
if test 1053 -ne `wc -c <'Virtual_device/vplib/vplogmessage.c'`; then
echo shar: \"'Virtual_device/vplib/vplogmessage.c'\" unpacked with wrong size!
fi
# end of 'Virtual_device/vplib/vplogmessage.c'
fi
if test -f 'Virtual_device/vplib/vpplot.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/vplib/vpplot.c'\"
else
echo shar: Extracting \"'Virtual_device/vplib/vpplot.c'\" \(911 characters\)
sed "s/^X//" >'Virtual_device/vplib/vpplot.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/vplib/vpplot.c
X *
X * Joe Dellinger (SEP), Dec 19 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <vplot.h>
X#include "../include/enum.h"
X#include "vp.h"
X
int lost = YES;
X
vpplot (x, y, draw)
X int x, y, draw;
X{
X
X vpsetflag = NO;
X
X if (draw)
X vp_draw ((float) x / RPERIN, (float) y / RPERIN);
X else
X vp_move ((float) x / RPERIN, (float) y / RPERIN);
X
X lost = NO;
X}
END_OF_FILE
if test 911 -ne `wc -c <'Virtual_device/vplib/vpplot.c'`; then
echo shar: \"'Virtual_device/vplib/vpplot.c'\" unpacked with wrong size!
fi
# end of 'Virtual_device/vplib/vpplot.c'
fi
if test -f 'Virtual_device/vplib/vpsepwhere.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/vplib/vpsepwhere.c'\"
else
echo shar: Extracting \"'Virtual_device/vplib/vpsepwhere.c'\" \(875 characters\)
sed "s/^X//" >'Virtual_device/vplib/vpsepwhere.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/vplib/vpsepwhere.c
X *
X * Joe Dellinger (SEP), Feb 12 1988
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#ifdef SEP
X/*
X * Override the default places Pen wants to send "out" and "head".
X * Change them back to the normal SEP defaults.
X */
char sepoutwhere[] = "";
char sepheadwhere[] = "";
X
X/* Make linker happy that it found it. */
sepwhere ()
X{
X};
X#endif
END_OF_FILE
if test 875 -ne `wc -c <'Virtual_device/vplib/vpsepwhere.c'`; then
echo shar: \"'Virtual_device/vplib/vpsepwhere.c'\" unpacked with wrong size!
fi
# end of 'Virtual_device/vplib/vpsepwhere.c'
fi
if test -f 'Vplot_Kernel/Hershey/README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/Hershey/README'\"
else
echo shar: Extracting \"'Vplot_Kernel/Hershey/README'\" \(1036 characters\)
sed "s/^X//" >'Vplot_Kernel/Hershey/README' <<'END_OF_FILE'
This directory contains everything you need to create yourself a nice
set of Vplot fonts GIVEN the hershey font set already. Note that the .hmp
files here are somewhat different (better) from the .hmp files that come
with the Hershey fonts. (IE, keep the .oc files, since they contain
what you need, but throw away their .hmp files and use mine instead.)
X
Only "normal" sized fonts are used. If you want small characters, just scale
down the normal-sized ones!
X
Documentation is contained in the beginning lines of all .csh and .c files,
although the "make_vplot.csh" shell should do everything for you.
X
Note that the "romant" font of the Hershey fonts has an error in it. If you
have the "Hershey_Fonts" directory as part of your distribution, you will find
the "fixed" romant.vplot_font file there. Otherwise, read the comments in
make_vplot.csh and fix the error by hand (or do without).
X
The files in this directory are NOT under the Vplot copyright, as
some files contain code from the Hershey Font distribution.
X
X- Joe Dellinger
END_OF_FILE
if test 1036 -ne `wc -c <'Vplot_Kernel/Hershey/README'`; then
echo shar: \"'Vplot_Kernel/Hershey/README'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/Hershey/README'
fi
if test -f 'Vplot_Kernel/Makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/Makefile'\"
else
echo shar: Extracting \"'Vplot_Kernel/Makefile'\" \(916 characters\)
sed "s/^X//" >'Vplot_Kernel/Makefile' <<'END_OF_FILE'
all:
X @echo "Make install to install all graphical stuff"
X
install:
X echo "You must be superuser to do this!"
X sleep 1
X# System-wide include file
X -cd filters; ln -s `pwd`/include/vplot.h /usr/include/vplot.h
X# Vplotlib
X cd lvplot; make install
X# Install the fonts
X# This will crash if you don't have the Hershey_Fonts directory.
X# If you have the short distribution, you'll need to get the
X# Hershey Fonts yourself, generate the .oc files, and copy
X# them into the "Hershey" directory. Having done that, you
X# won't need this next line.
X cd Hershey_Fonts; csh -xf README_Vplot
X cd Hershey; csh -xf make_vplot.csh
X cd ./filters/include/vplotfonts; make
X# Filters
X cd filters; csh -f MakeMake; make install
X# Utilities
X cd util; make install
X# Manual Pages
X# Beware, we keep our manual pages in "man9". Might need to
X# change "./Documentation/install.csh" for your site.
X cd Documentation; csh -xf install.csh
END_OF_FILE
if test 916 -ne `wc -c <'Vplot_Kernel/Makefile'`; then
echo shar: \"'Vplot_Kernel/Makefile'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/Makefile'
fi
if test -f 'Vplot_Kernel/filters/Tests/ellips.f' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/Tests/ellips.f'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/Tests/ellips.f'\" \(1014 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/Tests/ellips.f' <<'END_OF_FILE'
c draw some ellipses
c
X parameter ( ne = 6 )
X parameter ( nx = 100 , ny = 100 )
c
X real a(ne) , b(ne)
X real xco(2*nx) , yco(2*ny)
X integer col(ne)
X
X data a/1.,2.,3.,1.,1.,1./
X data b/1.,1.,1.,2.,3.,4./
X data col/6,5,4,3,2,1/
X
X call vpfile('f.vp')
X call vperase()
c .75 = SCREEN_RATIO from vplot.h
X call vpstretch(-10.,-10.*.75,10.,10.*.75)
X call vpumove(-10.,-10.*.75)
X call vpudraw(10.,-10.*.75)
X call vpudraw(10.,10.*.75)
X call vpudraw(-10.,10.*.75)
X call vpudraw(-10.,-10.*.75)
X
X do 1 ie =1,ne
X call vpcolor( col(ie) )
X
X xmin = -a(ie)
X dx = 2*abs(xmin)/(nx-1)
c
X call vpumove(xmin,0.)
X do 10 i = 1,nx
X x = ( xmin + (i-1)*dx )
X y = b(ie)*sqrt ( 1. - x*x/( a(ie)**2 ) )
X xco(i)=x
X yco(i)=y
X call vpudraw(x,y)
X10 continue
X
X call vpumove(xmin,0.)
X do 20 i = 1,nx
X x = ( xmin + (i-1)*dx )
X y = - b(ie)*sqrt ( 1. - x*x/( a(ie)**2 ) )
X xco(nx+i)=x
X yco(nx+i)=y
X call vpudraw(x,y)
X20 continue
X
X if ( ie .eq. 1 ) call vpuarea(xco,yco, 2*nx, 1, 4, 4)
X
X1 continue
X
X
X call vpendplot('f.vp')
X stop
X end
END_OF_FILE
if test 1014 -ne `wc -c <'Vplot_Kernel/filters/Tests/ellips.f'`; then
echo shar: \"'Vplot_Kernel/filters/Tests/ellips.f'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/Tests/ellips.f'
fi
if test -f 'Vplot_Kernel/filters/genlib/known_bugs' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/genlib/known_bugs'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/genlib/known_bugs'\" \(1061 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/genlib/known_bugs' <<'END_OF_FILE'
genhatch.c:
X Hatch lines may go one pixel outside of polygon boundary. Need to use
X a smarter clipping algorithm. This isn't too bad, because on
X high-resolution output devices who cares about one pixel anyway?
X Genhatch produces a slight (one pixel) discontinuity across
X device coordinate zero (Since not many devices work with negative
X coordinates, not much of a problem. But, of course, we have one, the
X Rastertek.)
X If you go one pixel too far, then fatten the line, you have a
X very noticeable problem. -- crk
X
fatvec.c:
X Very fat tilted lines may leave slight gaps here and there.
X (If you don't understand what I mean, just try it.)
X Tilted lines don't fatten to the same width as vertical or horizontal
X lines.
X
genmarker.c:
X Use a real circle-drawing algorithm to make perfect circles,
X instead of using the ho-hum fattened Hershey-font circles.
X
genarea.c, polysubs.c, polyfix.c:
X Should use linked lists instead of the large static arrays it
X currently uses. Should take out the awful repeated code to do
X the preliminary clipping to each edge.
END_OF_FILE
if test 1061 -ne `wc -c <'Vplot_Kernel/filters/genlib/known_bugs'`; then
echo shar: \"'Vplot_Kernel/filters/genlib/known_bugs'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/genlib/known_bugs'
fi
if test -f 'Vplot_Kernel/filters/loclib/Puthead.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/loclib/Puthead.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/loclib/Puthead.c'\" \(1105 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/loclib/Puthead.c' <<'END_OF_FILE'
X/*
X *
X * source file: ./filters/loclib/Puthead.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X *
X * Joe Dellinger Dec 19 1987
X * Added check for hclose_done; Don't write to header if we've
X * closed the history part.
X */
X
X/*
X * The standard version of puthead will barf if the header
X * is closed or if headstream has been changed from the last call.
X * We need it to be tolerant of these inconsistencies.
X */
X
X#include <stdio.h>
X#define MIXED union { char *s; int *i; float *f; double *g; }
X
extern int hclose_done;
X
X/*
X * put a line on the header.
X * the arguments are identical to printf conventions, except
X * there is a maximum of nine
X */
X
Puthead (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
X char *a, *b, *c, *d, *e, *f, *g, *h, *i, *j, *k, *l, *m, *n, *o, *p;
X{
FILE *file;
extern FILE *headstream;
X if (headstream == NULL || hclose_done)
X return;
X fprintf (headstream, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
X fflush (headstream);
X}
END_OF_FILE
if test 1105 -ne `wc -c <'Vplot_Kernel/filters/loclib/Puthead.c'`; then
echo shar: \"'Vplot_Kernel/filters/loclib/Puthead.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/loclib/Puthead.c'
fi
if test -f 'Vplot_Kernel/filters/loclib/file.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/loclib/file.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/loclib/file.c'\" \(959 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/loclib/file.c' <<'END_OF_FILE'
X/*
X * opens and creates file
X * arguments:
X * name character string containing filename
X * mode 0 open only
X * 1 create only
X * 2 try open, then create
X * returns file descriptor
X */
int
file (name, mode)
X char *name;
X int mode;
X{
int filedes, open (), creat ();
X switch (mode)
X {
X case 0:
X if ((filedes = open (name, 0)) == -1)
X {
X perror ("file()");
X err ("file() can't open file %s\n", name);
X }
X break;
X case 2:
X if ((filedes = open (name, 2)) == -1)
X case 1:
X if ((filedes = creat (name, 0664)) == -1)
X {
X perror ("file()");
X err ("file() can't create file %s\n", name);
X }
X else
X {
X if (-1 == close (filedes))
X {
X perror ("file()");
X err ("file() unable to close file %s\n", name);
X }
X if (-1 == (filedes = open (name, 2)))
X {
X perror ("file()");
X err ("file() unable to open file %s\n", name);
X }
X }
X }
X return (filedes);
X}
END_OF_FILE
if test 959 -ne `wc -c <'Vplot_Kernel/filters/loclib/file.c'`; then
echo shar: \"'Vplot_Kernel/filters/loclib/file.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/loclib/file.c'
fi
if test -f 'Vplot_Kernel/filters/loclib/getpar_string_store.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/loclib/getpar_string_store.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/loclib/getpar_string_store.c'\" \(968 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/loclib/getpar_string_store.c' <<'END_OF_FILE'
X/*
X *
X * source file: ./filters/loclib/getpar_string_store.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/* Rewrite 3-8-86 stew Don't invoke parser unless we see par=. This
X * leaves the shell's parsed output of the command
X * line intact, fixing joe's complaint. Also a
X * bit faster.
X * 2-15-88 joe Should be hash_item "**q", not "*q". Oops.
X */
X#include "fastpar.h"
X#include <stdio.h>
X#include <strings.h>
getpar_string_store(q,qsize,string)
hash_item **q;
int qsize;
register char *string;
X{
X register int tlen, vlen;
X register char *val;
X
X val = index(string,'=');
X if(val == ((char *) NULL)) return;
X tlen = val - string;
X if(tlen <= 0) return;
X val++;
X vlen=strlen(val);
X if(vlen <= 0) return;
X getpar_hash_store(q,qsize,string,val,tlen,vlen);
X if( tlen==3 && 0==bcmp(string,"par",3) ) {
X getpar_stack_par(val);
X getpar_scan(q,qsize);
X }
X}
END_OF_FILE
if test 968 -ne `wc -c <'Vplot_Kernel/filters/loclib/getpar_string_store.c'`; then
echo shar: \"'Vplot_Kernel/filters/loclib/getpar_string_store.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/loclib/getpar_string_store.c'
fi
if test -f 'Vplot_Kernel/filters/loclib/known_bugs' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/loclib/known_bugs'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/loclib/known_bugs'\" \(868 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/loclib/known_bugs' <<'END_OF_FILE'
err.c should use VARARGS, but doesn't unless either "SUN" or "ULTRIX" is
defined, since it uses vsprintf. There seems to be no easy portable documented
way to write this routine on systems that don't provide vsprintf! I think
it must be possible with something called "_doprnt", but it seems to be
completely undocumented.
X
I think getpar should work OK, at least as far as the non-sep parts go.
It seems to be consistent within itself, and the one interface to the
outside world, "getpar", is varargs. However I wouldn't be surprised
if this routine gave problems on some C compilers. Someone gave me
a re-write of the routine that was supposed to be kosher for Sun IV's,
but it core dumped on our Convex and Sun III's...
X
Bufpar.c isn't used in vplot, but it is used in many programs often
associated with vplot around Stanford that link to loclib, so I include it.
END_OF_FILE
if test 868 -ne `wc -c <'Vplot_Kernel/filters/loclib/known_bugs'`; then
echo shar: \"'Vplot_Kernel/filters/loclib/known_bugs'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/loclib/known_bugs'
fi
if test -f 'Vplot_Kernel/filters/utilities/solve.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/utilities/solve.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/utilities/solve.c'\" \(1075 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/utilities/solve.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/utilities/solve.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * compute intersection - floating point version
X */
X
solve (pnot, p1, q1, p2, q2)
X register int pnot, p1, q1, p2, q2;
X{
double invslope;
register int qnot;
register float tempf;
X if (pnot == p1)
X return (q1);
X if (pnot == p2)
X return (q2);
X if (q1 == q2)
X return (q1);
X invslope = (q1 - q2) / ((double) (p1 - p2));
X tempf = (pnot - p1) * invslope + (double) q1;
X qnot = (tempf > 0) ? tempf + 0.5 : tempf - 0.5;
X return (qnot);
X}
END_OF_FILE
if test 1075 -ne `wc -c <'Vplot_Kernel/filters/utilities/solve.c'`; then
echo shar: \"'Vplot_Kernel/filters/utilities/solve.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/utilities/solve.c'
fi
if test -f 'Vplot_Kernel/filters/utilities/sort.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/utilities/sort.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/utilities/sort.c'\" \(1047 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/utilities/sort.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./filters/utilities/sort.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X/*
X * VPLOT filter utility routine
X * sort the elements of vec into ascending order.
X */
sort (vec, n)
X register int *vec;
X int n;
X{
register int *above, *below, *last;
register int temp;
X last = vec + (n - 1);
X for (above = vec; above < last; above++)
X {
X for (below = above + 1; below <= last; below++)
X {
X if (*above > *below)
X {
X temp = *above;
X *above = *below;
X *below = temp;
X }
X }
X }
X}
END_OF_FILE
if test 1047 -ne `wc -c <'Vplot_Kernel/filters/utilities/sort.c'`; then
echo shar: \"'Vplot_Kernel/filters/utilities/sort.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/utilities/sort.c'
fi
if test -f 'Vplot_Kernel/lvplot/puth.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/puth.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/puth.c'\" \(926 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/puth.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/puth.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#ifndef FORTRAN
X#include <stdio.h>
X
puth (w, iop)
X register int w;
X register FILE *iop;
X{
register int j;
X
X j = w & 255; /* low order byte of halfword value */
X w >>= 8;
X putc ((char) j, iop);
X j = w & 255; /* high order byte of halfword value */
X putc ((char) j, iop);
X return (ferror (iop));
X}
X#endif
END_OF_FILE
if test 926 -ne `wc -c <'Vplot_Kernel/lvplot/puth.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/puth.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/puth.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_color.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_color.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_color.c'\" \(906 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_color.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/vp_color.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define COLOR vpcolor_
X#define COL *col
X
X#else
X
X#define COLOR vp_color
X#define COL col
X
X#endif
X
COLOR (col)
X int COL;
X{
int c;
X c = COL;
X putc (VP_COLOR, vp_pc._pltout);
X puth (c, vp_pc._pltout);
X}
END_OF_FILE
if test 906 -ne `wc -c <'Vplot_Kernel/lvplot/vp_color.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_color.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_color.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_fat.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_fat.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_fat.c'\" \(922 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_fat.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/vp_fat.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define FAT vpfat_
X#define FATNESS *fatness
X
X#else
X
X#define FAT vp_fat
X#define FATNESS fatness
X
X#endif
X
FAT (fatness)
X int FATNESS;
X{
int f;
X f = FATNESS;
X putc (VP_FAT, vp_pc._pltout);
X puth (f, vp_pc._pltout);
X}
END_OF_FILE
if test 922 -ne `wc -c <'Vplot_Kernel/lvplot/vp_fat.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_fat.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_fat.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_filep.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_filep.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_filep.c'\" \(886 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_filep.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/vp_filep.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifndef FORTRAN
vp_filep (filepntr)
X FILE *filepntr;
X{
X vp_pc._pltout = filepntr;
X}
X#else
vpfilep_ (filepntr)
X int *filepntr;
X{
extern FILE *fdopen ();
X vp_filep (fdopen (*filepntr, "w"));
X}
X#endif
END_OF_FILE
if test 886 -ne `wc -c <'Vplot_Kernel/lvplot/vp_filep.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_filep.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_filep.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_pc.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_pc.h'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_pc.h'\" \(952 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_pc.h' <<'END_OF_FILE'
X#include <stdio.h>
X
typedef struct
X{
X float _x0, _y0; /* origin in inches */
X float _xu0, _yu0; /* value in user units corresponding to x0,y0 */
X float _xscl, _yscl; /* scaling from user units to inches */
X float _xold, _yold; /* old pen position (in inches) */
X float _dpos; /* position in dash sequence (in inches) */
X float _ddef[4]; /* definition of current dashes (in inches) */
X int _dashon; /* =0 if not dashed line; =1 if dashed line */
X int _pendown; /* is pen up or down */
X FILE *_pltout; /* output file */
X int _xjust, _yjust; /* current x and y text justification */
X int _font, _prec, _ovly;/* current text font, precision, and overlay */
X} PC;
X
X/*
X * This structure used to be called just plain "pc", but this is disaster
X * on 4.3bsd where the same name is used in the internal FORTRAN routines.
X * You get no warnings about this from the linker, either! You just get
X * random problems all over the place.
X */
X
extern PC vp_pc;
END_OF_FILE
if test 952 -ne `wc -c <'Vplot_Kernel/lvplot/vp_pc.h'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_pc.h'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_pc.h'
fi
if test -f 'Vplot_Kernel/lvplot/vp_scale.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_scale.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_scale.c'\" \(908 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_scale.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/vp_scale.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define SCALE vpscale_
X#define XSCL *xscl
X#define YSCL *yscl
X
X#else
X
X#define SCALE vp_scale
X#define XSCL xscl
X#define YSCL yscl
X
X#endif
X
SCALE (xscl, yscl)
X float XSCL, YSCL;
X{
X vp_pc._xscl = XSCL;
X vp_pc._yscl = YSCL;
X}
END_OF_FILE
if test 908 -ne `wc -c <'Vplot_Kernel/lvplot/vp_scale.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_scale.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_scale.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_uplot.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_uplot.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_uplot.c'\" \(1055 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_uplot.c' <<'END_OF_FILE'
X/*
X * Copyright 1987 the Board of Trustees of the Leland Stanford Junior
X * University. Official permission to use this software is included in
X * the documentation. It authorizes you to use this file for any
X * non-commercial purpose, provided that this copyright notice is not
X * removed and that any modifications made to this file are commented
X * and dated in the style of my example below.
X */
X
X/*
X *
X * source file: ./lvplot/vp_uplot.c
X *
X * Joe Dellinger (SEP), June 11 1987
X * Inserted this sample edit history entry.
X * Please log any further modifications made to this file:
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define UPLOT vpuplot_
X#define X *x
X#define Y *y
X#define DOWN *down
X
X#else
X
X#define UPLOT vp_uplot
X#define X x
X#define Y y
X#define DOWN down
X
X#endif
X
UPLOT (x, y, down)
X float X, Y;
X int DOWN;
X{
float xp, yp;
X xp = vp_pc._x0 + (X - vp_pc._xu0) * vp_pc._xscl;
X yp = vp_pc._y0 + (Y - vp_pc._yu0) * vp_pc._yscl;
X vp_plot (xp, yp, DOWN);
X}
END_OF_FILE
if test 1055 -ne `wc -c <'Vplot_Kernel/lvplot/vp_uplot.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_uplot.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_uplot.c'
fi
echo shar: End of archive 4 \(of 24\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 24 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0