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

Diff for /OpenXM_contrib2/asir2000/plot/plotp.c between version 1.16 and 1.20

version 1.16, 2013/12/19 05:48:25 version 1.20, 2014/07/05 03:55:42
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/plotp.c,v 1.15 2011/08/11 06:25:06 saito Exp $   * $OpenXM: OpenXM_contrib2/asir2000/plot/plotp.c,v 1.19 2014/06/27 07:58:29 saito Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 63 
Line 63 
 static POINT oldpos;  static POINT oldpos;
 #endif  #endif
   
 #if defined(INTERVAL)  
 unsigned long GetColor(Display *, char *);  unsigned long GetColor(Display *, char *);
   
 unsigned long GetColor(Display *dis, char *color_name)  unsigned long GetColor(Display *dis, char *color_name)
Line 80  void area_print(DISPLAY *display,double **tab,struct c
Line 79  void area_print(DISPLAY *display,double **tab,struct c
         int ix,iy,width,height,wc,**mask;          int ix,iy,width,height,wc,**mask;
         XImage *image;          XImage *image;
         DRAWABLE pix;          DRAWABLE pix;
         unsigned long color,black,white,c2;          unsigned int color,black,white,c2;
           //unsigned long color,black,white,c2;
         double *px,*px1,*px2;          double *px,*px1,*px2;
         //GXcode 0:new 1:cp 2:and 3:or 4:xor          //GXcode 0:new 1:cp 2:and 3:or 4:xor
         width=can->width;          width=can->width;
Line 156  void over_print(DISPLAY *display,double **tab,struct c
Line 156  void over_print(DISPLAY *display,double **tab,struct c
         }          }
         flush();          flush();
 }  }
 #endif  
   
 void if_print(DISPLAY *display,double **tab,struct canvas *can,int cond){  void if_printNG(DISPLAY *display,double **tab,struct canvas *can,int cond){
         int ix,iy,width,height;          int ix,iy,width,height;
         double zst,zed,zsp;          double zst,zed,zsp;
         DRAWABLE pix;          DRAWABLE pix;
         width=can->width; height=can->height; pix=can->pix;          width=can->width; height=can->height; pix=can->pix;
         if(cond==0){          if(cond==0){
                 //MODE_IFPLOTB                  //IFPLOTB
                 for(iy=0;iy<height-1;iy++)for(ix=0;ix<width-1;ix++)                  for(iy=0;iy<height-1;iy++)for(ix=0;ix<width-1;ix++)
                         if(tab[ix][iy]==0.0) DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);                          if(tab[ix][iy]==0.0) DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);
         } else {          } else if(cond==1) {
                 //MODE_IFPLOT,MODE_IFPLOTD,MODE_IFPLOTQ                  //IFPLOT,IFPLOTD,IFPLOTQ
                 for(iy=0;iy<height-1;iy++)for(ix=0;ix<width-1;ix++){                  for(iy=0;iy<height-1;iy++)for(ix=0;ix<width-1;ix++){
                         if(tab[ix][iy]==0.0) DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);                          if(tab[ix][iy]==0.0) DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);
                         else if(tab[ix][iy]>0){                          else if(tab[ix][iy]>0){
Line 182  void if_print(DISPLAY *display,double **tab,struct can
Line 181  void if_print(DISPLAY *display,double **tab,struct can
         flush();          flush();
 }  }
   
 void if_printOld(DISPLAY *display,double **tab,struct canvas *can){  void polar_print(DISPLAY *display,struct canvas *can){
           int len,i,j,x,y;
           unsigned int color;
           POINT *pa;
   
   #if defined(VISUAL)
           HDC dc;
           HPEN pen,oldpen;
           len=can->pa[0].length;
           color=can->color;
           pa=can->pa[0].pos;
           for(i=1;i<len;i++){
                   j=i-1;
                   if(color){
                           pen=CreatePen(PS_SOLID,1,color);
                           oldpen=SelectObject(can->pix,pen);
                           DRAWLINE(display,can->pix,drawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i]));
                           SelectObject(can->pix,oldpen);
   
                           dc = GetDC(can->hwnd);
                           oldpen = SelectObject(dc,pen);
                           DRAWLINE(display,dc,drawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i]));
                           SelectObject(dc,oldpen);
                           ReleaseDC(can->hwnd,dc);
   
                           DeleteObject(pen);
                   } else {
                           DRAWLINE(display,can->pix,drawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i]));
                           dc = GetDC(can->hwnd);
                           DRAWLINE(display,dc,drawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i]));
                           ReleaseDC(can->hwnd,dc);
                   }
           }
   #else
           len=can->pa[0].length;
           color=can->color;
           pa=can->pa[0].pos;
           for(i=1;i<len;i++){
                   j=i-1;
                   DRAWLINE(display,can->pix,cdrawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i]));
           }
           XFlush(display);
   #endif
   }
   
   
   void if_print(DISPLAY *display,double **tab,struct canvas *can){
           int ix,iy,width,height;
           double *px,*px1,*px2;
           DRAWABLE pix;
   
           if ( can->mode == modeNO(CONPLOT) ) {
                   con_print(display,tab,can); return;
           }
           flush();
           width = can->width; height = can->height; pix = can->pix;
           for( ix=0; ix<width-1; ix++ )
                   for(iy=0, px=tab[ix], px1 = tab[ix+1], px2 = px+1;
                           iy<height-1 ;iy++, px++, px1++, px2++ )
                           if ( ((*px >= 0) && ((*px1 <= 0) || (*px2 <= 0))) ||
                                   ((*px <= 0) && ((*px1 >= 0) || (*px2 >= 0))) ) {
                   DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);
                   count_and_flush();
           }
           flush();
   /*
         int i,ix,iy,width,height;          int i,ix,iy,width,height;
         double *px,*px1,*px2;          double *px,*px1,*px2;
         double **vmax,**vmin,*zst,zstep,zv,u,l;          double **vmax,**vmin,*zst,zstep,zv,u,l;
Line 190  void if_printOld(DISPLAY *display,double **tab,struct 
Line 254  void if_printOld(DISPLAY *display,double **tab,struct 
         POINT *pa,*pa1;          POINT *pa,*pa1;
         struct pa *parray;          struct pa *parray;
   
         if(can->mode==MODE_CONPLOT){          if(can->mode==modeNO(CONPLOT)){
                 width=can->width;height=can->height;pix=can->pix;                  width=can->width;height=can->height;pix=can->pix;
                 //con_print(display,tab,can);                  //con_print(display,tab,can);
           // calc all cell max,min value            // calc all cell max,min value
Line 236  void if_printOld(DISPLAY *display,double **tab,struct 
Line 300  void if_printOld(DISPLAY *display,double **tab,struct 
                         }                          }
         }          }
         flush();          flush();
   */
 }  }
   
 #define MEMORY_DRAWPOINT(a,len,x,y) (((a)[(len)*(y)+((x)>>3)]) |= (1<<((x)&7)))  #define MEMORY_DRAWPOINT(a,len,x,y) (((a)[(len)*(y)+((x)>>3)]) |= (1<<((x)&7)))
