home *** CD-ROM | disk | FTP | other *** search
- /* :set tabstops=4 */
- static char *RCSid = "$Header: global.c,v 1.1 86/04/20 16:16:41 sysad Exp $";
-
- /*
- * $Log: global.c,v $
- * Revision 1.1 86/04/20 16:16:41 sysad
- * Initial distribution version
- *
- *
- */
-
-
- /* It is the intent of the author that this software may be distributed
- * and used freely, without restriction. If you make improvements or
- * enhancements, I would appreciate a copy.
- *
- * Duane H. Hesser Teltone Corporation
- * ....uw-beaver!tikal!sysad
- * ....uw-beaver!tikal!dhh
- */
-
- #include "defs.h"
- #include "io.h"
-
- /* This is the output array; it should be big enough for the largest
- * "raster" which will be used (currently the full size of an 11 x 13.2
- * inch line printer page).
- */
- char Row[YDOTS][XARRAYSIZE];
- #ifndef QUICKPLOT
- /* These are the bits which are or'ed into the output array to acivate
- * the appropriate hammers.
- */
- char BIT[] = {
- '\001','\002','\004','\010','\020','\040','\100','\0'
- };
- #else
- char plotchar = PLOTCHAR;
- int autowrap = 0; /* does the terminal auto-wrap at eol? */
- #endif
-
- /* Initially, we map everything into an 8 inch square for lplot,
- * or into a 132 wide x 66 line "screen" for quickplot. The 8 inch
- * square for lplot is consistent with scaling for things like
- * "vplot" which plot onto an 8 1/2 x 11 inch page.
- * The values initialized may be changed (within array size limits
- * by program arguments, and will take effect at the first space()
- * call.
- */
- double spacex = SPACEX;
- double spacey = SPACEY;
-
- /* These are the program units which will map into spacex & spacey
- * after the space() call.
- */
- double xspace,yspace;
-
- /* min and max points mapped into the plotting space by space() */
- double highx_space,highy_space,lowx_space,lowy_space;
-
- /* maximum dots each direction; truncate larger values. */
- int maxrow = YDOTS;
- int maxcol = XDOTS;
- /* maximum x and y values; generally one less than maxrow, maxcol */
- int maxx = MAXX;
- int maxy = MAXY;
-
- /* current coordinates in program units and dots */
- short curx,cury,curxdot,curydot;
-
- double Scalfac = 1.0; /* settable overall scale factor */
- double xfac = 1.0; /* scale factor for x */
- double yfac = 1.0; /* scale factor for y */
- double argxfac = 1.0; /* argument scale factor for x */
- double argyfac = 1.0; /* argument scale factor for y */
- double mapxfac = 1.0; /* final mapping factor for x */
- double mapyfac = 1.0; /* final mapping factor for y */
- double Xmargin = 0.0; /* settable left margin in pixels */
- double Ymargin = 0.0; /* settable bottom margin in pixels */
-
- int Plotdata = 0; /* set when raster is ready to send */
- int Eflag = 0; /* force erase before each plot */
- int Nflag = 0; /* suppress erasing while in effect */
- #ifdef QUICKPLOT
- int linemask = PLOTCHAR; /* solid, dotted, dashed, etc. */
- #else
- int linemask = SOLID; /* solid, dotted, dashed, etc. */
- #endif
-
- char *Name;
- int debug = 0;
-
- #ifndef QUICKPLOT
- int Npages = 0;
- #endif
- int Rotate = 0;
-