home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume14
/
vplot
/
part06
< prev
next >
Wrap
Text File
|
1988-03-28
|
61KB
|
2,296 lines
Subject: v14i011: Device-independant graphics system, with drivers, Part06/24
Newsgroups: comp.sources.unix
Sender: sources
Approved: rsalz@uunet.UU.NET
Submitted-by: Joe Dellinger <joe@hanauma.STANFORD.EDU>
Posting-number: Volume 14, Issue 11
Archive-name: vplot/part06
#! /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 6 (of 24)."
# Wrapped by rsalz@fig.bbn.com on Fri Mar 25 11:46:51 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Envision_device/envilib/envipoly.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Envision_device/envilib/envipoly.c'\"
else
echo shar: Extracting \"'Envision_device/envilib/envipoly.c'\" \(1428 characters\)
sed "s/^X//" >'Envision_device/envilib/envipoly.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/envipoly.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 "envi.h"
X
extern FILE *pltout;
X
static int firstpoint;
static int x_first, y_first;
X
envistartpoly (npts)
X int npts;
X{
X envisetmode (REG);
X fprintf (pltout, "%cOM%d,", ESC, npts + 1);
X firstpoint = 1;
X}
X
X
envimidpoly (x, y)
X int x, y;
X{
X fprintf (pltout, "%d,%d,", x * 4, y * 4);
X if (firstpoint == 1)
X {
X firstpoint = 0;
X x_first = x;
X y_first = y;
X }
X /*
X * Multiply by 4 to undo the window weirdness. That is, when in tek mode
X * the window acts differently from when not in tek mode.
X */
X}
X
enviendpoly (last)
X int last; /* 1 means this is the last polygon */
X{
X fprintf (pltout, "%d,%d,", x_first * 4, y_first * 4);
X/*
X * repeat the first point as the last to get around an envision bug!
X */
X}
END_OF_FILE
if test 1428 -ne `wc -c <'Envision_device/envilib/envipoly.c'`; then
echo shar: \"'Envision_device/envilib/envipoly.c'\" unpacked with wrong size!
fi
# end of 'Envision_device/envilib/envipoly.c'
fi
if test -f 'Imagen_device/imaglib/imagdoc.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Imagen_device/imaglib/imagdoc.h'\"
else
echo shar: Extracting \"'Imagen_device/imaglib/imagdoc.h'\" \(1547 characters\)
sed "s/^X//" >'Imagen_device/imaglib/imagdoc.h' <<'END_OF_FILE'
char *documentation[] = {
X" ",
X"NAME",
X#ifdef SEP
X" Imagpen - SEPlib vplot filter for Imagen 8/300 laser printer",
X#else
X" imagpen - vplot filter for Imagen 8/300 laser printer",
X#endif
X" ",
X" output is in IMPRESS language, if not redirected, it is sent to ipr",
X" ",
X"SYNOPSIS",
X#ifdef SEP
X" I[mag]pen [options] in=vplot-inputfile OR headerfile on standard in",
X#else
X" i[mag]pen [options] [inputfiles]",
X#endif
X" ",
X"OPTIONS",
X#ifdef SEP
X" Options unique to Imagpen:",
X#else
X" Options unique to imagpen:",
X#endif
X" paper=letter If paper=legal, 8.5x14 inch paper in use",
X" label=string Label pages with string. If string=no, no label",
X" default label is user name and date",
X" strip=no If strip=y, then makes an IMPRESS output file",
X" without document control language",
X" tex=no If tex=y, then strip=y and rotate plot to correct",
X" orientation for use with TEX",
X" brute=yes If the imagen chops your plot up, make this yes",
X" and pray to the gods of imagen (a little slower)",
X" hold=reason Tells the imagen to not print the job until you",
X" release it from the imagen console with \"rj\"",
X" ncopies=n Requests multiple copies (works only if strip=no)",
X#include "../include/gendoc.h"
X"FILES",
X" scratch file /scr/tmp/Impress_XXXXXX, which it deletes",
X"SEE ALSO",
X" man pen"
X};
int doclength = { sizeof documentation/sizeof documentation[0] };
END_OF_FILE
if test 1547 -ne `wc -c <'Imagen_device/imaglib/imagdoc.h'`; then
echo shar: \"'Imagen_device/imaglib/imagdoc.h'\" unpacked with wrong size!
fi
# end of 'Imagen_device/imaglib/imagdoc.h'
fi
if test -f 'Imagen_device/imaglib/imagvector.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Imagen_device/imaglib/imagvector.c'\"
else
echo shar: Extracting \"'Imagen_device/imaglib/imagvector.c'\" \(1510 characters\)
sed "s/^X//" >'Imagen_device/imaglib/imagvector.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/imaglib/imagvector.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#define MAX_PEN 12
X#include <stdio.h>
X#include "../include/extern.h"
X#include "imagen.h"
int current_fat = 1;
X
X
imagvector (x1, y1, x2, y2, nfat, dashon)
X int x1, y1, x2, y2;
X int nfat, dashon;
X{
static int xlst, ylst;
X
X if (nfat < 0)
X return;
X
X if (dashon)
X {
X dashvec (x1, y1, x2, y2, nfat, dashon);
X return;
X }
X
X if (nfat + 1 > MAX_PEN) /* Fatter than imagen can handle itself */
X {
X fatvec (x1, y1, x2, y2, nfat, dashon);
X return;
X }
X
X if (clip (&x1, &y1, &x2, &y2))
X return;
X
X if (current_fat != (nfat + 1))
X {
X endpath (DRAW_PATH, imag_curcolor);
X current_fat = (nfat + 1);
X fprintf (pltout, "%c%c", SET_PEN, lob (current_fat));
X }
X
X if ((x1 != xlst) || (y1 != ylst) || lost == 1)
X {
X /* Make sure it is a move, not a draw */
X imagplot (x1, y1, 0);
X }
X imagplot (x2, y2, 1);
X xlst = x2;
X ylst = y2;
X}
END_OF_FILE
if test 1510 -ne `wc -c <'Imagen_device/imaglib/imagvector.c'`; then
echo shar: \"'Imagen_device/imaglib/imagvector.c'\" unpacked with wrong size!
fi
# end of 'Imagen_device/imaglib/imagvector.c'
fi
if test -f 'Masscomp_device/gpslib/gpsattr.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Masscomp_device/gpslib/gpsattr.c'\"
else
echo shar: Extracting \"'Masscomp_device/gpslib/gpsattr.c'\" \(1394 characters\)
sed "s/^X//" >'Masscomp_device/gpslib/gpsattr.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/gpsattr.c
X *
X * Stewart A. Levin (SEP), July 3 1987
X * Cribbed rasattr.c for gps filter
X */
X
X/*
X * control graphics attributes
X */
X#include <stdio.h>
X#include "../include/attrcom.h"
X#include "gpspen.h"
extern int color_mult;
static int regismap[8] = {0, 24, 26, 22, 25, 21, 23, 20};
X
gpsattr (command, value, v1, v2, v3)
X register int command, value;
X int v1, v2, v3;
X{
int bundle;
X switch (command)
X {
X case SET_COLOR:
X if (value < 8)
X bundle = regismap[value];
X else
X bundle = color_mult * value;
X line_style (bundle);
X /* text_style(bundle); /* unused; we don't do native text */
X break;
X case SET_COLOR_TABLE:
X /* Creare's crpf uses a fancy external table ... we'll do this later */
X break;
X case SET_WINDOW:
X /* use dumb clipping, I don't think gps windows and viewports */
X /* are of use for vplot's windowing */
X default:
X break;
X }
X
return 0;
X}
END_OF_FILE
if test 1394 -ne `wc -c <'Masscomp_device/gpslib/gpsattr.c'`; then
echo shar: \"'Masscomp_device/gpslib/gpsattr.c'\" unpacked with wrong size!
fi
# end of 'Masscomp_device/gpslib/gpsattr.c'
fi
if test -f 'Printronix_device/lprlib/lprclose.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Printronix_device/lprlib/lprclose.c'\"
else
echo shar: Extracting \"'Printronix_device/lprlib/lprclose.c'\" \(1381 characters\)
sed "s/^X//" >'Printronix_device/lprlib/lprclose.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/lprclose.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/* Routine to finish up */
X#include <stdio.h>
X#include "../include/closestat.h"
X#include "../include/enum.h"
X#include "../include/extern.h"
X#include "lprpen.h"
X
lprclose (status)
X int status;
X{
char system_call[120];
X
X switch (status)
X {
X case CLOSE_NORMAL:
X if (file_created)
X {
X fclose (pltout);
X sprintf (system_call, "lpr -l %s\n", spoolfile);
X system (system_call);
X }
X break;
X case CLOSE_FLUSH:
X fflush (pltout);
X break;
X case CLOSE_ERROR:
X case CLOSE_NOTHING:
X case CLOSE_INTERRUPT:
X break;
X case CLOSE_DONE:
X /*
X * If we created a temporary file, remove it
X */
X if (file_created)
X unlink (spoolfile);
X break;
X case CLOSE_PAUSE:
X break;
X default: /* not meant for us, ignore */
X break;
X }
X}
END_OF_FILE
if test 1381 -ne `wc -c <'Printronix_device/lprlib/lprclose.c'`; then
echo shar: \"'Printronix_device/lprlib/lprclose.c'\" unpacked with wrong size!
fi
# end of 'Printronix_device/lprlib/lprclose.c'
fi
if test -f 'RasterTek_device/rteklib/rtekutil.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'RasterTek_device/rteklib/rtekutil.c'\"
else
echo shar: Extracting \"'RasterTek_device/rteklib/rtekutil.c'\" \(1457 characters\)
sed "s/^X//" >'RasterTek_device/rteklib/rtekutil.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/rtekutil.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/* utilities for sending Raster Tech commands */
X#include "rtekpen.h"
X
X/* be sure that a command string has an even byte count; add a NOP */
byte (arg)
X char arg;
X{
X fputc (arg & 0xFF, rtekfd);
X}
X
word (arg)
X short arg;
X{
X fputc ((arg & 0xFF00) >> 8, rtekfd);
X fputc (arg & 0xFF, rtekfd);
X}
X
rtek_flsbuf (len)
X int len;
X{
int newlen;
extern char *malloc ();
X
X if (rtekfd->_cnt & 1) /* odd byte count left in stdio buffer */
X byte (NOP); /* pad to even length */
X fflush (rtekfd);
X
X /* now check if there's enough buffer space after flushing */
X if (len > rtekfd->_bufsiz)
X { /* expand buffer */
X free (rtekfd->_base);
X newlen = len + (len & 1);
X rtekfd->_base = malloc (newlen);
X rtekfd->_ptr = rtekfd->_base;
X rtekfd->_bufsiz = newlen;
X rtekfd->_cnt = newlen;
X }
X}
END_OF_FILE
if test 1457 -ne `wc -c <'RasterTek_device/rteklib/rtekutil.c'`; then
echo shar: \"'RasterTek_device/rteklib/rtekutil.c'\" unpacked with wrong size!
fi
# end of 'RasterTek_device/rteklib/rtekutil.c'
fi
if test -f 'Tek_device/cteklib/ctekcolor.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekcolor.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekcolor.c'\" \(1366 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekcolor.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/ctekcolor.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
X/*
X * Uses the REGIS (ugh) color mapping for the solid colors,
X * which will probably cause no end of confusion if you start
X * changing the primary colors for nicer plots.
X */
X
int draw_border = 0; /* If nonzero, draw a border on a
X * polygon */
X
ctekcolor (color)
X{
extern FILE *pltout;
int c;
X/*
X * Sometimes it is hard for vplot to realize that it doesn't need to
X * change the color. It has to be safe. Here we KNOW, so we can check.
X */
static int real_color = -1;
X
X/*
X * Colors will always be less than num_col
X */
X
X c = ctekcolmap (color);
X
X if (c != real_color)
X {
X real_color = c;
X cteksetmode (TEK);
X fprintf (pltout, "%cML", ESC);
X tekipack (c);
X }
X return;
X}
END_OF_FILE
if test 1366 -ne `wc -c <'Tek_device/cteklib/ctekcolor.c'`; then
echo shar: \"'Tek_device/cteklib/ctekcolor.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekcolor.c'
fi
if test -f 'Tek_device/cteklib/ctekgetpoint.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekgetpoint.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekgetpoint.c'\" \(1341 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekgetpoint.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/ctekgetpoint.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
extern FILE *pltout;
extern int allowecho;
X
ctekgetpoint (termout, x, y)
X FILE *termout;
X int *x, *y;
X{
char string[80];
X
X fflush (pltout);
X cteksetmode (VECTOR);
X system ("stty echo");
X fprintf (pltout, "%c%c", ESC, SB); /* Ask for position of cursor */
X fflush (pltout);
X fflush (termout);
X fread (string, 1, 6, termout); /* Get answer */
X fflush (termout);
X if (string[0] == ESC)
X return (1);
X
X *x = (((string[1] & 037) << 5) | (string[2] & 037));
X *y = (((string[3] & 037) << 5) | (string[4] & 037));
X *x = *x * 4;
X *y = *y * 4;
X
X if (!allowecho)
X system ("stty -echo");
X
X lost = 1;
X return (0);
X}
END_OF_FILE
if test 1341 -ne `wc -c <'Tek_device/cteklib/ctekgetpoint.c'`; then
echo shar: \"'Tek_device/cteklib/ctekgetpoint.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekgetpoint.c'
fi
if test -f 'Tek_device/cteklib/ctekpoly.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/cteklib/ctekpoly.c'\"
else
echo shar: Extracting \"'Tek_device/cteklib/ctekpoly.c'\" \(1494 characters\)
sed "s/^X//" >'Tek_device/cteklib/ctekpoly.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/ctekpoly.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 * Polygon routines.
X * Shading option is handled at higher level, since these routines produce
X * filled polygons.
X * Uses draw_border set by termcolor().
X */
X/*
X * JAD ----
X * Since VPLOT will always draw the border, always have it set to NO!
X */
X#include <stdio.h>
X#include "ctek.h"
X#include "../include/enum.h"
extern FILE *pltout;
X
extern int draw_border;
int poly_started;
X
ctekstartpoly (npts)
X int npts;
X{
X poly_started = NO;
X}
X
ctekmidpoly (x, y)
X int x, y;
X{
X
X if (!poly_started)
X {
X cteksetmode (TEK);
X fprintf (pltout, "%cLP", ESC);
X ctekxypack (x, y);
X tekipack (draw_border);
X cteksetmode (VECTOR);
X poly_started = YES;
X }
X else
X ctekxypack (x, y);
X}
X
ctekendpoly (last)
X int last;
X{
X if (!last)
X poly_started = NO;
X else
X {
X cteksetmode (TEK);
X fprintf (pltout, "%cLE", ESC);
X }
X}
END_OF_FILE
if test 1494 -ne `wc -c <'Tek_device/cteklib/ctekpoly.c'`; then
echo shar: \"'Tek_device/cteklib/ctekpoly.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/cteklib/ctekpoly.c'
fi
if test -f 'Tek_device/teklib/tekmessage.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Tek_device/teklib/tekmessage.c'\"
else
echo shar: Extracting \"'Tek_device/teklib/tekmessage.c'\" \(1441 characters\)
sed "s/^X//" >'Tek_device/teklib/tekmessage.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/tekmessage.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 dependent subroutine to handle message operations
X */
X#include <stdio.h>
X#include "tek.h"
X#include "../include/mesgcom.h"
X#include "../include/enum.h"
extern FILE *pltout;
X
int messagecount = 0;
X
tekmessage (command, string)
X int command;
X char string[];
X{
register int i;
X
X switch (command)
X {
X case MESG_HOME:
X case MESG_READY:
X setmode (VECTOR);
X tekxypack (0, 773);
X setmode (ALPHA);
X for (i = messagecount; i > 0; i--)
X fprintf (pltout, "\n");
X lost = YES;
X fflush (pltout);
X break;
X case MESG_TEXT:
X fprintf (pltout, "%s", string);
X messagecount++;
X lost = YES;
X break;
X case MESG_ON:
X case MESG_OFF:
X case MESG_ERASE:
X case MESG_HIGHLIGHT_ON:
X case MESG_HIGHLIGHT_OFF:
X case MESG_DONE:
X default:
X fflush (pltout);
X break;
X }
X}
END_OF_FILE
if test 1441 -ne `wc -c <'Tek_device/teklib/tekmessage.c'`; then
echo shar: \"'Tek_device/teklib/tekmessage.c'\" unpacked with wrong size!
fi
# end of 'Tek_device/teklib/tekmessage.c'
fi
if test -f 'Virtual_device/raslib/known_bugs' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/raslib/known_bugs'\"
else
echo shar: Extracting \"'Virtual_device/raslib/known_bugs'\" \(1354 characters\)
sed "s/^X//" >'Virtual_device/raslib/known_bugs' <<'END_OF_FILE'
This pen filter is for a generic color raster device.
Raster on it is horribly inefficient, as all I did was
grab a routine to rasterize a line and then pile up all
the generic routines possible on top of that.
Hence Raster gets turned into vectors by genraster,
and then the vectors get rasterized again by rasvector.
Ug! Absurd!
Obviously "rasraster" should be written, but what I've
got here works and I'm too lazy to make it more efficient.
X
The non-SEPlib version, "raspen", is not used at SEP. The non-SEP
version does work, however. If you don't have "Movie" and SEPlib
available, you will probably want to remove the obnoxious message
in rasclose.c telling you to only use the SEPlib version of the
program.
X
The SEP version of the program bypasses the normal SEPlib handling
of output. This is necessary because Raspen needs to putch n3 onto
the output header and can't know what it is going to be until after
it has processed all of the incoming vplot. The bad effect of this is
that if you use pipes you are likely to be left with undeleted
temporary files. It does use the standard SEPlib conventions for
finding the datapath and file name prefix when making a data file, though.
The incoming history is lost, however. This is often not a bad thing
as usually all of the getpar parameters to be found in it are junk at best.
X
X- Joe Dellinger
END_OF_FILE
if test 1354 -ne `wc -c <'Virtual_device/raslib/known_bugs'`; then
echo shar: \"'Virtual_device/raslib/known_bugs'\" unpacked with wrong size!
fi
# end of 'Virtual_device/raslib/known_bugs'
fi
if test -f 'Virtual_device/raslib/raserase.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/raslib/raserase.c'\"
else
echo shar: Extracting \"'Virtual_device/raslib/raserase.c'\" \(1456 characters\)
sed "s/^X//" >'Virtual_device/raslib/raserase.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/raslib/raserase.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 "../include/erasecom.h"
X#include "../include/enum.h"
X#include "../include/err.h"
X#include "../include/extern.h"
X#include "raspen.h"
extern FILE *pltout;
extern int zap ();
X
raserase (command)
X int command;
X{
X
X switch (command)
X {
X case ERASE_START:
X default:
X break;
X case ERASE_MIDDLE:
X case ERASE_END:
X/*
X * Output raster file, and then CLEAR it out (erase)
X */
X if (write (fileno (pltout), image, dev_xmax * dev_ymax) != dev_xmax * dev_ymax)
X {
X ERR (FATAL, name, "Can't write raster image\n");
X }
X zap ();
X break;
X case ERASE_BREAK:
X/*
X * Output raster file, but don't CLEAR it!
X */
X if (write (fileno (pltout), image, dev_xmax * dev_ymax) != dev_xmax * dev_ymax)
X {
X ERR (FATAL, name, "Can't write raster image\n");
X }
X break;
X }
X}
END_OF_FILE
if test 1456 -ne `wc -c <'Virtual_device/raslib/raserase.c'`; then
echo shar: \"'Virtual_device/raslib/raserase.c'\" unpacked with wrong size!
fi
# end of 'Virtual_device/raslib/raserase.c'
fi
if test -f 'Virtual_device/vplib/vppoly.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Virtual_device/vplib/vppoly.c'\"
else
echo shar: Extracting \"'Virtual_device/vplib/vppoly.c'\" \(1525 characters\)
sed "s/^X//" >'Virtual_device/vplib/vppoly.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/vppoly.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 <stdio.h>
X#include <vplot.h>
X#include "../include/extern.h"
X#include "../include/pat.h"
X#include "../include/enum.h"
X#include "vp.h"
X
static float *xp;
static float *yp;
static int vnpts;
X
vpstartpoly (npts)
X int npts;
X{
X vpsetflag = NO;
X lost = YES;
X vnpts = 0;
X
X xp = (float *) malloc ((unsigned) (npts * sizeof (float)));
X yp = (float *) malloc ((unsigned) (npts * sizeof (float)));
X}
X
vpmidpoly (x, y)
X int x, y;
X{
X xp[vnpts] = (float) (x) / RPERIN;
X yp[vnpts] = (float) (y) / RPERIN;
X vnpts++;
X}
X
vpendpoly (last)
X int last;
X{
X if (ipat == 0)
X {
X vp_area (xp, yp, vnpts, -1, pat[ipat].xdim_orig, pat[ipat].ydim_orig);
X }
X else
X {
X
X if (ipat - 1 != vpcolor)
X vp_color (ipat - 1);
X
X vp_fill (xp, yp, vnpts);
X
X if (ipat - 1 != vpcolor)
X vp_color (vpcolor);
X
X }
X
X free ((char *) xp);
X free ((char *) yp);
X}
END_OF_FILE
if test 1525 -ne `wc -c <'Virtual_device/vplib/vppoly.c'`; then
echo shar: \"'Virtual_device/vplib/vppoly.c'\" unpacked with wrong size!
fi
# end of 'Virtual_device/vplib/vppoly.c'
fi
if test -f 'Vplot_Kernel/filters/Tests/TEST_greycol' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/Tests/TEST_greycol'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/Tests/TEST_greycol'\" \(1488 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/Tests/TEST_greycol' <<'END_OF_FILE'
X#plas: Vplot units used in this file
e
S s
w -32760 -32760 32760 32760
c 7
f 0
s 0
F 0 0 0
J 0 0
w -32760 -32760 8190 32760
z
Test mapping of colors to grey levels for raster
z
X
C 0 0 0 0
C 1 0 0 255
C 2 255 0 0
C 3 255 0 255
C 4 0 255 0
C 5 0 255 255
C 6 255 255 0
C 7 255 255 255
C 8 0 0 0
C 9 37 37 37
C 10 73 73 73
C 11 110 110 110
C 12 146 146 146
C 13 183 183 183
C 14 219 219 219
C 15 255 255 255
R 0 0
X0 0
X5999 5999
X2 8
X 1 ------ lines 0 to 0
X1 2 -- start byte 0 in y_line 0
X0
X8
X 1 ------ lines 1 to 1
X1 2 -- start byte 0 in y_line 1
X1
X9
X 1 ------ lines 2 to 2
X1 2 -- start byte 0 in y_line 2
X2
X10
X 1 ------ lines 3 to 3
X1 2 -- start byte 0 in y_line 3
X3
X11
X 1 ------ lines 4 to 4
X1 2 -- start byte 0 in y_line 4
X4
X12
X 1 ------ lines 5 to 5
X1 2 -- start byte 0 in y_line 5
X5
X13
X 1 ------ lines 6 to 6
X1 2 -- start byte 0 in y_line 6
X6
X14
X 1 ------ lines 7 to 7
X1 2 -- start byte 0 in y_line 7
X7
X15
f 6
m 0 0
d 0 6000
d 6000 6000
d 6000 0
d 0 0
z
X
z
Different colors map onto different levels of Grey.
z
The bars should be horizontal, subdivided into left and right halves,
z
color on the left, grey on the right.
z
On a black-and-white device, both halves of each bar
z
should be the same shade of grey.
z
The colors should be ordered from top to bottom
z
Black, Blue, Red, Magenta, Green, Cyan, Yellow, White.
z
Blue is the darkest primary, Red is intermediate, and Green is brightest.
z
This is how Black and White TV's do it.
z
X
END_OF_FILE
if test 1488 -ne `wc -c <'Vplot_Kernel/filters/Tests/TEST_greycol'`; then
echo shar: \"'Vplot_Kernel/filters/Tests/TEST_greycol'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/Tests/TEST_greycol'
fi
if test -f 'Vplot_Kernel/filters/Tests/TEST_size' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/Tests/TEST_size'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/Tests/TEST_size'\" \(1419 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/Tests/TEST_size' <<'END_OF_FILE'
e
S a
z
Test of absolute scaling.
z
X
z
The grid lines should be exactly one inch apart.
z
The two very fat white lines should each be one inch wide,
z
exactly filling the space between the adjacent grid lines.
z
The thinner vertical white line should be 1/10th of an inch wide.
z
The letter `A' in "A!g" should be exactly one inch tall in all orientations.
z
The red dashed lines should be on for half an inch, and then off for the same.
z
Each vertical red dash should start at the end of a horizontal red dash.
z
The yellow single `A' should be one inch high.
z
It should exactly span the gap between adjacent grid lines.
z
X
c 7
f 200
m 1500 600
d 1500 3000
f 0
c 0
m 1200 1200
d 1800 1800
c 7
f 20
m 2700 0
d 2700 6000
f 10
J 2 3
m 3900 3900
T 33 0
A!g
m 3300 2700
T 33 -90
A!g
m 4200 600
T 33 30
A!g
c 6
M 1 65 33
X4800 300
M 1 2 33
X300 300
M 1 3 33
X900 300
M 1 5 33
X1500 300
M 1 4 33
X2100 300
c 7
f 200
m 600 1500
d 4200 1500
f 0
c 5
m 0 0
d 0 6000
m 600 0
d 600 6000
m 1200 0
d 1200 6000
m 1800 0
d 1800 6000
m 2400 0
d 2400 6000
m 3000 0
d 3000 6000
m 3600 0
d 3600 6000
m 4200 0
d 4200 6000
m 4800 0
d 4800 6000
m 5400 0
d 5400 6000
m 6000 0
d 6000 6000
s 1
X300 300
c 2
m 0 0
d 6000 0
m 0 600
d 6000 600
m 0 1200
d 6000 1200
m 0 1800
d 6000 1800
m 0 2400
d 6000 2400
m 0 3000
d 6000 3000
m 0 3600
d 6000 3600
m 0 4200
d 6000 4200
m 0 4800
d 6000 4800
m 0 5400
d 6000 5400
m 0 6000
d 6000 6000
m 300 0
d 300 6000
END_OF_FILE
if test 1419 -ne `wc -c <'Vplot_Kernel/filters/Tests/TEST_size'`; then
echo shar: \"'Vplot_Kernel/filters/Tests/TEST_size'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/Tests/TEST_size'
fi
if test -f 'Vplot_Kernel/filters/Tests/TEST_text' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/Tests/TEST_text'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/Tests/TEST_text'\" \(1331 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/Tests/TEST_text' <<'END_OF_FILE'
e
S s
z
Test of text
z
X
F -1 2 0
c 1
m 1700 3400
d 1700 4000
m 600 600
d 600 3000
c 7
J 0 0
m 600 600
G 1000 0 1000 1000
Tilted 45 degrees,
G 1000 0 0 2000
X Tall,
G 1000 0 0 -1000
X upside down,
G 100 0 0 100
X Ridiculously and Absurdly Small,
G 2000 0 0 1000
X and Wide.
m 600 1200
T 10 0
X\s80 This li
T 10 0
X\s80 ne should b
T 10 0
X\s80 e continuous.
c 4
m 600 1800
T 15 0
X[\\]^_`\s40 Ligatures: ffifllfli!
z
Each text command should leave the current position such that the next
z
text command will correctly continue where the last left off.
z
There should be a line saying "This line should be continuous."
z
X
m 600 2300
T 8 8
Angle u
c 5
T 8 0
p, then fl
c 6
T 8 -6
at then down a bit-
T 7 -45
X- wh
T 6 -50
oops,
T 5 -60
off
T 4 -70
the
T 3 -80
edg
T 2 -90
e!
c 7
m 600 3000
J 0 3
T 25 0
X{|}~
f 15
m 4000 3000
d 4000 3000
f 0
J 0 0
T 4 0
X\F1 =Normal=
J 3 4
f 15
m 4000 3000
d 4000 3000
f 0
z
X
z
The words "Right Cap" should have an error glyph in the space between them.
T 8 0
RightCap
z
Attempting to use that glyph should have just generated an error message.
J 2 3
f 15
m 3000 3600
d 3000 3600
f 0
T 5 90
X=Center=
f 1
J 4 6
m 1700 3400
T 10 0
X6.\m0 4\s60 83\s40 3\s100 94\M0
m 1700 3800
T 3 0
XX
m 1700 4000
T 8 0
x\^x\_x.\m0 iii\M0
m 1700 3654
T 4 4
X\^D\_o\_t\_s\^\^ are \s200 all \s150 aligned,\m0 No matter what!\M0
END_OF_FILE
echo shar: 1 control character may be missing from \"'Vplot_Kernel/filters/Tests/TEST_text'\"
if test 1331 -ne `wc -c <'Vplot_Kernel/filters/Tests/TEST_text'`; then
echo shar: \"'Vplot_Kernel/filters/Tests/TEST_text'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/Tests/TEST_text'
fi
if test -f 'Vplot_Kernel/filters/Tests/makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/Tests/makefile'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/Tests/makefile'\" \(1332 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/Tests/makefile' <<'END_OF_FILE'
TUBE = ../rpen size=r
LVPLOT = ../../lvplot/libvplot.a
FC = f77
X
none:
X @echo "one of:"
X @echo "vppen vppen2 rastest ellipse libvplot_example polytest"
X @echo "[cf]texttest markertest ufilltest Font"
X
vppen:
X plas < TEST_erase > out.vp
X ../vppen out.vp gridnum=4 frame=y | $(TUBE)
X rm out.vp
X
vppen2:
X cat TEST_aspect_ratio DEMO_Graph TEST_colors DEMO_Tectonics DEMO_Texas TEST_align TEST_clipping DEMO_Graph TEST_aspect_ratio | plas > out.vp
X ../vppen out.vp gridnum=3 | $(TUBE)
X rm out.vp
X
Font:
X cc -o Font Font.c
X
rastest:
X cc -g rastest.c $(LVPLOT) -lm -o rastest
X rastest | $(TUBE)
X rm rastest
X
ctexttest:
X cc -g texttest.c $(LVPLOT) -lm -o texttest
X texttest | $(TUBE)
X rm texttest
X
ftexttest:
X $(FC) -g texttest.f $(LVPLOT) -lm -o texttest
X texttest
X $(TUBE) < out.vp
X rm texttest out.vp
X
polytest:
X cc -g polytest.c $(LVPLOT) -lm -o polytest
X polytest | $(TUBE)
X rm polytest
X
markertest:
X $(FC) -g markertest.f $(LVPLOT) -lm -o markertest
X markertest
X $(TUBE) < out.vp
X rm markertest out.vp
X
ufilltest:
X cc -g ufilltest.c $(LVPLOT) -lm -o ufilltest
X ufilltest | $(TUBE)
X rm ufilltest
X
ellipse:
X $(FC) -g ellips.f $(LVPLOT) -o ell
X ell
X $(TUBE) < f.vp frame=y
X rm ell f.vp
X
libvplot_example:
X cc -g libvplot_example.c $(LVPLOT) -lm -o libvplot_example
X libvplot_example < libvplot_example.dat | $(TUBE)
X rm libvplot_example
END_OF_FILE
if test 1332 -ne `wc -c <'Vplot_Kernel/filters/Tests/makefile'`; then
echo shar: \"'Vplot_Kernel/filters/Tests/makefile'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/Tests/makefile'
fi
if test -f 'Vplot_Kernel/filters/loclib/alloc.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/loclib/alloc.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/loclib/alloc.c'\" \(1344 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/loclib/alloc.c' <<'END_OF_FILE'
X/*
X * allocation with error detection
X *
X * modified 1/26/83 S. Levin : added unsigned coersion to agree with malloc(3)
X * changed to NULL instead of 0
X * modified 3/19/83 S. Levin : keep internal 1024 byte block for small request
X * include source for malloc inline to block missing
X * cfree() linkage references.
X * modified 2/7/84 S. Levin : deleted calloc() call to reduce paging -- no
X * longer is memory necessarily zeroed out of alloc.
X *
X * In order to allocate an array of floating point numbers, use
X * the following command in the calling routine:
X *
X * float *x;
X * x = (float *) alloc(nx*sizeof(float));
X *
X * nx is the number of elements needed in the array.
X */
X#include <stdio.h>
X#define SMALLBLOCK -1
char *alloc (size)
int size;
X{
X static char *myblock = NULL; static int bytesleft = 0;
X char *ptr; extern char *malloc();
X
X if(size > SMALLBLOCK)
X {
X if ((ptr = malloc ((unsigned)size)) == NULL)
X err ("can't allocate %d bytes\n",size);
X return (ptr);
X }
X else
X {
X if(bytesleft < size)
X {
X if ((myblock = malloc ((unsigned)SMALLBLOCK)) == NULL)
X err ("can't allocate %d bytes\n",size);
X bytesleft = SMALLBLOCK - size;
X }
X else
X {
X bytesleft -= size;
X }
X ptr = myblock;
X myblock += size;
X return(ptr);
X }
X}
END_OF_FILE
if test 1344 -ne `wc -c <'Vplot_Kernel/filters/loclib/alloc.c'`; then
echo shar: \"'Vplot_Kernel/filters/loclib/alloc.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/loclib/alloc.c'
fi
if test -f 'Vplot_Kernel/filters/utilities/intersect.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/utilities/intersect.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/utilities/intersect.c'\" \(1386 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/utilities/intersect.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/intersect.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 "../include/vertex.h"
X
X
intersect (x, crosses, head, scany)
X register int x;
X register int *crosses;
X struct vertex *head;
X int scany;
X{
register struct vertex *v;
int ncross, y;
X
X ncross = 0;
X v = head;
X if (scany)
X {
X do
X {
X if (v->y > x && v->last->y > x)
X continue;
X if (v->y < x && v->last->y < x)
X continue;
X
X y = solve (x, v->y, v->x, v->last->y, v->last->x);
X crosses[ncross++] = y;
X } while ((v = v->next) != head);
X }
X else
X {
X do
X {
X if (v->x > x && v->last->x > x)
X continue;
X if (v->x < x && v->last->x < x)
X continue;
X
X y = solve (x, v->x, v->y, v->last->x, v->last->y);
X crosses[ncross++] = y;
X } while ((v = v->next) != head);
X }
X return (ncross);
X}
END_OF_FILE
if test 1386 -ne `wc -c <'Vplot_Kernel/filters/utilities/intersect.c'`; then
echo shar: \"'Vplot_Kernel/filters/utilities/intersect.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/utilities/intersect.c'
fi
if test -f 'Vplot_Kernel/filters/utilities/vecoutline.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/filters/utilities/vecoutline.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/filters/utilities/vecoutline.c'\" \(1439 characters\)
sed "s/^X//" >'Vplot_Kernel/filters/utilities/vecoutline.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/vecoutline.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/params.h"
X#include "../include/pat.h"
X#include "../include/vertex.h"
X#include "../include/extern.h"
X
vecoutline (head)
X struct vertex *head;
X{
X /*
X * Draw the outline of the polygon pointed to by 'head'. If any side of
X * the polygon is identical to any other (that is they have identical
X * endpoints), then neither line is drawn. This allows among things a
X * doughnut to be defined by a single polygon without the line that
X * connects the inner and outer being plotted.
X */
register int xlast, ylast;
register struct vertex *v;
X
X xlast = head->last->x;
X ylast = head->last->y;
X v = head;
X do
X {
X if (!dupside (v))
X dev.vector (v->x, v->y, xlast, ylast, afat, 0);
X xlast = v->x;
X ylast = v->y;
X } while ((v = v->next) != head);
X}
END_OF_FILE
if test 1439 -ne `wc -c <'Vplot_Kernel/filters/utilities/vecoutline.c'`; then
echo shar: \"'Vplot_Kernel/filters/utilities/vecoutline.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/filters/utilities/vecoutline.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_bgroup.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_bgroup.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_bgroup.c'\" \(1412 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_bgroup.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_bgroup.c
X *
X * Joe Dellinger (SEP), Feb 27 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 <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define BGROUP vpwbgroup_
X
X#else
X
X#define BGROUP vp_bgroup
X
X#endif
X
X#ifdef FORTRAN
BGROUP (string, nchars)
X#else
BGROUP (string)
X#endif
X char *string;
X#ifdef FORTRAN
X int *nchars;
X#endif
X{
X#ifdef FORTRAN
int i, length;
X#endif
X
X putc (VP_BEGIN_GROUP, vp_pc._pltout);
X
X#ifdef FORTRAN
X/*
X * Try to still work even if they didn't specify nchars.
X */
X length = 80;
X if (nchars != NULL)
X {
X if (*nchars >= 0)
X length = *nchars;
X }
X
X for (i = 0; i < length; i++)
X {
X if (*(string + i) == '\0')
X break;
X putc (*(string + i), vp_pc._pltout);
X }
X putc ('\0', vp_pc._pltout);
X#else FORTRAN
X do
X {
X putc (*string, vp_pc._pltout);
X }
X while (*string++);
X#endif FORTRAN
X}
END_OF_FILE
if test 1412 -ne `wc -c <'Vplot_Kernel/lvplot/vp_bgroup.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_bgroup.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_bgroup.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_coltab.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_coltab.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_coltab.c'\" \(1375 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_coltab.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_coltab.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
X#include <vplot.h>
X#undef RED
X#undef BLUE
X#undef GREEN
X#include "params.h"
X#include "round.h"
X
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define COLTAB vpcoltab_
X#define COLOR *color
X#define RED *red
X#define GREEN *green
X#define BLUE *blue
X
X#else
X
X#define COLTAB vp_coltab
X#define COLOR color
X#define RED red
X#define GREEN green
X#define BLUE blue
X
X#endif
X
COLTAB (color, red, green, blue)
X int COLOR;
X float RED, GREEN, BLUE;
X{
int c, r, g, b;
X c = COLOR;
X r = ROUND (RED * MAX_GUN);
X g = ROUND (GREEN * MAX_GUN);
X b = ROUND (BLUE * MAX_GUN);
X
X putc (VP_SET_COLOR_TABLE, vp_pc._pltout);
X puth (c, vp_pc._pltout);
X puth (r, vp_pc._pltout);
X puth (g, vp_pc._pltout);
X puth (b, vp_pc._pltout);
X}
END_OF_FILE
if test 1375 -ne `wc -c <'Vplot_Kernel/lvplot/vp_coltab.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_coltab.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_coltab.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_dash.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_dash.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_dash.c'\" \(1355 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_dash.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_dash.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 DASH vpdash_
X#define DASH1 *dash1
X#define GAP1 *gap1
X#define DASH2 *dash2
X#define GAP2 *gap2
X
X#else
X
X#define DASH vp_dash
X#define DASH1 dash1
X#define GAP1 gap1
X#define DASH2 dash2
X#define GAP2 gap2
X
X#endif
X
DASH (dash1, gap1, dash2, gap2)
X float DASH1, GAP1, DASH2, GAP2;
X{
X if (DASH1 < 0. || GAP1 < 0. || DASH2 < 0. || GAP2 < 0.)
X {
X vp_pc._dashon = 0;
X return;
X }
X vp_pc._ddef[0] = DASH1;
X vp_pc._ddef[1] = vp_pc._ddef[0] + GAP1;
X vp_pc._ddef[2] = vp_pc._ddef[1] + DASH2;
X vp_pc._ddef[3] = vp_pc._ddef[2] + GAP2;
X if (vp_pc._ddef[3] <= 0.)
X {
X vp_pc._dashon = 0;
X return;
X }
X vp_pc._dashon = 1;
X vp_pc._dpos = 0.0;
X return;
X}
END_OF_FILE
if test 1355 -ne `wc -c <'Vplot_Kernel/lvplot/vp_dash.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_dash.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_dash.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_hatchload.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_hatchload.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_hatchload.c'\" \(1440 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_hatchload.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_hatchload.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 HATCHLOAD vphatchload_
X#define ANGLE *angle
X#define NUMHATCH *numhatch
X#define IHATCH *ihatch
X
X#else
X
X#define HATCHLOAD vp_hatchload
X#define ANGLE angle
X#define NUMHATCH numhatch
X#define IHATCH ihatch
X
X#endif
X
HATCHLOAD (angle, numhatch, ihatch, hatcharray)
X int ANGLE, NUMHATCH, IHATCH;
X int *hatcharray;
X{
int c;
int ii;
X
X putc (VP_PATLOAD, vp_pc._pltout);
X c = ANGLE;
X puth (c, vp_pc._pltout);
X c = -1;
X puth (c, vp_pc._pltout);
X c = NUMHATCH;
X puth (c, vp_pc._pltout);
X c = IHATCH;
X puth (c, vp_pc._pltout);
X
X for (ii = 0; ii < 2 * 4 * NUMHATCH; ii++)
X {
X c = hatcharray[ii];
X if (ii % 4 > 1)
X c *= RPERIN / HATCHPERIN;
X puth (c, vp_pc._pltout);
X }
X}
END_OF_FILE
if test 1440 -ne `wc -c <'Vplot_Kernel/lvplot/vp_hatchload.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_hatchload.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_hatchload.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_message.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_message.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_message.c'\" \(1402 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_message.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_message.c
X *
X * Joe Dellinger (SEP), Jan 8 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 <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define TEXT vpwmessage_
X
X#else
X
X#define TEXT vp_message
X
X#endif
X
X#ifdef FORTRAN
TEXT (string, nchars)
X#else
TEXT (string)
X#endif
X char *string;
X#ifdef FORTRAN
X int *nchars;
X#endif
X{
X#ifdef FORTRAN
int i, length;
X#endif
X
X putc (VP_MESSAGE, vp_pc._pltout);
X
X#ifdef FORTRAN
X/*
X * Try to still work even if they didn't specify nchars.
X */
X length = 80;
X if (nchars != NULL)
X {
X if (*nchars >= 0)
X length = *nchars;
X }
X
X for (i = 0; i < length; i++)
X {
X if (*(string + i) == '\0')
X break;
X putc (*(string + i), vp_pc._pltout);
X }
X putc ('\0', vp_pc._pltout);
X#else FORTRAN
X do
X {
X putc (*string, vp_pc._pltout);
X }
X while (*string++);
X#endif FORTRAN
X}
END_OF_FILE
if test 1402 -ne `wc -c <'Vplot_Kernel/lvplot/vp_message.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_message.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_message.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_patload.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_patload.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_patload.c'\" \(1338 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_patload.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_patload.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 PATLOAD vppatload_
X#define PPI *ppi
X#define NX *nx
X#define NY *ny
X#define IPAT *ipat
X
X#else
X
X#define PATLOAD vp_patload
X#define PPI ppi
X#define NX nx
X#define NY ny
X#define IPAT ipat
X
X#endif
X
PATLOAD (ppi, nx, ny, ipat, colarray)
X int PPI, NX, NY, IPAT;
X int *colarray;
X{
int c;
int ii;
X
X putc (VP_PATLOAD, vp_pc._pltout);
X c = PPI;
X puth (c, vp_pc._pltout);
X c = NX;
X puth (c, vp_pc._pltout);
X c = NY;
X puth (c, vp_pc._pltout);
X c = IPAT;
X puth (c, vp_pc._pltout);
X
X for (ii = 0; ii < NX * NY; ii++)
X {
X c = colarray[ii];
X puth (c, vp_pc._pltout);
X }
X}
END_OF_FILE
if test 1338 -ne `wc -c <'Vplot_Kernel/lvplot/vp_patload.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_patload.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_patload.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_setdash.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_setdash.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_setdash.c'\" \(1394 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_setdash.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_setdash.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 Jan 14 1988
X * Do rounding.
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "round.h"
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define SETDASH vpsetdash_
X#define LP *lp
X#define DASHP dashp2
X#define GAPP gapp2
X
X#else
X
X#define SETDASH vp_setdash
X#define LP lp
X#define DASHP dashp
X#define GAPP gapp
X
X#endif
X
SETDASH (dashp, gapp, lp)
X float *dashp, *gapp;
X int LP;
X{
int i;
int ix, iy;
X
X#ifdef FORTRAN
register float *dashp2, *gapp2;
X dashp2 = dashp;
X gapp2 = gapp;
X#endif FORTRAN
X
X putc (VP_SETDASH, vp_pc._pltout);
X puth (LP, vp_pc._pltout);
X for (i = 0; i < LP; i++)
X {
X ix = ROUND ((*DASHP) * RPERIN);
X iy = ROUND ((*GAPP) * RPERIN);
X DASHP++;
X GAPP++;
X puth (ix, vp_pc._pltout);
X puth (iy, vp_pc._pltout);
X }
X}
END_OF_FILE
if test 1394 -ne `wc -c <'Vplot_Kernel/lvplot/vp_setdash.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_setdash.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_setdash.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_tfont.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_tfont.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_tfont.c'\" \(1335 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_tfont.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_tfont.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 7 1987
X * If they call vp_tfont, just write out the vplot command.
X * Don't bother trying to second guess them! It's only
X * asking for trouble.
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define FONT *font
X#define PREC *prec
X#define OVLY *ovly
X#define TFONT vptfont_
X
X#else
X
X#define FONT font
X#define PREC prec
X#define OVLY ovly
X#define TFONT vp_tfont
X
X#endif
X
TFONT (font, prec, ovly)
X int FONT, PREC, OVLY;
X{
X vp_pc._font = FONT;
X vp_pc._prec = PREC;
X vp_pc._ovly = OVLY;
X
X putc (VP_TXFONTPREC, vp_pc._pltout);
X puth (vp_pc._font, vp_pc._pltout);
X puth (vp_pc._prec, vp_pc._pltout);
X puth (vp_pc._ovly, vp_pc._pltout);
X
X return;
X}
END_OF_FILE
if test 1335 -ne `wc -c <'Vplot_Kernel/lvplot/vp_tfont.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_tfont.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_tfont.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_uclip.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_uclip.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_uclip.c'\" \(1483 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_uclip.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_uclip.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 UCLIP vpuclip_
X#define CLIP vpclip_
X#define XMIN *xmin
X#define YMIN *ymin
X#define XMAX *xmax
X#define YMAX *ymax
X#define XPMIN &xpmin
X#define YPMIN &ypmin
X#define XPMAX &xpmax
X#define YPMAX &ypmax
X
X#else
X
X#define UCLIP vp_uclip
X#define CLIP vp_clip
X#define XMIN xmin
X#define YMIN ymin
X#define XMAX xmax
X#define YMAX ymax
X#define XPMIN xpmin
X#define YPMIN ypmin
X#define XPMAX xpmax
X#define YPMAX ypmax
X
X#endif
X
UCLIP (xmin, ymin, xmax, ymax)
X float XMIN, YMIN, XMAX, YMAX;
X{
float xpmin, ypmin, xpmax, ypmax;
X xpmin = vp_pc._x0 + (XMIN - vp_pc._xu0) * vp_pc._xscl;
X ypmin = vp_pc._y0 + (YMIN - vp_pc._yu0) * vp_pc._yscl;
X xpmax = vp_pc._x0 + (XMAX - vp_pc._xu0) * vp_pc._xscl;
X ypmax = vp_pc._y0 + (YMAX - vp_pc._yu0) * vp_pc._yscl;
X CLIP (XPMIN, YPMIN, XPMAX, YPMAX);
X}
END_OF_FILE
if test 1483 -ne `wc -c <'Vplot_Kernel/lvplot/vp_uclip.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_uclip.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_uclip.c'
fi
if test -f 'Vplot_Kernel/lvplot/vp_utext.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Vplot_Kernel/lvplot/vp_utext.c'\"
else
echo shar: Extracting \"'Vplot_Kernel/lvplot/vp_utext.c'\" \(1554 characters\)
sed "s/^X//" >'Vplot_Kernel/lvplot/vp_utext.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_utext.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 * Joe Dellinger, Oct 17, 1987
X * Made Fortran and C calling arguments match.
X */
X
X#include <stdio.h>
X#include <vplot.h>
X#include "vp_pc.h"
X
X#ifdef FORTRAN
X
X#define UTEXT vpwutext_
X#define TEXT vpwtext_
X#define X *x
X#define Y *y
X#define SIZE *size
X#define ORIENT *orient
X#define XP &xp
X#define YP &yp
X
X#else
X
X#define UTEXT vp_utext
X#define TEXT vp_text
X#define X x
X#define Y y
X#define SIZE size
X#define ORIENT orient
X#define XP xp
X#define YP yp
X
X#endif
X
X#ifdef FORTRAN
UTEXT (x, y, size, orient, string, nchars)
X#else
UTEXT (x, y, size, orient, string)
X#endif
X float X, Y;
X int SIZE, ORIENT;
X char *string;
X#ifdef FORTRAN
X int *nchars;
X#endif
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#ifdef FORTRAN
X TEXT (XP, YP, size, orient, string, nchars);
X#else
X TEXT (XP, YP, size, orient, string);
X#endif
X}
END_OF_FILE
if test 1554 -ne `wc -c <'Vplot_Kernel/lvplot/vp_utext.c'`; then
echo shar: \"'Vplot_Kernel/lvplot/vp_utext.c'\" unpacked with wrong size!
fi
# end of 'Vplot_Kernel/lvplot/vp_utext.c'
fi
echo shar: End of archive 6 \(of 24\).
cp /dev/null ark6isdone
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