/*
* $Id: hp26.trm,v 3.26 92/03/24 22:34:55 woo Exp Locker: woo $
*/
/* GNUPLOT - hp26.trm */
/*
* Copyright (C) 1990, 1991, 1992
*
* 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 modified code. Modifications are to be distributed
* as patches to released version.
*
* This software is provided "as is" without express or implied warranty.
*
* This file is included by ../term.c.
*
* This terminal driver supports:
* HP2623A
*
* AUTHORS
* hplvlch!ch (Chuck Heller)
*
* send your comments or suggestions to (info-gnuplot@ames.arc.nasa.gov).
*
*/
#define HP26_XMAX 512
#define HP26_YMAX 390
#define HP26_XLAST (HP26_XMAX - 1)
#define HP26_YLAST (HP26_XMAX - 1)
/* Assume a character size of 1, or a 7 x 10 grid. */
#define HP26_VCHAR 10
#define HP26_HCHAR 7
#define HP26_VTIC (HP26_YMAX/70)
#define HP26_HTIC (HP26_XMAX/75)
HP26_init()
{
/* The HP2623A needs no initialization. */
}
HP26_graphics()
{
/* Clear and enable the display */
fputs("\033*daZ\033*dcZ",outfile);
}
HP26_text()
{
fputs("\033*dT",outfile); /* back to text mode */
}
HP26_linetype(linetype)
int linetype;
{
#define SOLID 1
#define LINE4 4
#define LINE5 5
#define LINE6 6
#define LINE8 8
#define DOTS 7
#define LINE9 9
#define LINE10 10
static int map[2+9] = { SOLID, /* border */
SOLID, /* axes */
DOTS, /* plot 0 */
LINE4, /* plot 1 */
LINE5, /* plot 2 */
LINE6, /* plot 3 */
LINE8, /* plot 4 */
LINE9, /* plot 5 */
LINE10, /* plot 6 */
SOLID, /* plot 7 */
SOLID /* plot 8 */ };
if (linetype >= 9)
linetype %= 9;
fprintf(outfile,"\033*m%dB",map[linetype + 2]);
}
HP26_move(x,y)
int x,y;
{
fprintf(outfile,"\033*pa%d,%dZ",x,y);
}
HP26_vector(x,y)
int x,y;
{
fprintf(outfile,"\033*pb%d,%dZ",x,y);
}
HP26_put_text(x,y,str)
int x, y;
char *str;
{
HP26_move(x,y + HP26_VCHAR/2);
fputs("\033*dS",outfile);
fprintf(outfile,"\033*m3Q\033*l%s\n",str);
fputs("\033*dT",outfile);
}
HP26_reset()
{
}