File: [local] / OpenXM_contrib / gnuplot / term / Attic / v384.trm (download)
Revision 1.1.1.2 (vendor branch), Sat Jan 22 14:16:30 2000 UTC (24 years, 5 months ago) by maekawa
Branch: GNUPLOT
CVS Tags: maekawa-ipv6, VERSION_3_7_3, VERSION_3_7_1, RELEASE_20000124, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2 Changes since 1.1.1.1: +1 -1
lines
Import gnuplot 3.7.1
|
/*
* $Id: v384.trm,v 1.6 1998/11/25 21:09:00 lhecking Exp $
*
*/
/* GNUPLOT - v384.trm */
/*[
* Copyright 1990 - 1993, 1998
*
* Permission to use, copy, and distribute this software and its
* documentation for any purpose with or without fee is hereby granted,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*
* Permission to modify the software is granted, but not the right to
* distribute the complete modified source code. Modifications are to
* be distributed as patches to the released version. Permission to
* distribute binaries produced by compiling modified sources is granted,
* provided you
* 1. distribute the corresponding source modifications from the
* released version in the form of a patch file along with the binaries,
* 2. add special version identification to distinguish your version
* in addition to the base release version number,
* 3. provide your name and address as the primary contact for the
* support of your modified version, and
* 4. retain our contact information in regard to use of the base
* software.
* Permission to distribute the released version of the source code along
* with corresponding source modifications in the form of a patch file is
* granted with same provisions 2 through 4 for binary distributions.
*
* This software is provided "as is" without express or implied warranty
* to the extent permitted by applicable law.
]*/
/*
* This file is included by ../term.c.
*
* This terminal driver supports:
* Vectrix 384 - works with tandy color printer as well
*
* AUTHORS
* roland@moncskermit.OZ (Roland Yap)
*
* send your comments or suggestions to (info-gnuplot@dartmouth.edu).
*
*/
/*
* Vectrix 384 driver - works with tandy color printer as well
* in reverse printing 8 color mode.
* This doesn't work on Vectrix 128 because it redefines the
* color table. It can be hacked to work on the 128 by changing
* the colours but then it will probably not print best. The color
* table is purposely designed so that it will print well
*
*/
/*
* adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
*/
#include "driver.h"
#ifdef TERM_REGISTER
register_term(vx384)
#endif
#ifdef TERM_PROTO
TERM_PUBLIC void V384_init __PROTO((void));
TERM_PUBLIC void V384_graphics __PROTO((void));
TERM_PUBLIC void V384_text __PROTO((void));
TERM_PUBLIC void V384_linetype __PROTO((int linetype));
TERM_PUBLIC void V384_move __PROTO((unsigned int x, unsigned int y));
TERM_PUBLIC void V384_vector __PROTO((unsigned int x, unsigned int y));
TERM_PUBLIC void V384_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
TERM_PUBLIC void V384_reset __PROTO((void));
#define V384_XMAX 630
#define V384_YMAX 480
#define V384_XLAST (V384_XMAX - 1)
#define V384_YLAST (V384_YMAX - 1)
#define V384_VCHAR 12
#define V384_HCHAR 7
#define V384_VTIC 8
#define V384_HTIC 7
#endif /* TERM_PROTO */
#ifndef TERM_PROTO_ONLY
#ifdef TERM_BODY
TERM_PUBLIC void V384_init()
{
fprintf(gpoutfile, "%c%c G0 \n\
Q 0 8\n\
0 0 0\n\
255 0 0\n\
0 255 0\n\
0 0 255\n\
0 255 255\n\
255 0 255\n\
255 255 0\n\
255 255 255\n",
27, 18);
}
TERM_PUBLIC void V384_graphics()
{
fprintf(gpoutfile, "%c%c E0 RE N 65535\n", 27, 18);
}
TERM_PUBLIC void V384_text()
{
fprintf(gpoutfile, "%c%c\n", 27, 17);
}
TERM_PUBLIC void V384_linetype(linetype)
int linetype;
{
static int color[] =
{
1 /* red */ ,
2 /* green */ ,
3 /* blue */ ,
4 /* cyan */ ,
5 /* magenta */ ,
6 /* yellow */ , /* not a good color so not in use at the moment */
7 /* white */
};
if (linetype < 0)
linetype = 6;
else
linetype %= 5;
fprintf(gpoutfile, "C %d\n", color[linetype]);
}
TERM_PUBLIC void V384_move(x, y)
unsigned int x, y;
{
fprintf(gpoutfile, "M %d %d\n", x + 20, y);
}
TERM_PUBLIC void V384_vector(x, y)
unsigned int x, y;
{
fprintf(gpoutfile, "L %d %d\n", x + 20, y);
}
TERM_PUBLIC void V384_put_text(x, y, str)
unsigned int x, y;
char str[];
{
V384_move(x, y + V384_VCHAR / 2);
fprintf(gpoutfile, "$%s\n", str);
}
TERM_PUBLIC void V384_reset()
{
}
#endif /* TERM_BODY */
#ifdef TERM_TABLE
TERM_TABLE_START(vx384_driver)
"vx384", "Vectrix 384 and Tandy color printer",
V384_XMAX, V384_YMAX, V384_VCHAR, V384_HCHAR,
V384_VTIC, V384_HTIC, options_null, V384_init, V384_reset,
V384_text, null_scale, V384_graphics, V384_move, V384_vector,
V384_linetype, V384_put_text, null_text_angle,
null_justify_text, do_point, do_arrow, set_font_null
TERM_TABLE_END(vx384_driver)
#undef LAST_TERM
#define LAST_TERM vx384_driver
#endif /* TERM_TABLE */
#endif /* TERM_PROTO_ONLY */
#ifdef TERM_HELP
START_HELP(vx384)
"1 vx384",
"?commands set terminal vx384",
"?set terminal vx384",
"?set term vx384",
"?terminal vx384",
"?term vx384",
"?vx384",
" The `vx384` terminal driver supports the Vectrix 384 and Tandy color",
" printers. It has no options."
END_HELP(vx384)
#endif