[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.18 and 1.24

version 1.18, 2014/05/13 20:02:40 version 1.24, 2017/08/31 08:52:27
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.17 2014/05/12 16:54:41 saito Exp $   * $OpenXM: OpenXM_contrib2/asir2000/plot/plotp.c,v 1.23 2015/08/14 13:51:56 fujimoto Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 59 
Line 59 
 #define EXP10(a) pow(10.0,a)  #define EXP10(a) pow(10.0,a)
 #endif  #endif
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
 static POINT oldpos;  static POINT oldpos;
 #endif  #endif
   
 #if defined(INTERVAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
   extern Pixel BackPixel;
 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 81  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 137  void area_print(DISPLAY *display,double **tab,struct c
Line 139  void area_print(DISPLAY *display,double **tab,struct c
         count_and_flush();          count_and_flush();
         flush();          flush();
 }  }
   #else
   void area_print(DISPLAY *display,double **tab,struct canvas *can,int GXcode){
       /* not implemented */
   }
   #endif
   
 void over_print(DISPLAY *display,double **tab,struct canvas *can,int GXcode){  void over_print(DISPLAY *display,double **tab,struct canvas *can,int GXcode){
         int ix,iy,width,height;          int ix,iy,width,height;
Line 150  void over_print(DISPLAY *display,double **tab,struct c
Line 157  void over_print(DISPLAY *display,double **tab,struct c
                         MAX(MAX(tab[ix][iy],tab[ix][iy+1]),MAX(tab[ix+1][iy],tab[ix+1][iy+1]));                          MAX(MAX(tab[ix][iy],tab[ix][iy+1]),MAX(tab[ix+1][iy],tab[ix+1][iy+1]));
                         vmin=                          vmin=
                         MIN(MIN(tab[ix][iy],tab[ix][iy+1]),MIN(tab[ix+1][iy],tab[ix+1][iy+1]));                          MIN(MIN(tab[ix][iy],tab[ix][iy+1]),MIN(tab[ix+1][iy],tab[ix+1][iy+1]));
                         if(vmin<=0.0&vmax>=0.0)DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);                          if(vmin<=0.0 && vmax>=0.0) DRAWPOINT(display,pix,cdrawGC,ix,height-iy-1);
                 }                  }
                 count_and_flush();                  count_and_flush();
         }          }
         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;
Line 183  void if_print(DISPLAY *display,double **tab,struct can
Line 189  void if_print(DISPLAY *display,double **tab,struct can
 }  }
   
 void polar_print(DISPLAY *display,struct canvas *can){  void polar_print(DISPLAY *display,struct canvas *can){
         int len,color,i,j,x,y;          int len,i,j,x,y;
           unsigned int color;
         POINT *pa;          POINT *pa;
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
         HDC dc;          HDC dc;
         HPEN pen,oldpen;          HPEN pen,oldpen;
         len=can->pa[0].length;          len=can->pa[0].length;
Line 227  void polar_print(DISPLAY *display,struct canvas *can){
Line 234  void polar_print(DISPLAY *display,struct canvas *can){
 }  }
   
   
 void if_printOld(DISPLAY *display,double **tab,struct canvas *can){  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 281  void if_printOld(DISPLAY *display,double **tab,struct 
Line 307  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 432  void plot_print(DISPLAY *display,struct canvas *can){
Line 459  void plot_print(DISPLAY *display,struct canvas *can){
         int len;          int len;
         POINT *pa;          POINT *pa;
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
         len = can->pa[0].length;          len = can->pa[0].length;
         pa = can->pa[0].pos;          pa = can->pa[0].pos;
   
Line 447  void plot_print(DISPLAY *display,struct canvas *can){
Line 474  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){
 #if defined(VISUAL)  //void draw_point(DISPLAY *display,struct canvas *can,int x,int y,int color){
   #if defined(VISUAL) || defined(__MINGW32__)
         HDC dc;          HDC dc;
   
         SetPixel(can->pix,x,y,(COLORREF)color);          SetPixel(can->pix,x,y,(COLORREF)color);
Line 464  void draw_point(DISPLAY *display,struct canvas *can,in
Line 492  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){
 #if defined(VISUAL)          //DISPLAY *display,struct canvas *can,int x,int y,int u,int v,int color){
   #if defined(VISUAL) || defined(__MINGW32__)
         HDC dc;          HDC dc;
         HPEN pen,oldpen;          HPEN pen,oldpen;
   
Line 497  void draw_line(
Line 526  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){
 #if defined(VISUAL)          //DISPLAY *display,struct canvas *can,int x,int y,char *str,int color){
   #if defined(VISUAL) || defined(__MINGW32__)
         HDC dc;          HDC dc;
         COLORREF oldcolor;          COLORREF oldcolor;
   
Line 576  void pline(DISPLAY *display,struct canvas *can,DRAWABL
Line 606  void pline(DISPLAY *display,struct canvas *can,DRAWABL
                 DRAWLINE(display,d,drawGC,x0,y,x0+D,y);                  DRAWLINE(display,d,drawGC,x0,y,x0+D,y);
                 sprintf(buf,"%g",n*e);                  sprintf(buf,"%g",n*e);
                 if ( can->xmax <= 0 ) {                  if ( can->xmax <= 0 ) {
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
                         xadj = TEXTWIDTH(sffs,buf,strlen(buf));                          xadj = TEXTWIDTH(sffs,buf,strlen(buf));
 #else  #else
                         SIZE size;                          SIZE size;
Line 604  double adjust_scale(double e,double w){
Line 634  double adjust_scale(double e,double w){
 }  }
   
 void initmarker(struct canvas *can,char *message){  void initmarker(struct canvas *can,char *message){
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
         can->real_can->percentage = 0;          can->real_can->percentage = 0;
         can->real_can->prefix = message;          can->real_can->prefix = message;
 #else  #else
Line 615  void initmarker(struct canvas *can,char *message){
Line 645  void initmarker(struct canvas *can,char *message){
 }  }
   
 void marker(struct canvas *can,int dir,int p){  void marker(struct canvas *can,int dir,int p){
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
         if ( dir == DIR_X )          if ( dir == DIR_X )
                 can->real_can->percentage = (int)ceil((float)p/(float)can->real_can->width*100);                  can->real_can->percentage = (int)ceil((float)p/(float)can->real_can->width*100);
         else if ( dir == DIR_Y )          else if ( dir == DIR_Y )
Line 637  void marker(struct canvas *can,int dir,int p){
Line 667  void marker(struct canvas *can,int dir,int p){
 }  }
   
 void define_cursor(WINDOW w,CURSOR cur){  void define_cursor(WINDOW w,CURSOR cur){
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         XDefineCursor(display,w,cur); flush();          XDefineCursor(display,w,cur); flush();
 #endif  #endif
 }  }
Line 650  static int flush_count;
Line 680  static int flush_count;
 #endif  #endif
   
 void count_and_flush(){  void count_and_flush(){
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         if ( ++flush_count == MAX_COUNT )          if ( ++flush_count == MAX_COUNT )
                 flush();                  flush();
 #endif  #endif
 }  }
   
 void flush(){  void flush(){
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         flush_count = 0;          flush_count = 0;
         XFlush(display);          XFlush(display);
 #endif  #endif

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.24

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