/*
* $Id: dxy.trm,v 3.26 92/03/24 22:34:50 woo Exp Locker: woo $
*/
/* GNUPLOT - dxy.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:
* Roland DXY800A plotter
*
* AUTHORS
* Martin Yii, eln557h@monu3.OZ
* Further modified Jan 1990 by Russell Lang, rjl@monu1.cc.monash.oz
*
* send your comments or suggestions to (info-gnuplot@ames.arc.nasa.gov).
*
*/
#define DXY_XMAX 2470
#define DXY_YMAX 1700
#define DXY_XLAST (DXY_XMAX - 1)
#define DXY_YLAST (DXY_XMAX - 1)
#define DXY_VCHAR (56) /* double actual height of characters */
#define DXY_HCHAR (28) /* actual width including spacing */
#define DXY_VTIC (28)
#define DXY_HTIC (28)
int dxy_angle = 0;
DXY_init()
{
/*
No initialisation sequences for DXY 800A
*/
}
DXY_graphics()
{
/* HOME, Character size 3 */
fprintf(outfile,"H\nS3\n");
}
DXY_text()
{
/*
No sequences needed
*/
}
DXY_linetype(linetype)
int linetype;
{
/* select pen */
fprintf(outfile,"J%d\n",(linetype+2)%8+1);
switch(linetype) {
case -1 : /* use dotted line for axis */
fprintf(outfile,"L1\nB50\n");
break;
default : /* use solid line for all others */
fprintf(outfile,"L0\n");
break;
}
}
DXY_move(x,y)
int x,y;
{
fprintf(outfile,"M%d,%d\n",x,y);
}
DXY_vector(x,y)
int x,y;
{
fprintf(outfile,"D%d,%d\n",x,y);
}
DXY_put_text(x,y,str)
int x, y;
char *str;
{
if (dxy_angle == 1 )
/* vertical */
DXY_move(x + DXY_VCHAR/4,y);
else
/* horiz */
DXY_move(x,y - DXY_VCHAR/4);
fprintf(outfile,"P%s\n",str);
}
int DXY_text_angle(ang)
int ang;
{
dxy_angle = ang;
fprintf(outfile,"Q%d\n",ang);
return TRUE;
}
DXY_reset()
{
/* Home pen */
fprintf(outfile,"H\n");
}