Line 245  void memory_if_print(double **tab,struct canvas *can,B
Line 310  void memory_if_print(double **tab,struct canvas *can,B
         double *px,*px1,*px2;          double *px,*px1,*px2;
         unsigned char *array;          unsigned char *array;
         int scan_len;          int scan_len;
         if ( can->mode == MODE_CONPLOT ){          if ( can->mode==modeNO(CONPLOT)){
                 memory_con_print(tab,can,bytes);                  memory_con_print(tab,can,bytes);
                 return;                  return;
         }          }
Line 358  void memory_print(struct canvas *can,BYTEARRAY *bytes)
Line 423  void memory_print(struct canvas *can,BYTEARRAY *bytes)
         /* scan_len = byte length of the scan line */          /* scan_len = byte length of the scan line */
         scan_len = (can->width+7)/8;          scan_len = (can->width+7)/8;
         MKBYTEARRAY(*bytes,scan_len*can->height);          MKBYTEARRAY(*bytes,scan_len*can->height);
         array = BDY(*bytes);          array = (char*)BDY(*bytes);
   
         len = can->pa[0].length;          len = can->pa[0].length;
         pa = can->pa[0].pos;          pa = can->pa[0].pos;
Line 402  void plot_print(DISPLAY *display,struct canvas *can){
Line 467  void plot_print(DISPLAY *display,struct canvas *can){
 #endif  #endif
 }  }
   
 void draw_point(DISPLAY *display,struct canvas *can,int x,int y,int color){  void draw_point(DISPLAY *display,struct canvas *can,int x,int y,unsigned int color){
   //void draw_point(DISPLAY *display,struct canvas *can,int x,int y,int color){
 #if defined(VISUAL)  #if defined(VISUAL)
         HDC dc;          HDC dc;
   
Line 419  void draw_point(DISPLAY *display,struct canvas *can,in
Line 485  void draw_point(DISPLAY *display,struct canvas *can,in
 }  }
   
 void draw_line(  void draw_line(
         DISPLAY *display,struct canvas *can,int x,int y,int u,int v,int color){          DISPLAY *display,struct canvas *can,int x,int y,int u,int v,unsigned int color){
           //DISPLAY *display,struct canvas *can,int x,int y,int u,int v,int color){
 #if defined(VISUAL)  #if defined(VISUAL)
         HDC dc;          HDC dc;
         HPEN pen,oldpen;          HPEN pen,oldpen;
Line 452  void draw_line(
Line 519  void draw_line(
 }  }
   
 void draw_character_string(  void draw_character_string(
         DISPLAY *display,struct canvas *can,int x,int y,char *str,int color){          DISPLAY *display,struct canvas *can,int x,int y,char *str,unsigned int color){
           //DISPLAY *display,struct canvas *can,int x,int y,char *str,int color){
 #if defined(VISUAL)  #if defined(VISUAL)
         HDC dc;          HDC dc;
         COLORREF oldcolor;          COLORREF oldcolor;
Line 490  void pline(DISPLAY *display,struct canvas *can,DRAWABL
Line 558  void pline(DISPLAY *display,struct canvas *can,DRAWABL
         double adjust_scale();          double adjust_scale();
   
         /* XXX : should be cleaned up */          /* XXX : should be cleaned up */
         if ( can->noaxis || (can->mode == MODE_PLOT && !can->pa) )          if ( can->noaxis || (can->mode==modeNO(PLOT)&& !can->pa) )
                 return;                  return;
         if ( can->mode == MODE_INTERACTIVE )          if ( can->mode==modeNO(INTERACTIVE))
                 return;                  return;
   
         xadj = yadj = 0;          xadj = yadj = 0;

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.20

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