Annotation of OpenXM_contrib/gnuplot/term/unixplot.trm, Revision 1.1
1.1 ! maekawa 1: /*
! 2: * $Id: unixplot.trm,v 1.13 1998/04/14 00:18:13 drd Exp $
! 3: *
! 4: */
! 5:
! 6: /* GNUPLOT -- unixplot.trm */
! 7:
! 8: /*[
! 9: * Copyright 1990 - 1993, 1998
! 10: *
! 11: * Permission to use, copy, and distribute this software and its
! 12: * documentation for any purpose with or without fee is hereby granted,
! 13: * provided that the above copyright notice appear in all copies and
! 14: * that both that copyright notice and this permission notice appear
! 15: * in supporting documentation.
! 16: *
! 17: * Permission to modify the software is granted, but not the right to
! 18: * distribute the complete modified source code. Modifications are to
! 19: * be distributed as patches to the released version. Permission to
! 20: * distribute binaries produced by compiling modified sources is granted,
! 21: * provided you
! 22: * 1. distribute the corresponding source modifications from the
! 23: * released version in the form of a patch file along with the binaries,
! 24: * 2. add special version identification to distinguish your version
! 25: * in addition to the base release version number,
! 26: * 3. provide your name and address as the primary contact for the
! 27: * support of your modified version, and
! 28: * 4. retain our contact information in regard to use of the base
! 29: * software.
! 30: * Permission to distribute the released version of the source code along
! 31: * with corresponding source modifications in the form of a patch file is
! 32: * granted with same provisions 2 through 4 for binary distributions.
! 33: *
! 34: * This software is provided "as is" without express or implied warranty
! 35: * to the extent permitted by applicable law.
! 36: ]*/
! 37:
! 38: /*
! 39: * This file is included by ../term.c.
! 40: *
! 41: * This terminal driver supports:
! 42: * Unix plot(5) graphics language
! 43: *
! 44: * AUTHORS
! 45: * Colin Kelley, Thomas Williams, Russell Lang
! 46: *
! 47: * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
! 48: *
! 49: */
! 50:
! 51: /*
! 52: * Unixplot library writes to stdout. A fix was put in place by
! 53: * ..!arizona!naucse!jdc to let set term and set output redirect
! 54: * stdout. All other terminals write to gpoutfile.
! 55: */
! 56:
! 57: /*
! 58: * adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
! 59: */
! 60:
! 61: #include "driver.h"
! 62:
! 63: #ifdef TERM_REGISTER
! 64: register_term(unixplot)
! 65: #endif
! 66:
! 67: #ifdef TERM_PROTO
! 68: TERM_PUBLIC void UP_init __PROTO((void));
! 69: TERM_PUBLIC void UP_graphics __PROTO((void));
! 70: TERM_PUBLIC void UP_text __PROTO((void));
! 71: TERM_PUBLIC void UP_linetype __PROTO((int linetype));
! 72: TERM_PUBLIC void UP_move __PROTO((unsigned int x, unsigned int y));
! 73: TERM_PUBLIC void UP_vector __PROTO((unsigned int x, unsigned int y));
! 74: TERM_PUBLIC void UP_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
! 75: TERM_PUBLIC void UP_reset __PROTO((void));
! 76:
! 77: #define UP_XMAX 4096
! 78: #define UP_YMAX 4096
! 79:
! 80: #define UP_XLAST (UP_XMAX - 1)
! 81: #define UP_YLAST (UP_YMAX - 1)
! 82:
! 83: #define UP_VCHAR (UP_YMAX/30) /* just a guess--no way to know this! */
! 84: #define UP_HCHAR (UP_XMAX/60) /* just a guess--no way to know this! */
! 85: #define UP_VTIC (UP_YMAX/80)
! 86: #define UP_HTIC (UP_XMAX/80)
! 87: #endif /* TERM_PROTO */
! 88:
! 89: #ifndef TERM_PROTO_ONLY
! 90: #ifdef TERM_BODY
! 91:
! 92: TERM_PUBLIC void UP_init()
! 93: {
! 94: openpl();
! 95: space(0, 0, UP_XMAX, UP_YMAX);
! 96: }
! 97:
! 98:
! 99: TERM_PUBLIC void UP_graphics()
! 100: {
! 101: erase();
! 102: }
! 103:
! 104:
! 105: TERM_PUBLIC void UP_text()
! 106: {
! 107: /* empty */
! 108: }
! 109:
! 110:
! 111: TERM_PUBLIC void UP_linetype(linetype)
! 112: int linetype;
! 113: {
! 114: static char *lt[2 + 5] = {"solid", "longdashed", "solid", "dotted",
! 115: "shortdashed", "dotdashed", "longdashed"};
! 116:
! 117: if (linetype >= 5)
! 118: linetype %= 5;
! 119:
! 120: linemod(lt[linetype + 2]);
! 121: }
! 122:
! 123:
! 124: TERM_PUBLIC void UP_move(x, y)
! 125: unsigned int x, y;
! 126: {
! 127: move(x, y);
! 128: }
! 129:
! 130:
! 131: TERM_PUBLIC void UP_vector(x, y)
! 132: unsigned int x, y;
! 133: {
! 134: cont(x, y);
! 135: }
! 136:
! 137:
! 138: TERM_PUBLIC void UP_put_text(x, y, str)
! 139: unsigned int x, y;
! 140: char str[];
! 141: {
! 142: UP_move(x + UP_HCHAR / 2, y + UP_VCHAR / 5);
! 143: label(str);
! 144: }
! 145:
! 146: TERM_PUBLIC void UP_reset()
! 147: {
! 148: closepl();
! 149: }
! 150:
! 151: #endif /* TERM_BODY */
! 152:
! 153: #ifdef TERM_TABLE
! 154: TERM_TABLE_START(unixplot_driver)
! 155: "unixplot", "Unix plotting standard (see plot(1))",
! 156: UP_XMAX, UP_YMAX, UP_VCHAR, UP_HCHAR,
! 157: UP_VTIC, UP_HTIC, options_null, UP_init, UP_reset,
! 158: UP_text, null_scale, UP_graphics, UP_move, UP_vector,
! 159: UP_linetype, UP_put_text, null_text_angle,
! 160: null_justify_text, line_and_point, do_arrow, set_font_null
! 161: TERM_TABLE_END(unixplot_driver)
! 162:
! 163: #undef LAST_TERM
! 164: #define LAST_TERM unixplot_driver
! 165:
! 166: #endif /* TERM_TABLE */
! 167: #endif /* TERM_PROTO_ONLY */
! 168:
! 169: #ifdef TERM_HELP
! 170: START_HELP(unixplot)
! 171: "1 unixplot",
! 172: "?comands set terminal unixplot",
! 173: "?set terminal unixplot",
! 174: "?set term unixplot",
! 175: "?terminal unixplot",
! 176: "?term unixplot",
! 177: "?unixplot",
! 178: " The `unixplot` terminal driver generates output in the Unix \"plot\" graphics",
! 179: " language. It has no options.",
! 180: "",
! 181: " This terminal cannot be compiled if the GNU version of plot is to be used;",
! 182: " in that case, use the `gnugraph` terminal instead."
! 183: END_HELP(unixplot)
! 184: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>