[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.1     ! maekawa     1: /*
        !             2:  * $Id: v384.trm,v 1.13 1998/04/14 00:18:13 drd Exp $
        !             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>