Annotation of OpenXM_contrib/gnuplot/term/aed.trm, Revision 1.1.1.2
1.1 maekawa 1: /*
1.1.1.2 ! maekawa 2: * $Id: aed.trm,v 1.7 1998/11/25 21:03:15 lhecking Exp $
1.1 maekawa 3: *
4: */
5:
6: /* GNUPLOT - aed.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: * AED terminals
43: *
44: * AUTHORS
45: * Colin Kelley, Thomas Williams, 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 (Dez. 1995)
53: */
54:
55: #include "driver.h"
56:
57: #ifdef TERM_REGISTER
58: register_term(aed512)
59: register_term(aed767)
60: #endif
61:
62: #ifdef TERM_PROTO
63: TERM_PUBLIC void AED_init __PROTO((void));
64: TERM_PUBLIC void AED_graphics __PROTO((void));
65: TERM_PUBLIC void AED_text __PROTO((void));
66: TERM_PUBLIC void AED_linetype __PROTO((int linetype));
67: TERM_PUBLIC void AED_move __PROTO((unsigned int x, unsigned int y));
68: TERM_PUBLIC void AED_vector __PROTO((unsigned int x, unsigned int y));
69: TERM_PUBLIC void AED_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
70: TERM_PUBLIC void AED_reset __PROTO((void));
71:
72: #define AED_XMAX 768
73: #define AED_YMAX 575
74:
75: #define AED_VCHAR 13
76: #define AED_HCHAR 8
77: #define AED_VTIC 8
78: #define AED_HTIC 7
79:
80: /* slightly different for AED 512 */
81: #define AED5_XMAX 512
82: #endif
83:
84: #ifndef TERM_PROTO_ONLY
85: #ifdef TERM_BODY
86:
87: #define AED_XLAST (AED_XMAX - 1)
88: #define AED_YLAST (AED_YMAX - 1)
89:
90: #define AED5_XLAST (AED5_XMAX - 1)
91:
92: TERM_PUBLIC void AED_init()
93: {
94: fputs("\033SEN3DDDN.SEC.7.SCT.0.1.80.80.90.SBC.0.AAV2.MOV.0.9.CHR.0.FFD", gpoutfile);
95: /* 2 3 4 5 7 6 1
96: 1. Clear Screen
97: 2. Set Encoding
98: 3. Set Default Color
99: 4. Set Backround Color Table Entry
100: 5. Set Backround Color
101: 6. Move to Bottom Lefthand Corner
102: 7. Anti-Alias Vectors
103: */
104: }
105:
106:
107: TERM_PUBLIC void AED_graphics()
108: {
109: fputs("\033FFD\033", gpoutfile);
110: }
111:
112:
113: TERM_PUBLIC void AED_text()
114: {
115: fputs("\033MOV.0.9.SEC.7.XXX", gpoutfile);
116: }
117:
118:
119:
120: TERM_PUBLIC void AED_linetype(linetype)
121: int linetype;
122: {
123: static int color[2 + 9] = { 7, 1, 6, 2, 3, 5, 1, 6, 2, 3, 5 };
124: static int type[2 + 9] = { 85, 85, 255, 255, 255, 255, 255, 85, 85, 85, 85 };
125:
126: if (linetype >= 10)
127: linetype %= 10;
128:
129: fprintf(gpoutfile, "\
130: \033SLS%d.255.\
131: \033SEC%d.",
132: type[linetype + 2],
133: color[linetype + 2]);
134: }
135:
136:
137:
138: TERM_PUBLIC void AED_move(x, y)
139: unsigned int x, y;
140: {
141: fprintf(gpoutfile, "\033MOV%d.%d.", x, y);
142: }
143:
144:
145: TERM_PUBLIC void AED_vector(x, y)
146: unsigned int x, y;
147: {
148: fprintf(gpoutfile, "\033DVA%d.%d.", x, y);
149: }
150:
151:
152: TERM_PUBLIC void AED_put_text(x, y, str)
153: unsigned int x, y;
154: char str[];
155: {
156: AED_move(x, y - AED_VCHAR / 2 + 2);
157: fprintf(gpoutfile, "\033XXX%s\033", str);
158: }
159:
160:
161: #define hxt (AED_HTIC/2)
162: #define hyt (AED_VTIC/2)
163:
164: TERM_PUBLIC void AED_reset()
165: {
166: fputs("\033SCT0.1.0.0.0.SBC.0.FFD", gpoutfile);
167: }
168:
169: #endif /* TERM_BODY */
170:
171: #ifdef TERM_TABLE
172: TERM_TABLE_START(aed512_driver)
173: "aed512", "AED 512 Terminal",
174: AED5_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
175: AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
176: AED_text, null_scale, AED_graphics, AED_move, AED_vector,
177: AED_linetype, AED_put_text, null_text_angle,
178: null_justify_text, do_point, do_arrow, set_font_null
179: TERM_TABLE_END(aed512_driver)
180:
181: #undef LAST_TERM
182: #define LAST_TERM aed512_driver
183:
184: TERM_TABLE_START(aed767_driver)
185: "aed767", "AED 767 Terminal",
186: AED_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
187: AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
188: AED_text, null_scale, AED_graphics, AED_move, AED_vector,
189: AED_linetype, AED_put_text, null_text_angle,
190: null_justify_text, do_point, do_arrow, set_font_null
191: TERM_TABLE_END(aed767_driver)
192:
193: #undef LAST_TERM
194: #define LAST_TERM aed767_driver
195:
196: #endif /* TERM_TABLE */
197: #endif /* TERM_PROTO_ONLY */
198:
199: #ifdef TERM_HELP
200: START_HELP(aed767)
201: "1 aed767",
202: "?commands set terminal aed767",
203: "?set terminal aed767",
204: "?set term aed767",
205: "?terminal aed767",
206: "?term aed767",
207: "?aed767",
208: "?commands set terminal aed512",
209: "?set terminal aed512",
210: "?set term aed512",
211: "?terminal aed512",
212: "?term aed512",
213: "?aed512",
214: " The `aed512` and `aed767` terminal drivers support AED graphics terminals.",
215: " The two drivers differ only in their horizontal ranges, which are 512 and",
216: " 768 pixels, respectively. Their vertical range is 575 pixels. There are",
217: " no options for these drivers."
218: END_HELP(aed767)
219: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>