[BACK]Return to if.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / plot

Diff for /OpenXM_contrib2/asir2000/plot/if.c between version 1.30 and 1.36

version 1.30, 2014/06/27 07:58:29 version 1.36, 2017/09/04 01:57:53
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/plot/if.c,v 1.29 2014/05/25 03:07:04 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/plot/if.c,v 1.35 2017/09/01 01:48:40 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 128  int plot(NODE arg,int fn){
Line 128  int plot(NODE arg,int fn){
         LIST xrange,yrange,zrange,wsize;          LIST xrange,yrange,zrange,wsize;
         STRING wname;          STRING wname;
         V v;          V v;
     Real r;
     double rr;
   
         formula=(P)ARG0(arg);          formula=(P)ARG0(arg);
         xrange=(LIST)ARG1(arg);          xrange=(LIST)ARG1(arg);
Line 145  int plot(NODE arg,int fn){
Line 147  int plot(NODE arg,int fn){
                 n=BDY(yrange);can->vy=VR((P)BDY(n));n=NEXT(n);                  n=BDY(yrange);can->vy=VR((P)BDY(n));n=NEXT(n);
                 can->qymin=(Q)BDY(n);n=NEXT(n);can->qymax=(Q)BDY(n);                  can->qymin=(Q)BDY(n);n=NEXT(n);can->qymax=(Q)BDY(n);
                 can->ymin=ToReal(can->qymin);can->ymax=ToReal(can->qymax);                  can->ymin=ToReal(can->qymin);can->ymax=ToReal(can->qymax);
         }          } else if ( !formula || NUM(formula) ) {
       devalr(CO,(Obj)formula,(Obj *)&r); rr = ToReal(r);
                   can->ymin=rr-1; can->ymax=rr+1;
     }
         can->mode=fn;          can->mode=fn;
         if(zrange){          if(zrange){
                 n=NEXT(BDY(zrange));                  n=NEXT(BDY(zrange));
Line 170  int plot(NODE arg,int fn){
Line 175  int plot(NODE arg,int fn){
         can->formula=formula;          can->formula=formula;
         if(can->mode==modeNO(PLOT)){          if(can->mode==modeNO(PLOT)){
                 //plot                  //plot
             can->prec=argc(arg)==7 ? QTOS((Q)ARG6(arg)) : 0;
                 plotcalc(can);                  plotcalc(can);
                 create_canvas(can);                  create_canvas(can);
                 plot_print(display,can);                  plot_print(display,can);
Line 210  int memory_plot(NODE arg,LIST *bytes){
Line 216  int memory_plot(NODE arg,LIST *bytes){
         double **tabe;          double **tabe;
         int i;          int i;
         BYTEARRAY barray;          BYTEARRAY barray;
         Q qw,qh;          Q qw,qh,prec;
   
         formula=(P)ARG0(arg);          formula=(P)ARG0(arg);
         xrange=(LIST)ARG1(arg);          xrange=(LIST)ARG1(arg);
Line 247  int memory_plot(NODE arg,LIST *bytes){
Line 253  int memory_plot(NODE arg,LIST *bytes){
         can->wname="";          can->wname="";
         can->formula=formula;          can->formula=formula;
         if( can->mode==modeNO(PLOT)){          if( can->mode==modeNO(PLOT)){
       can->prec = argc(arg)==6 ? QTOS((Q)ARG5(arg)) : 0;
                 plotcalc(can);                  plotcalc(can);
                 memory_print(can,&barray);                  memory_print(can,&barray);
                 STOQ(can->width,qw); STOQ(can->height,qh);                  STOQ(can->width,qw); STOQ(can->height,qh);
Line 283  int plotover(NODE arg){
Line 290  int plotover(NODE arg){
         for(vl0=vl;vl0;vl0=NEXT(vl0))          for(vl0=vl;vl0;vl0=NEXT(vl0))
                 if(vl0->v->attr==(pointer)V_IND)                  if(vl0->v->attr==(pointer)V_IND)
                         if(vl->v!=can->vx && vl->v!=can->vy)return -1;                          if(vl->v!=can->vx && vl->v!=can->vy)return -1;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         current_can=can;          current_can=can;
         can->formula=formula;          can->formula=formula;
         if(can->mode==modeNO(PLOT)){          if(can->mode==modeNO(PLOT)){
       can->prec = argc(arg)==3 ? QTOS((Q)ARG2(arg)) : 0;
                 plotcalc(can);                  plotcalc(can);
                 plot_print(display,can);                  plot_print(display,can);
         } else ifplotmain(can);          } else ifplotmain(can);
         copy_to_canvas(can);          copy_to_canvas(can);
         can->color=orgcolor;          can->color=orgcolor;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         return id;          return id;
 }  }
   
 int drawcircle(NODE arg){  int drawcircle(NODE arg){
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         int id,index,wx,wy,wr;          int id,index,wx,wy,wr;
         unsigned int c;          unsigned int c;
         pointer ptr;          pointer ptr;
Line 377  int draw_obj(NODE arg){
Line 385  int draw_obj(NODE arg){
                         set_lasterror("draw_obj : invalid request");                          set_lasterror("draw_obj : invalid request");
                         return -1;                          return -1;
         }          }
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         return 0;          return 0;
Line 410  int draw_string(NODE arg){
Line 418  int draw_string(NODE arg){
         x=(int)ToReal((Q)ARG0(pos));          x=(int)ToReal((Q)ARG0(pos));
         y=(int)ToReal((Q)ARG1(pos));          y=(int)ToReal((Q)ARG1(pos));
         draw_character_string(display,can,x,y,str,color);          draw_character_string(display,can,x,y,str,color);
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         return 0;          return 0;
Line 565  void ifplot_resize(struct canvas *can,POINT spos,POINT
Line 573  void ifplot_resize(struct canvas *can,POINT spos,POINT
                 if(can->precise && !can->wide){                  if(can->precise && !can->wide){
                         current_can=can;                          current_can=can;
                         alloc_pixmap(ncan);                          alloc_pixmap(ncan);
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
                         ncan->real_can=can;                          ncan->real_can=can;
 #endif  #endif
                         qifplotmain(ncan);                          qifplotmain(ncan);
Line 574  void ifplot_resize(struct canvas *can,POINT spos,POINT
Line 582  void ifplot_resize(struct canvas *can,POINT spos,POINT
                 } else {                  } else {
                         create_canvas(ncan);                          create_canvas(ncan);
                         if( can->precise ) qifplotmain(ncan);                          if( can->precise ) qifplotmain(ncan);
                         else ifplotmainNG(ncan);                          else ifplotmain(ncan);
                         copy_to_canvas(ncan);                          copy_to_canvas(ncan);
                 }                  }
         }          }
Line 628  void plot_resize(struct canvas *can,POINT spos,POINT e
Line 636  void plot_resize(struct canvas *can,POINT spos,POINT e
                 ncan->xmin=ToReal(ncan->qxmin); ncan->xmax=ToReal(ncan->qxmax);                  ncan->xmin=ToReal(ncan->qxmin); ncan->xmax=ToReal(ncan->qxmax);
                 ncan->ymin=ymax-YC(epos)*dy/can->height;                  ncan->ymin=ymax-YC(epos)*dy/can->height;
                 ncan->ymax=ymax-YC(spos)*dy/can->height;                  ncan->ymax=ymax-YC(spos)*dy/can->height;
       ncan->prec = can->prec;
                 create_canvas(ncan);                  create_canvas(ncan);
   
                 switch (ncan->mode){                  switch (ncan->mode){
Line 786  int ifplotOP(NODE arg,int func){
Line 795  int ifplotOP(NODE arg,int func){
         for(vl0=vl;vl0;vl0=NEXT(vl0))          for(vl0=vl;vl0;vl0=NEXT(vl0))
                 if(vl0->v->attr==(pointer)V_IND)                  if(vl0->v->attr==(pointer)V_IND)
                         if(vl->v!=can->vx && vl->v!=can->vy)return -1;                          if(vl->v!=can->vx && vl->v!=can->vy)return -1;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         can->mode=func;          can->mode=func;
Line 795  int ifplotOP(NODE arg,int func){
Line 804  int ifplotOP(NODE arg,int func){
         set_drawcolor(orgcolor);          set_drawcolor(orgcolor);
         copy_to_canvas(can);          copy_to_canvas(can);
         can->color=orgcolor;          can->color=orgcolor;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         set_drawcolor(can->color);          set_drawcolor(can->color);
 #endif  #endif
         return index;          return index;
Line 908  void ifplotmainNG(struct canvas *can){
Line 917  void ifplotmainNG(struct canvas *can){
         define_cursor(can->window,normalcur);          define_cursor(can->window,normalcur);
 }  }
   
 #if defined(INTERVAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
 int objcp(NODE arg){  int objcp(NODE arg){
         int idsrc, idtrg, op_code;          int idsrc, idtrg, op_code;
         struct canvas *cansrc, *cantrg;          struct canvas *cansrc, *cantrg;

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.36

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>