[BACK]Return to v384.trm CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / term

Annotation of OpenXM_contrib/gnuplot/term/v384.trm, Revision 1.1.1.2

1.1       maekawa     1: /*
1.1.1.2 ! maekawa     2:  * $Id: v384.trm,v 1.6 1998/11/25 21:09:00 lhecking Exp $
1.1       maekawa     3:  *
                      4:  */
                      5:
                      6: /* GNUPLOT - v384.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:  *  Vectrix 384 - works with tandy color printer as well
                     43:  *
                     44:  * AUTHORS
                     45:  *   roland@moncskermit.OZ (Roland Yap)
                     46:  *
                     47:  * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
                     48:  *
                     49:  */
                     50:
                     51: /*
                     52:  *     Vectrix 384 driver - works with tandy color printer as well
                     53:  *  in reverse printing 8 color mode.
                     54:  *  This doesn't work on Vectrix 128 because it redefines the
                     55:  *  color table. It can be hacked to work on the 128 by changing
                     56:  *  the colours but then it will probably not print best. The color
                     57:  *  table is purposely designed so that it will print well
                     58:  *
                     59:  */
                     60:
                     61: /*
                     62:  * adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
                     63:  */
                     64:
                     65: #include "driver.h"
                     66:
                     67: #ifdef TERM_REGISTER
                     68: register_term(vx384)
                     69: #endif
                     70:
                     71: #ifdef TERM_PROTO
                     72: TERM_PUBLIC void V384_init __PROTO((void));
                     73: TERM_PUBLIC void V384_graphics __PROTO((void));
                     74: TERM_PUBLIC void V384_text __PROTO((void));
                     75: TERM_PUBLIC void V384_linetype __PROTO((int linetype));
                     76: TERM_PUBLIC void V384_move __PROTO((unsigned int x, unsigned int y));
                     77: TERM_PUBLIC void V384_vector __PROTO((unsigned int x, unsigned int y));
                     78: TERM_PUBLIC void V384_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
                     79: TERM_PUBLIC void V384_reset __PROTO((void));
                     80:
                     81: #define V384_XMAX 630
                     82: #define V384_YMAX 480
                     83:
                     84: #define V384_XLAST (V384_XMAX - 1)
                     85: #define V384_YLAST (V384_YMAX - 1)
                     86:
                     87: #define V384_VCHAR     12
                     88: #define V384_HCHAR     7
                     89: #define V384_VTIC      8
                     90: #define V384_HTIC      7
                     91: #endif /* TERM_PROTO */
                     92:
                     93: #ifndef TERM_PROTO_ONLY
                     94: #ifdef TERM_BODY
                     95:
                     96: TERM_PUBLIC void V384_init()
                     97: {
                     98:     fprintf(gpoutfile, "%c%c  G0   \n\
                     99: Q 0 8\n\
                    100: 0 0 0\n\
                    101: 255 0 0\n\
                    102: 0 255 0\n\
                    103: 0 0 255\n\
                    104: 0 255 255\n\
                    105: 255 0 255\n\
                    106: 255 255 0\n\
                    107: 255 255 255\n",
                    108:            27, 18);
                    109: }
                    110:
                    111:
                    112: TERM_PUBLIC void V384_graphics()
                    113: {
                    114:     fprintf(gpoutfile, "%c%c E0 RE N 65535\n", 27, 18);
                    115: }
                    116:
                    117:
                    118: TERM_PUBLIC void V384_text()
                    119: {
                    120:     fprintf(gpoutfile, "%c%c\n", 27, 17);
                    121: }
                    122:
                    123:
                    124: TERM_PUBLIC void V384_linetype(linetype)
                    125: int linetype;
                    126: {
                    127:     static int color[] =
                    128:     {
                    129:        1 /* red */ ,
                    130:        2 /* green */ ,
                    131:        3 /* blue */ ,
                    132:        4 /* cyan */ ,
                    133:        5 /* magenta */ ,
                    134:        6 /* yellow */ ,        /* not a good color so not in use at the moment */
                    135:        7 /* white */
                    136:     };
                    137:
                    138:     if (linetype < 0)
                    139:        linetype = 6;
                    140:     else
                    141:        linetype %= 5;
                    142:
                    143:     fprintf(gpoutfile, "C %d\n", color[linetype]);
                    144: }
                    145:
                    146:
                    147: TERM_PUBLIC void V384_move(x, y)
                    148: unsigned int x, y;
                    149: {
                    150:     fprintf(gpoutfile, "M %d %d\n", x + 20, y);
                    151: }
                    152:
                    153:
                    154: TERM_PUBLIC void V384_vector(x, y)
                    155: unsigned int x, y;
                    156: {
                    157:     fprintf(gpoutfile, "L %d %d\n", x + 20, y);
                    158: }
                    159:
                    160:
                    161: TERM_PUBLIC void V384_put_text(x, y, str)
                    162: unsigned int x, y;
                    163: char str[];
                    164: {
                    165:     V384_move(x, y + V384_VCHAR / 2);
                    166:     fprintf(gpoutfile, "$%s\n", str);
                    167: }
                    168:
                    169:
                    170: TERM_PUBLIC void V384_reset()
                    171: {
                    172: }
                    173:
                    174: #endif /* TERM_BODY */
                    175:
                    176: #ifdef TERM_TABLE
                    177: TERM_TABLE_START(vx384_driver)
                    178:     "vx384", "Vectrix 384 and Tandy color printer",
                    179:     V384_XMAX, V384_YMAX, V384_VCHAR, V384_HCHAR,
                    180:     V384_VTIC, V384_HTIC, options_null, V384_init, V384_reset,
                    181:     V384_text, null_scale, V384_graphics, V384_move, V384_vector,
                    182:     V384_linetype, V384_put_text, null_text_angle,
                    183:     null_justify_text, do_point, do_arrow, set_font_null
                    184: TERM_TABLE_END(vx384_driver)
                    185:
                    186: #undef LAST_TERM
                    187: #define LAST_TERM vx384_driver
                    188:
                    189: #endif /* TERM_TABLE */
                    190: #endif /* TERM_PROTO_ONLY */
                    191:
                    192: #ifdef TERM_HELP
                    193: START_HELP(vx384)
                    194: "1 vx384",
                    195: "?commands set terminal vx384",
                    196: "?set terminal vx384",
                    197: "?set term vx384",
                    198: "?terminal vx384",
                    199: "?term vx384",
                    200: "?vx384",
                    201: " The `vx384` terminal driver supports the Vectrix 384 and Tandy color",
                    202: " printers.  It has no options."
                    203: END_HELP(vx384)
                    204: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>