Annotation of OpenXM_contrib/gnuplot/term/hp2648.trm, Revision 1.1.1.2
1.1 maekawa 1: /*
1.1.1.2 ! maekawa 2: * $Id: hp2648.trm,v 1.6 1998/11/25 21:06:34 lhecking Exp $
1.1 maekawa 3: *
4: */
5:
6: /* GNUPLOT - hp2648.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: * HP2648 and HP2647
43: *
44: * AUTHORS
45: * Russell Lang
46: *
47: * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
48: *
49: */
50:
51: /*
52: * adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
53: */
54:
55: #include "driver.h"
56:
57: #ifdef TERM_REGISTER
58: register_term(hp2648)
59: #endif
60:
61: #ifdef TERM_PROTO
62: TERM_PUBLIC void HP2648init __PROTO((void));
63: TERM_PUBLIC void HP2648graphics __PROTO((void));
64: TERM_PUBLIC void HP2648text __PROTO((void));
65: TERM_PUBLIC void HP2648linetype __PROTO((int linetype));
66: TERM_PUBLIC void HP2648move __PROTO((unsigned int x, unsigned int y));
67: TERM_PUBLIC void HP2648vector __PROTO((unsigned int x, unsigned int y));
68: TERM_PUBLIC void HP2648put_text __PROTO((unsigned int x, unsigned int y, char *str));
69: TERM_PUBLIC int HP2648_text_angle __PROTO((int ang));
70: TERM_PUBLIC void HP2648reset __PROTO((void));
71:
72: #define HP2648XMAX 720
73: #define HP2648YMAX 360
74:
75: #define HP2648VCHAR 12
76: #define HP2648HCHAR 7
77: #define HP2648VTIC 8
78: #define HP2648HTIC 8
79: #endif /* TERM_PROTO */
80:
81: #ifndef TERM_PROTO_ONLY
82: #ifdef TERM_BODY
83: #define HP2648XLAST (HP2648XMAX - 1)
84: #define HP2648YLAST (HP2648YMAX - 1)
85:
86:
87: TERM_PUBLIC void HP2648init()
88: {
89: fprintf(gpoutfile, "\033*m1m1n136,1cZ");
90: /* 1 2 3 4
91: 1. mode
92: 2. textsize=1
93: 3. textangle=1
94: 4. define line type 2 to be * * * * etc.
95: */
96: }
97:
98:
99: TERM_PUBLIC void HP2648graphics()
100: {
101: fprintf(gpoutfile, "\033*dacZ");
102: /* 1 23
103: 1. mode
104: 2. clear grahics screen
105: 3. graphics video on
106: */
107: }
108:
109:
110: TERM_PUBLIC void HP2648text()
111: {
112: }
113:
114:
115: TERM_PUBLIC void HP2648linetype(linetype)
116: int linetype;
117: {
118: static int hpline[] = { 1, 7, 1, 4, 5, 6, 8, 9, 10, 7, 2 };
119: fprintf(gpoutfile, "\033*m%dbZ", hpline[(linetype + 2) % 11]);
120: }
121:
122:
123: TERM_PUBLIC void HP2648move(x, y)
124: unsigned int x, y;
125: {
126: fprintf(gpoutfile, "\033*paf%d,%dZ", x, y);
127: /* 1 23 4
128: 1 plot mode
129: 2 "pen up"
130: 3 goto absolute x,y
131: 4 end command
132: */
133: }
134:
135:
136: TERM_PUBLIC void HP2648vector(x, y)
137: unsigned int x, y;
138: {
139: fprintf(gpoutfile, "\033*pbf%d,%dZ", x, y);
140: /* 1
141: 1 "pen down"
142: */
143: }
144:
145:
146: TERM_PUBLIC void HP2648put_text(x, y, str)
147: unsigned int x, y;
148: char *str;
149: {
150: HP2648move(x, y - HP2648VCHAR / 2 + 1);
151: fprintf(gpoutfile, "\033*l%s\n", str);
152: }
153:
154:
155: TERM_PUBLIC int HP2648_text_angle(ang)
156: int ang;
157: {
158: fprintf(gpoutfile, "\033*m%dnZ\n", ang + 1);
159: return TRUE;
160: }
161:
162: TERM_PUBLIC void HP2648reset()
163: {
164: }
165:
166: #endif /* TERM_BODY */
167:
168: #ifdef TERM_TABLE
169: TERM_TABLE_START(hp2648_driver)
170: "hp2648", "HP2648 and HP2647",
171: HP2648XMAX, HP2648YMAX, HP2648VCHAR, HP2648HCHAR,
172: HP2648VTIC, HP2648HTIC, options_null, HP2648init, HP2648reset,
173: HP2648text, null_scale, HP2648graphics, HP2648move, HP2648vector,
174: HP2648linetype, HP2648put_text, HP2648_text_angle,
175: null_justify_text, line_and_point, do_arrow, set_font_null
176: TERM_TABLE_END(hp2648_driver)
177:
178: #undef LAST_TERM
179: #define LAST_TERM hp2648_driver
180:
181: #endif /* TERM_TABLE */
182: #endif /* TERM_PROTO_ONLY */
183:
184: #ifdef TERM_HELP
185: START_HELP(hp2648)
186: "1 hp2648",
187: "?commands set terminal hp2648",
188: "?set terminal hp2648",
189: "?set term hp2648",
190: "?terminal hp2648",
191: "?term hp2648",
192: "?hp2648",
193: " The `hp2648` terminal driver supports the Hewlett Packard HP2647 and HP2648.",
194: " It has no options."
195: END_HELP(hp2648)
196: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>