=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/engine2000/plot.c,v retrieving revision 1.6 retrieving revision 1.11 diff -u -p -r1.6 -r1.11 --- OpenXM_contrib2/windows/engine2000/plot.c 2002/08/02 09:30:23 1.6 +++ OpenXM_contrib2/windows/engine2000/plot.c 2014/08/20 16:51:34 1.11 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/windows/engine2000/plot.c,v 1.5 2002/08/02 02:48:22 noro Exp $ + * $OpenXM: OpenXM_contrib2/windows/engine2000/plot.c,v 1.10 2014/05/13 20:07:23 ohara Exp $ */ #include "ca.h" #include "parse.h" @@ -69,7 +69,7 @@ extern jmp_buf ox_env; extern MATHCAP my_mathcap; extern char LastError[]; -void create_error(ERR *,unsigned int ,char *); +void create_error(ERR *,unsigned int ,char *,LIST); void ox_io_init(); void ox_asir_init(int,char **,char *); @@ -208,7 +208,7 @@ static void process_ox(int id, Obj obj, unsigned int s fprintf(stderr," %s\n",name_of_cmd(cmd)); if ( ret = setjmp(main_env) ) { if ( ret == 1 ) { - create_error(&err,serial,LastError); + create_error(&err,serial,LastError,0); asir_push_one((Obj)err); } break; @@ -235,13 +235,17 @@ static void process_ox(int id, Obj obj, unsigned int s static void process_resize(struct canvas *can,POINT startp,POINT endp) { - if ( can->mode == MODE_INTERACTIVE || can->mode == MODE_POLARPLOT ) + if ( can->mode == modeNO(INTERACTIVE) || can->mode == modeNO(POLARPLOT) ) return; - if ( can->mode == MODE_PLOT ) +#if 0 + if ( can->mode == modeNO(PLOT) ) plot_resize(can,startp,endp); else ifplot_resize(can,startp,endp); +#else + plot_resize(can,startp,endp); +#endif } static void asir_do_cmd(unsigned int cmd,unsigned int serial) @@ -283,7 +287,8 @@ static void asir_do_cmd(unsigned int cmd,unsigned int asir_executeFunction(); break; case SM_shutdown: - asir_terminate(2); + asir_infile = 0; + asir_terminate(3); break; case SM_pops: asir_pops(); @@ -320,8 +325,11 @@ static void asir_executeFunction(int serial) NEXT(n1) = 0; id = -1; if ( !strcmp(func,"plot") ) { - id = plot(n); + id = plot(n,modeNO(PLOT)); STOQ(id,ret); asir_push_one((Obj)ret); + }else if ( !strcmp(func,"ifplot") ) { + id = plot(n,modeNO(IFPLOT)); + STOQ(id,ret); asir_push_one((Obj)ret); } else if ( !strcmp(func,"arrayplot") ) { id = arrayplot(n); STOQ(id,ret); asir_push_one((Obj)ret); @@ -334,12 +342,12 @@ static void asir_executeFunction(int serial) drawcircle(n); } else if ( !strcmp(func,"draw_obj") ) { if ( draw_obj(n) < 0 ) { - create_error(&err,serial,LastError); + create_error(&err,serial,LastError,0); asir_push_one((Obj)err); } } else if ( !strcmp(func,"draw_string") ) { if ( draw_string(n) < 0 ) { - create_error(&err,serial,LastError); + create_error(&err,serial,LastError,0); asir_push_one((Obj)err); } } else if ( !strcmp(func,"clear_canvas") ) {