--- /dev/null
+/* Hello, Emacs, this is -*-C-*-
+ * $Id: aed.trm,v 1.14 2006/07/21 02:35:45 sfeam Exp $
+ *
+ */
+
+/* GNUPLOT - aed.trm */
+
+/*[
+ * Copyright 1990 - 1993, 1998, 2004
+ *
+ * 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:
+ * AED terminals
+ *
+ * AUTHORS
+ * Colin Kelley, Thomas Williams, Russell Lang
+ *
+ * send your comments or suggestions to (gnuplot-info@lists.sourceforge.net).
+ *
+ */
+
+/*
+ * adapted to the new terminal layout by Stefan Bodewig (Dez. 1995)
+ */
+
+#include "driver.h"
+
+#ifdef TERM_REGISTER
+register_term(aed512)
+register_term(aed767)
+#endif
+
+#ifdef TERM_PROTO
+TERM_PUBLIC void AED_init __PROTO((void));
+TERM_PUBLIC void AED_graphics __PROTO((void));
+TERM_PUBLIC void AED_text __PROTO((void));
+TERM_PUBLIC void AED_linetype __PROTO((int linetype));
+TERM_PUBLIC void AED_move __PROTO((unsigned int x, unsigned int y));
+TERM_PUBLIC void AED_vector __PROTO((unsigned int x, unsigned int y));
+TERM_PUBLIC void AED_put_text __PROTO((unsigned int x, unsigned int y, const char *str));
+TERM_PUBLIC void AED_reset __PROTO((void));
+
+#define AED_XMAX 768
+#define AED_YMAX 575
+
+#define AED_VCHAR 13
+#define AED_HCHAR 8
+#define AED_VTIC 8
+#define AED_HTIC 7
+
+/* slightly different for AED 512 */
+#define AED5_XMAX 512
+#endif
+
+#ifndef TERM_PROTO_ONLY
+#ifdef TERM_BODY
+
+#define AED_XLAST (AED_XMAX - 1)
+#define AED_YLAST (AED_YMAX - 1)
+
+#define AED5_XLAST (AED5_XMAX - 1)
+
+TERM_PUBLIC void
+AED_init()
+{
+ fputs("\033SEN3DDDN.SEC.7.SCT.0.1.80.80.90.SBC.0.AAV2.MOV.0.9.CHR.0.FFD", gpoutfile);
+/* 2 3 4 5 7 6 1
+ 1. Clear Screen
+ 2. Set Encoding
+ 3. Set Default Color
+ 4. Set Backround Color Table Entry
+ 5. Set Backround Color
+ 6. Move to Bottom Lefthand Corner
+ 7. Anti-Alias Vectors
+*/
+}
+
+
+TERM_PUBLIC void
+AED_graphics()
+{
+ fputs("\033FFD\033", gpoutfile);
+}
+
+
+TERM_PUBLIC void
+AED_text()
+{
+ fputs("\033MOV.0.9.SEC.7.XXX", gpoutfile);
+}
+
+
+
+TERM_PUBLIC void
+AED_linetype(int linetype)
+{
+ static int color[2 + 9] = { 7, 1, 6, 2, 3, 5, 1, 6, 2, 3, 5 };
+ static int type[2 + 9] = { 85, 85, 255, 255, 255, 255, 255, 85, 85, 85, 85 };
+
+ if (linetype <= -3)
+ return;
+ if (linetype >= 10)
+ linetype %= 10;
+
+ fprintf(gpoutfile, "\
+\033SLS%d.255.\
+\033SEC%d.",
+ type[linetype + 2],
+ color[linetype + 2]);
+}
+
+
+
+TERM_PUBLIC void
+AED_move(unsigned int x, unsigned int y)
+{
+ fprintf(gpoutfile, "\033MOV%d.%d.", x, y);
+}
+
+
+TERM_PUBLIC void
+AED_vector(unsigned int x, unsigned int y)
+{
+ fprintf(gpoutfile, "\033DVA%d.%d.", x, y);
+}
+
+
+TERM_PUBLIC void
+AED_put_text(unsigned int x, unsigned int y, const char *str)
+{
+ AED_move(x, y - AED_VCHAR / 2 + 2);
+ fprintf(gpoutfile, "\033XXX%s\033", str);
+}
+
+
+#define hxt (AED_HTIC/2)
+#define hyt (AED_VTIC/2)
+
+TERM_PUBLIC void
+AED_reset()
+{
+ fputs("\033SCT0.1.0.0.0.SBC.0.FFD", gpoutfile);
+}
+
+#endif /* TERM_BODY */
+
+#ifdef TERM_TABLE
+TERM_TABLE_START(aed512_driver)
+ "aed512", "AED 512 Terminal",
+ AED5_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
+ AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
+ AED_text, null_scale, AED_graphics, AED_move, AED_vector,
+ AED_linetype, AED_put_text, null_text_angle,
+ null_justify_text, do_point, do_arrow, set_font_null
+TERM_TABLE_END(aed512_driver)
+
+#undef LAST_TERM
+#define LAST_TERM aed512_driver
+
+TERM_TABLE_START(aed767_driver)
+ "aed767", "AED 767 Terminal",
+ AED_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
+ AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
+ AED_text, null_scale, AED_graphics, AED_move, AED_vector,
+ AED_linetype, AED_put_text, null_text_angle,
+ null_justify_text, do_point, do_arrow, set_font_null
+TERM_TABLE_END(aed767_driver)
+
+#undef LAST_TERM
+#define LAST_TERM aed767_driver
+
+#endif /* TERM_TABLE */
+#endif /* TERM_PROTO_ONLY */
+
+#ifdef TERM_HELP
+START_HELP(aed767)
+"1 aed767",
+"?commands set terminal aed767",
+"?set terminal aed767",
+"?set term aed767",
+"?terminal aed767",
+"?term aed767",
+"?aed767",
+"?commands set terminal aed512",
+"?set terminal aed512",
+"?set term aed512",
+"?terminal aed512",
+"?term aed512",
+"?aed512",
+" The `aed512` and `aed767` terminal drivers support AED graphics terminals.",
+" The two drivers differ only in their horizontal ranges, which are 512 and",
+" 768 pixels, respectively. Their vertical range is 575 pixels. There are",
+" no options for these drivers."
+END_HELP(aed767)
+#endif