/* * $Id: term.h,v 1.72.2.1 2017/05/22 20:39:19 sfeam Exp $ */ /* GNUPLOT - term.h */ /*[ * Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley * * 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. ]*/ /* * term.h: terminal support definitions * Edit this file depending on the set of terminals you wish to support. * Comment out the terminal types that you don't want or don't have, and * uncomment those that you want included. Be aware that some terminal * types will require changes in the makefile LIBS definition. */ /* * first draft after all terminals are converted to new layout * Stefan Bodewig Dec. 1995 */ /* * >>> CONFIGURATION OPTIONS FOLLOW <<< PLEASE READ * * pslatex and epslatex support is now provided by the combination of * post.trm and pslatex.trm. You cannot build pslatex without post. * Both drivers are selected by default, but you can disable them below. * * Enhanced text support is pretty much required for all terminals now. * If you build without GP_ENH_EST text layout will be degraded. */ #define GP_ENH_EST 1 /* estimate string length of enhanced text */ #define POSTSCRIPT_DRIVER 1 /* include post.trm */ #define PSLATEX_DRIVER 1 /* include pslatex.trm */ #if defined(PSLATEX_DRIVER) && !defined(POSTSCRIPT_DRIVER) #define POSTSCRIPT_DRIVER #endif # ifdef GP_ENH_EST # include "estimate.trm" /* used for enhanced text processing */ # endif /* Define SHORT_TERMLIST to select a few terminals. It is easier * to define the macro and list desired terminals in this section. * Sample configuration for a Unix workstation */ #ifdef SHORT_TERMLIST # include "dumb.trm" /* dumb terminal */ # ifdef POSTSCRIPT_DRIVER # ifdef PSLATEX_DRIVER # undef PSLATEX_DRIVER # endif # include "post.trm" /* postscript */ # endif # ifdef X11 # include "x11.trm" /* X Window system */ # endif /* X11 */ # ifdef OS2 # include "pm.trm" /* OS/2 Presentation Manager */ # endif # ifdef _Windows # include "win.trm" /* MS-Windows */ # endif #else /* include all applicable terminals not commented out */ /****************************************************************************/ /* Platform dependent part */ /****************************************************************************/ /* BeOS */ #ifdef __BEOS__ # include "be.trm" #endif /****************************************************************************/ /* MS-DOS and Windows */ #if defined(MSDOS) || defined(_Windows) /* MSDOS with emx-gcc compiler */ # if defined(MSDOS) && defined(__EMX__) /* Vesa-Cards */ # define EMXVESA # include "emxvga.trm" # endif /* MSDOS && EMX */ /* MSDOS with djgpp compiler */ # if defined(DJGPP) && (!defined(DJSVGA) || (DJSVGA != 0)) # include "djsvga.trm" # endif /* All other Compilers */ # ifndef _Windows # ifdef PC /* uncomment the next line to include SuperVGA support */ # define BGI_NAME "svga256" /* the name of the SVGA.BGI for Borland C */ /* this also triggers the inclusion of Super VGA support */ # include "pc.trm" /* all PC types except MS WINDOWS */ # endif # else /* _Windows */ # include "win.trm" /* MS-Windows */ # endif /* _Windows */ #endif /* MSDOS || _Windows */ /****************************************************************************/ /* Apple Mac OS X */ #ifdef HAVE_FRAMEWORK_AQUATERM /* support for AquaTerm.app */ # include "aquaterm.trm" #endif /* OS/2 */ #ifdef OS2 /* presentation manager */ # include "pm.trm" # ifdef EMXVESA /* works with DOS and OS/2 (windowed/full screen) */ # include "emxvga.trm" # endif #endif /* OS2 */ /***************************************************************************/ /* Terminals for various Unix platforms */ /***************************************************************************/ /* Linux VGA */ #ifdef LINUXVGA # include "linux.trm" /* Linux VGAGL */ # if defined(VGAGL) && defined (THREEDKIT) # include "vgagl.trm" # endif #endif /* LINUXVGA */ /* VAX Windowing System requires UIS libraries */ #ifdef UIS # include "vws.trm" #endif /****************************************************************************/ /* Terminals not relevant for MSDOS, MS-Windows */ #if !(defined(MSDOS) || defined(_Windows)) /* gpic for groff */ #ifdef HAVE_GPIC # include "gpic.trm" #endif /* REGIS graphics language */ #ifdef VMS # include "regis.trm" #endif /* Tektronix 4106, 4107, 4109 and 420x terminals */ # include "t410x.trm" /* a Tek 4010 and others including VT-style */ # include "tek.trm" #endif /* !MSDOS && !_Windows */ /****************************************************************************/ /****************************************************************************/ /* These terminals can be used on any system */ #ifdef X11 # include "x11.trm" /* X Window System */ # include "xlib.trm" /* dumps x11 commands to gpoutfile */ #endif /* Adobe Illustrator Format */ /* obsolete: use 'set term postscript level1 */ /* #include "ai.trm" */ /* HTML Canvas terminal */ #if (defined(HAVE_GD_PNG) || defined(HAVE_CAIROPDF)) # include "write_png_image.c" #endif #include "canvas.trm" /* Computer Graphics Metafile (eg ms office) */ #include "cgm.trm" /* CorelDraw! eps format */ /* #include "corel.trm" */ /* debugging terminal */ #ifdef DEBUG # include "debug.trm" #endif /* dumb terminal */ #include "dumb.trm" /* caca: color ascii art terminal using libcaca */ #ifdef HAVE_LIBCACA # include "caca.trm" #endif /* Terminal for export to AutoCad (Release 10.x) */ /* DWGR10 format (1988) */ #include "dxf.trm" /* Enhanced Metafile Format driver */ #include "emf.trm" /* Roland DXY800A plotter */ /* #include "dxy.trm" */ /* QMS/EXCL laserprinter (Talaris 1590 and others) */ /* #include "excl.trm" */ /* fig graphics */ #include "fig.trm" /* geographical info system */ /* #include "grass.trm" */ /* HP2623A "ET head" 1980 era graphics terminal */ /* #include "hp26.trm" */ /* HP2647 and 2648 */ /* #include "hp2648.trm" */ /* HP7475, HP7220 plotters, and (hopefully) lots of others */ #include "hpgl.trm" #ifndef NO_BITMAP_SUPPORT /* HP DeskJet 500 C */ #include "hp500c.trm" /* HP Laserjet II */ #include "hpljii.trm" /* HP PrintJet */ #include "hppj.trm" #endif /* NO_BITMAP_SUPPORT */ /* Imagen laser printers */ /* #include "imagen.trm" */ /* Kyocera Prescribe printer */ /* #include "kyo.trm" */ /* Frame Maker MIF 3.00 format driver */ #ifdef HAVE_MIF #include "mif.trm" #endif /* DEPRECATED since 5.0.6 * PDF terminal based on non-free library PDFlib or PDFlib-lite from GmbH. */ /* # include "pdf.trm" */ #if defined(HAVE_GD_PNG) || defined(HAVE_GD_JPEG) || defined(HAVE_GD_GIF) # include "gd.trm" #endif /* postscript */ #ifdef POSTSCRIPT_DRIVER #include "post.trm" #endif /* QMS laser printers */ #include "qms.trm" /* W3C Scalable Vector Graphics file */ #include "svg.trm" /* x11 tgif tool */ #include "tgif.trm" /* tcl/tk with perl extensions */ #include "tkcanvas.trm" #ifndef NO_BITMAP_SUPPORT /* portable bit map */ #include "pbm.trm" /* wire printers */ /* Epson LX-800, Star NL-10, NX-1000 and lots of others */ #define EPSONP /* Epson-style 60-dot per inch printers */ #define EPS60 /* Epson-style 180-dot per inch (24 pin) printers */ #define EPS180 #define NEC #define OKIDATA #define STARC /* Seiko DPU-414 thermal printer */ #define DPU414 /* Tandy DMP-130 series 60-dot per inch graphics */ #define TANDY60 /* the common driver file for all of these */ #include "epson.trm" #endif /* NO_BITMAP_SUPPORT */ /* TeX related terminals */ #define EMTEX #define EEPIC /* latex and emtex */ #include "latex.trm" /* latex/tex with picture in postscript */ #ifdef PSLATEX_DRIVER #include "pslatex.trm" #endif /* EEPIC-extended LaTeX driver, for EEPIC users */ #include "eepic.trm" /* TPIC specials for TeX */ #include "tpic.trm" /* LaTeX picture environment with PSTricks macros */ #include "pstricks.trm" /* TeXDraw drawing package for LaTeX */ #include "texdraw.trm" /* METAFONT */ #include "metafont.trm" /* METAPOST */ #include "metapost.trm" /* ConTeXt */ #include "context.trm" #ifdef USE_GGI_DRIVER # include "ggi.trm" #endif /* WXWIDGETS */ #ifdef WXWIDGETS # include "wxt.trm" #endif #ifdef HAVE_CAIROPDF # include "cairo.trm" #endif #ifdef HAVE_LUA #include "lua.trm" #endif #ifdef QTTERM # include "qt.trm" #endif #endif /* !SHORT_TERMLIST */