X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctgraphics%2Fezset.cpp;h=ed396aad6efd9f460712a166798482d9be6f6f69;hp=4e68671507c01eb752204459930e1340460931ac;hb=739e435359d44546dd812fff8c86b815a214d587;hpb=89997e727ff5d4d8828f6fdaee435d809b623ffe diff --git a/libctgraphics/ezset.cpp b/libctgraphics/ezset.cpp index 4e68671..ed396aa 100644 --- a/libctgraphics/ezset.cpp +++ b/libctgraphics/ezset.cpp @@ -1,372 +1,379 @@ /***************************************************************************** - ** FILE IDENTIFICATION - ** - ** EZSET - Parameter control for EZPLOT - ** - ** This is part of the CTSim program - ** Copyright (C) 1983-2000 Kevin Rosenberg - ** - ** $Id: ezset.cpp,v 1.9 2000/12/06 15:17:51 kevin Exp $ - ** - ** This program is free software; you can redistribute it and/or modify - ** it under the terms of the GNU General Public License (version 2) as - ** published by the Free Software Foundation. - ** - ** This program is distributed in the hope that it will be useful, - ** but WITHOUT ANY WARRANTY; without even the implied warranty of - ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ** GNU General Public License for more details. - ** - ** You should have received a copy of the GNU General Public License - ** along with this program; if not, write to the Free Software - ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - ******************************************************************************/ +** FILE IDENTIFICATION +** +** EZSET - Parameter control for EZPLOT +** +** This is part of the CTSim program +** Copyright (C) 1983-2000 Kevin Rosenberg +** +** $Id: ezset.cpp,v 1.10 2000/12/20 14:39:09 kevin Exp $ +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License (version 2) as +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ #include "ctsupport.h" #include "ezplot.h" #include "pol.h" bool EZPlot::ezset_initialized = false; + + +bool +EZPlot::ezset (const std::string& command) +{ + return ezset (command.c_str()); +} -int -EZPlot::ezset (char *command) +bool +EZPlot::ezset (const char const *command) { - if (! ezset_initialized) { - pol_init(); - initkw(); - pol_skpword ("please"); - pol_skpword ("use"); - pol_skpword ("are"); - pol_skpword ("and"); - pol_skpword ("is"); - pol_skpword ("the"); - pol_skpword ("equals"); - pol_skpchar ("="); - - pol_usefile (P_USE_STR,""); - set_inputline ("!eoc ,"); - pol_reader (); - pol_closefile (); - ezset_initialized = true; - } - return (ezcmd (command)); + if (! ezset_initialized) { + pol_init(); + initkw(); + pol_skpword ("please"); + pol_skpword ("use"); + pol_skpword ("are"); + pol_skpword ("and"); + pol_skpword ("is"); + pol_skpword ("the"); + pol_skpword ("equals"); + pol_skpchar ("="); + + pol_usefile (P_USE_STR,""); + set_inputline ("!eoc ,"); + pol_reader (); + pol_closefile (); + ezset_initialized = true; + } + return ezcmd (command); } bool -EZPlot::ezcmd (char *comm) +EZPlot::ezcmd (const char const *comm) { - pol_usefile (P_USE_STR, ""); - set_inputline (comm); - - char str[MAXTOK+1]; - int code; - bool retval = true; - if (! pol_usertok (str, &code)) { - sys_error(ERR_WARNING, "Illegal EZSET command: %s", str); - pol_reader(); - retval = false; - } - else - retval = do_cmd (code); - - pol_closefile(); /* close input string file */ - return (retval); + pol_usefile (P_USE_STR, ""); + set_inputline (comm); + + char str[MAXTOK+1]; + int code; + bool retval = true; + if (! pol_usertok (str, &code)) { + sys_error(ERR_WARNING, "Illegal EZSET command: %s", str); + pol_reader(); + retval = false; + } + else + retval = do_cmd (code); + + pol_closefile(); /* close input string file */ + return (retval); } bool EZPlot::do_cmd (int lx) { - char str [1024]; - char strIn [1024]; - int n; - double f; - - switch (lx) { - case S_TEXTSIZE: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - { - if (f >= 0.0 && f <= 1.0) { - v_textsize = f; - s_textsize = TRUE; - } else - s_textsize = FALSE; - } - break; - case S_REPLOT: - plot (); - break; - case S_CLEAR: - clearCurves (); - break; - case S_TITLE: - gettext (strIn, sizeof(strIn)); - c_title = strIn; - break; - case S_LEGEND: - gettext (strIn, sizeof(strIn)); - c_legend = strIn; - break; - case S_XLABEL: - gettext (strIn, sizeof(strIn)); - c_xlabel = strIn; - break; - case S_YLABEL: - gettext (strIn, sizeof(strIn)); - c_ylabel = strIn; - break; - case S_XCROSS: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_xcross = f; - s_xcross = TRUE; - } else - s_xcross = FALSE; - break; - case S_YCROSS: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_ycross = f; - s_ycross = TRUE; - } else - s_ycross = FALSE; - break; - case S_NOXAXIS: - o_xaxis = NOAXIS; - break; - case S_NOYAXIS: - o_yaxis = NOAXIS; - break; - case S_XLIN: - o_xaxis = LINEAR; - break; - case S_YLIN: - o_yaxis = LINEAR; - break; - case S_XLOG: - o_xaxis = LOG; - break; - case S_YLOG: - o_yaxis = LOG; - break; - case S_XAUTOSCALE: - s_xmin = FALSE; - s_xmax = FALSE; - break; - case S_YAUTOSCALE: - s_ymin = FALSE; - s_ymax = FALSE; - break; - case S_XMIN: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_xmin = f; - s_xmin = TRUE; - } - break; - case S_XMAX: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_xmax = f; - s_xmax = TRUE; - } - break; - case S_YMIN: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_ymin = f; - s_ymin = TRUE; - } - break; - case S_YMAX: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { - v_ymax = f; - s_ymax = TRUE; - } - break; - case S_SOLID: - o_linestyle = SGP::LS_SOLID; - break; - case S_DASH: - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { - if (n == 1) - o_linestyle = SGP::LS_DASH1; - else if (n == 2) - o_linestyle = SGP::LS_DASH2; - else if (n == 3) - o_linestyle = SGP::LS_DASH3; - else if (n == 4) - o_linestyle = SGP::LS_DASH4; - else - o_linestyle = SGP::LS_DASH1; - } else - o_linestyle = SGP::LS_DASH1; - break; - case S_NOLINE: - o_linestyle = SGP::LS_NOLINE; - break; - case S_PEN: - case S_COLOR: - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) - { - if (n >= 0) - o_color = n; - else - bad_option("The color you picked"); - } - break; - case S_BOX: - o_box = TRUE; - break; - case S_NOBOX: - o_box = FALSE; - break; - case S_GRID: - o_grid = TRUE; - break; - case S_NOGRID: - o_grid = FALSE; - break; - case S_XLENGTH: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - if (f > 0.0 && f <= 1.0) - o_xlength = f; - break; - case S_YLENGTH: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - if (f > 0.0 && f <= 1.0) - o_ylength = f; - break; - case S_XPORIGIN: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - if (f >= 0.0 && f < 1.0) - o_xporigin = f; - break; - case S_YPORIGIN: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - if (f >= 0.0 && f < 1.0) - o_yporigin = f; - break; - case S_TAG: - if (pol_word("no", 2) == TRUE) - o_tag = FALSE; - else if (pol_word("off", 2) == TRUE) - o_tag = FALSE; - else - o_tag = TRUE; - break; - case S_LEGENDBOX: - if (pol_word("inside", 2) == TRUE) - o_legendbox = INSIDE; - else if (pol_word("outside", 3) == TRUE) - o_legendbox = OUTSIDE; - else if (pol_word("none",2) == TRUE) - o_legendbox = NOLEGEND; - else { - gettext (str, MAXTOK); - bad_option(str); - } - break; - case S_XLEGEND: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - { - if (f >= 0.0 && f < 1.0) { - v_xlegend = f; - s_xlegend = TRUE; - } - else - s_xlegend = FALSE; - } - break; - case S_YLEGEND: - if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) - { - if (f >= 0.0 && f < 1.0) { - v_ylegend = f; - s_ylegend = TRUE; - } - else - s_ylegend = FALSE; - } - break; - case S_SYMBOL: - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { - if (n > 0 && n <= MAXSYMBOL) - o_symbol = n; - else - o_symbol = 1; - } else { - if (pol_word("every",5) == TRUE) { - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { - if (n > 0) - o_symfreq = n; - else - o_symfreq = 1; - } - } else if (pol_word ("none",4) == TRUE) { - o_symbol = -1; - } - } - break; - case S_XTICKS: - if (pol_usertok(str,&lx) == FALSE) - break; - if (lx == S_ABOVE) - o_xticks = ABOVE; - else if (lx == S_BELOW) - o_xticks = BELOW; - else if (lx == S_NOLABEL) - o_xtlabel = FALSE; - else if (lx == S_LABEL) - o_xtlabel = TRUE; - else if (lx == S_MAJOR) { - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) - if (n > 1 && n < 100) - o_xmajortick = n; - } else if (lx == S_MINOR) - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) - if (n >= 0 && n < 100) - o_xminortick = n; - break; - case S_YTICKS: - if (pol_usertok(str,&lx) == FALSE) - break; - if (lx == S_RIGHT) - o_yticks = RIGHT; - else if (lx == S_LEFT) - o_yticks = LEFT; - else if (lx == S_NOLABEL) - o_ytlabel = FALSE; - else if (lx == S_LABEL) - o_ytlabel = TRUE; - else if (lx == S_MAJOR) { - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) - if (n > 1 && n < 100) - o_ymajortick = n; - } else if (lx == S_MINOR) - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) - if (n >= 0 && n < 100) - o_yminortick = n; - break; - case S_LXFRAC: - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { - if (n >= 0) { - v_lxfrac = n; - s_lxfrac = TRUE; - } - } else - s_lxfrac = FALSE; - break; - case S_LYFRAC: - if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { - if (n >= 0) { - v_lyfrac = n; - s_lyfrac = TRUE; - } - } else - s_lyfrac = FALSE; - break; - break; - default: - fprintf (stderr, "Unimplemented EZPLOT command\n"); - break; + char str [1024]; + char strIn [1024]; + int n; + double f; + + switch (lx) { + case S_TEXTSIZE: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + { + if (f >= 0.0 && f <= 1.0) { + v_textsize = f; + s_textsize = TRUE; + } else + s_textsize = FALSE; + } + break; + case S_REPLOT: + plot (); + break; + case S_CLEAR: + clearCurves (); + break; + case S_TITLE: + gettext (strIn, sizeof(strIn)); + c_title = strIn; + break; + case S_LEGEND: + gettext (strIn, sizeof(strIn)); + c_legend = strIn; + break; + case S_XLABEL: + gettext (strIn, sizeof(strIn)); + c_xlabel = strIn; + break; + case S_YLABEL: + gettext (strIn, sizeof(strIn)); + c_ylabel = strIn; + break; + case S_XCROSS: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_xcross = f; + s_xcross = TRUE; + } else + s_xcross = FALSE; + break; + case S_YCROSS: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_ycross = f; + s_ycross = TRUE; + } else + s_ycross = FALSE; + break; + case S_NOXAXIS: + o_xaxis = NOAXIS; + break; + case S_NOYAXIS: + o_yaxis = NOAXIS; + break; + case S_XLIN: + o_xaxis = LINEAR; + break; + case S_YLIN: + o_yaxis = LINEAR; + break; + case S_XLOG: + o_xaxis = LOG; + break; + case S_YLOG: + o_yaxis = LOG; + break; + case S_XAUTOSCALE: + s_xmin = FALSE; + s_xmax = FALSE; + break; + case S_YAUTOSCALE: + s_ymin = FALSE; + s_ymax = FALSE; + break; + case S_XMIN: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_xmin = f; + s_xmin = TRUE; + } + break; + case S_XMAX: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_xmax = f; + s_xmax = TRUE; + } + break; + case S_YMIN: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_ymin = f; + s_ymin = TRUE; + } + break; + case S_YMAX: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) { + v_ymax = f; + s_ymax = TRUE; + } + break; + case S_SOLID: + o_linestyle = SGP::LS_SOLID; + break; + case S_DASH: + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { + if (n == 1) + o_linestyle = SGP::LS_DASH1; + else if (n == 2) + o_linestyle = SGP::LS_DASH2; + else if (n == 3) + o_linestyle = SGP::LS_DASH3; + else if (n == 4) + o_linestyle = SGP::LS_DASH4; + else + o_linestyle = SGP::LS_DASH1; + } else + o_linestyle = SGP::LS_DASH1; + break; + case S_NOLINE: + o_linestyle = SGP::LS_NOLINE; + break; + case S_PEN: + case S_COLOR: + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) + { + if (n >= 0) + o_color = n; + else + bad_option("The color you picked"); + } + break; + case S_BOX: + o_box = TRUE; + break; + case S_NOBOX: + o_box = FALSE; + break; + case S_GRID: + o_grid = TRUE; + break; + case S_NOGRID: + o_grid = FALSE; + break; + case S_XLENGTH: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + if (f > 0.0 && f <= 1.0) + o_xlength = f; + break; + case S_YLENGTH: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + if (f > 0.0 && f <= 1.0) + o_ylength = f; + break; + case S_XPORIGIN: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + if (f >= 0.0 && f < 1.0) + o_xporigin = f; + break; + case S_YPORIGIN: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + if (f >= 0.0 && f < 1.0) + o_yporigin = f; + break; + case S_TAG: + if (pol_word("no", 2) == TRUE) + o_tag = FALSE; + else if (pol_word("off", 2) == TRUE) + o_tag = FALSE; + else + o_tag = TRUE; + break; + case S_LEGENDBOX: + if (pol_word("inside", 2) == TRUE) + o_legendbox = INSIDE; + else if (pol_word("outside", 3) == TRUE) + o_legendbox = OUTSIDE; + else if (pol_word("none",2) == TRUE) + o_legendbox = NOLEGEND; + else { + gettext (str, MAXTOK); + bad_option(str); + } + break; + case S_XLEGEND: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + { + if (f >= 0.0 && f < 1.0) { + v_xlegend = f; + s_xlegend = TRUE; + } + else + s_xlegend = FALSE; + } + break; + case S_YLEGEND: + if (pol_float (&f, TT_REAL, FALSE, 0.0, 0.0) == TRUE) + { + if (f >= 0.0 && f < 1.0) { + v_ylegend = f; + s_ylegend = TRUE; + } + else + s_ylegend = FALSE; + } + break; + case S_SYMBOL: + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { + if (n > 0 && n <= MAXSYMBOL) + o_symbol = n; + else + o_symbol = 1; + } else { + if (pol_word("every",5) == TRUE) { + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { + if (n > 0) + o_symfreq = n; + else + o_symfreq = 1; + } + } else if (pol_word ("none",4) == TRUE) { + o_symbol = -1; + } + } + break; + case S_XTICKS: + if (pol_usertok(str,&lx) == FALSE) + break; + if (lx == S_ABOVE) + o_xticks = ABOVE; + else if (lx == S_BELOW) + o_xticks = BELOW; + else if (lx == S_NOLABEL) + o_xtlabel = FALSE; + else if (lx == S_LABEL) + o_xtlabel = TRUE; + else if (lx == S_MAJOR) { + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) + if (n > 1 && n < 100) + o_xmajortick = n; + } else if (lx == S_MINOR) + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) + if (n >= 0 && n < 100) + o_xminortick = n; + break; + case S_YTICKS: + if (pol_usertok(str,&lx) == FALSE) + break; + if (lx == S_RIGHT) + o_yticks = RIGHT; + else if (lx == S_LEFT) + o_yticks = LEFT; + else if (lx == S_NOLABEL) + o_ytlabel = FALSE; + else if (lx == S_LABEL) + o_ytlabel = TRUE; + else if (lx == S_MAJOR) { + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) + if (n > 1 && n < 100) + o_ymajortick = n; + } else if (lx == S_MINOR) + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) + if (n >= 0 && n < 100) + o_yminortick = n; + break; + case S_LXFRAC: + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { + if (n >= 0) { + v_lxfrac = n; + s_lxfrac = TRUE; + } + } else + s_lxfrac = FALSE; + break; + case S_LYFRAC: + if (pol_integer (&n, TT_REAL, FALSE, 0, 0) == TRUE) { + if (n >= 0) { + v_lyfrac = n; + s_lyfrac = TRUE; + } + } else + s_lyfrac = FALSE; + break; + break; + default: + fprintf (stderr, "Unimplemented EZPLOT command\n"); + break; } - + pol_reader (); return (true); } @@ -376,7 +383,7 @@ EZPlot::do_cmd (int lx) void EZPlot::bad_option (char *opt) { - sys_error (ERR_WARNING, "INVALID option: %s", opt); + sys_error (ERR_WARNING, "INVALID option: %s", opt); } /*----------------------------------------------------------------------*/ @@ -384,93 +391,93 @@ EZPlot::bad_option (char *opt) /*----------------------------------------------------------------------*/ static struct key { - char *keyword; - int code; + char *keyword; + int code; } keytab[] = { {"solid", S_SOLID}, {"dash", S_DASH}, - {"noline", S_NOLINE}, - {"black", S_BLACK}, - {"red", S_RED}, - {"blue", S_BLUE}, - {"green", S_GREEN}, + {"noline", S_NOLINE}, + {"black", S_BLACK}, + {"red", S_RED}, + {"blue", S_BLUE}, + {"green", S_GREEN}, {"pen", S_PEN}, - {"symbol", S_SYMBOL}, - {"every", S_EVERY}, - {"none", S_NONE}, - {"legend", S_LEGEND}, - {"xlegend", S_XLEGEND}, - {"ylegend", S_YLEGEND}, - - {"xlin", S_XLIN}, + {"symbol", S_SYMBOL}, + {"every", S_EVERY}, + {"none", S_NONE}, + {"legend", S_LEGEND}, + {"xlegend", S_XLEGEND}, + {"ylegend", S_YLEGEND}, + + {"xlin", S_XLIN}, {"ylin", S_YLIN}, - {"xlog", S_XLOG}, - {"ylog", S_YLOG}, - {"xlabel", S_XLABEL}, - {"ylabel", S_YLABEL}, - {"xlength", S_XLENGTH}, - {"ylength", S_YLENGTH}, - - {"xticks", S_XTICKS}, - {"yticks", S_YTICKS}, - {"above", S_ABOVE}, - {"label", S_LABEL}, - {"below", S_BELOW}, - {"nolabel", S_NOLABEL}, - {"right", S_RIGHT}, - {"left", S_LEFT}, - - {"xautoscale", S_XAUTOSCALE}, - {"yautoscale", S_YAUTOSCALE}, - {"xmin", S_XMIN}, - {"ymin", S_YMIN}, - {"xmax", S_XMAX}, - {"ymax", S_YMAX}, - {"lxfrac", S_LXFRAC}, - {"lyfrac", S_LYFRAC}, - {"xcross", S_XCROSS}, - {"ycross", S_YCROSS}, - {"noxaxis", S_NOXAXIS}, - {"noyaxis", S_NOYAXIS}, - {"xporigin", S_XPORIGIN}, - {"yporigin", S_YPORIGIN}, - {"title", S_TITLE}, - {"xtitle", S_XTITLE}, - {"ytitle", S_YTITLE}, - - {"replot", S_REPLOT}, - {"clear", S_CLEAR}, - {"store", S_STORE}, - {"restore", S_RESTORE}, - {"amark", S_AMARK}, - {"units", S_UNITS}, - {"inches", S_INCHES}, - {"user", S_USER}, - - {"data", S_DATA}, - {"help", S_HELP}, - {"exit", S_EXIT}, - - {"box", S_BOX}, - {"nobox", S_NOBOX}, - {"grid", S_GRID}, - {"nogrid", S_NOGRID}, - {"major", S_MAJOR}, - {"minor", S_MINOR}, - {"color", S_COLOR}, - {"legendbox", S_LEGENDBOX}, - - {"no", S_NO}, - - {"textsize", S_TEXTSIZE}, - }; + {"xlog", S_XLOG}, + {"ylog", S_YLOG}, + {"xlabel", S_XLABEL}, + {"ylabel", S_YLABEL}, + {"xlength", S_XLENGTH}, + {"ylength", S_YLENGTH}, + + {"xticks", S_XTICKS}, + {"yticks", S_YTICKS}, + {"above", S_ABOVE}, + {"label", S_LABEL}, + {"below", S_BELOW}, + {"nolabel", S_NOLABEL}, + {"right", S_RIGHT}, + {"left", S_LEFT}, + + {"xautoscale", S_XAUTOSCALE}, + {"yautoscale", S_YAUTOSCALE}, + {"xmin", S_XMIN}, + {"ymin", S_YMIN}, + {"xmax", S_XMAX}, + {"ymax", S_YMAX}, + {"lxfrac", S_LXFRAC}, + {"lyfrac", S_LYFRAC}, + {"xcross", S_XCROSS}, + {"ycross", S_YCROSS}, + {"noxaxis", S_NOXAXIS}, + {"noyaxis", S_NOYAXIS}, + {"xporigin", S_XPORIGIN}, + {"yporigin", S_YPORIGIN}, + {"title", S_TITLE}, + {"xtitle", S_XTITLE}, + {"ytitle", S_YTITLE}, + + {"replot", S_REPLOT}, + {"clear", S_CLEAR}, + {"store", S_STORE}, + {"restore", S_RESTORE}, + {"amark", S_AMARK}, + {"units", S_UNITS}, + {"inches", S_INCHES}, + {"user", S_USER}, + + {"data", S_DATA}, + {"help", S_HELP}, + {"exit", S_EXIT}, + + {"box", S_BOX}, + {"nobox", S_NOBOX}, + {"grid", S_GRID}, + {"nogrid", S_NOGRID}, + {"major", S_MAJOR}, + {"minor", S_MINOR}, + {"color", S_COLOR}, + {"legendbox", S_LEGENDBOX}, + + {"no", S_NO}, + + {"textsize", S_TEXTSIZE}, +}; static const unsigned int NKEYS=(sizeof(keytab) / sizeof(struct key)); void EZPlot::initkw(void) { - for (unsigned int i = 0; i < NKEYS; i++) - if (! pol_install(keytab[i].keyword, keytab[i].code)) - sys_error(ERR_SEVERE, "error installing ezset keywords [initkw]"); + for (unsigned int i = 0; i < NKEYS; i++) + if (! pol_install(keytab[i].keyword, keytab[i].code)) + sys_error(ERR_SEVERE, "error installing ezset keywords [initkw]"); }