version 1.17, 2014/05/12 16:54:41 |
version 1.22, 2015/08/06 10:01:53 |
|
|
* 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.16 2013/12/19 05:48:25 saito Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/plot/plotp.c,v 1.21 2014/08/20 16:51:34 ohara Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
|
|
#define EXP10(a) pow(10.0,a) |
#define EXP10(a) pow(10.0,a) |
#endif |
#endif |
|
|
#if defined(VISUAL) |
#if defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__) |
static POINT oldpos; |
static POINT oldpos; |
#endif |
#endif |
|
|
#if defined(INTERVAL) |
#if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__) |
|
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 156 void over_print(DISPLAY *display,double **tab,struct c |
|
Line 163 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; |
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) || defined(__MINGW32__) || defined(__MINGW64__) |
|
HDC dc; |
|
HPEN pen,oldpen; |
len=can->pa[0].length; |
len=can->pa[0].length; |
color=can->color; |
color=can->color; |
pa=can->pa[0].pos; |
pa=can->pa[0].pos; |
#if defined(VISUAL) |
|
HDC dc; |
|
HPEN pen,oldpen; |
|
for(i=1;i<len;i++){ |
for(i=1;i<len;i++){ |
j=i-1; |
j=i-1; |
if(color){ |
if(color){ |
Line 215 void polar_print(DISPLAY *display,struct canvas *can){ |
|
Line 222 void polar_print(DISPLAY *display,struct canvas *can){ |
|
} |
} |
} |
} |
#else |
#else |
|
len=can->pa[0].length; |
|
color=can->color; |
|
pa=can->pa[0].pos; |
for(i=1;i<len;i++){ |
for(i=1;i<len;i++){ |
j=i-1; |
j=i-1; |
DRAWLINE(display,can->pix,cdrawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i])); |
DRAWLINE(display,can->pix,cdrawGC,XC(pa[j]),YC(pa[j]),XC(pa[i]),YC(pa[i])); |
Line 224 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 278 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 429 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__) || defined(__MINGW64__) |
len = can->pa[0].length; |
len = can->pa[0].length; |
pa = can->pa[0].pos; |
pa = can->pa[0].pos; |
|
|
Line 444 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__) || defined(__MINGW64__) |
HDC dc; |
HDC dc; |
|
|
SetPixel(can->pix,x,y,(COLORREF)color); |
SetPixel(can->pix,x,y,(COLORREF)color); |
Line 461 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__) || defined(__MINGW64__) |
HDC dc; |
HDC dc; |
HPEN pen,oldpen; |
HPEN pen,oldpen; |
|
|
|
|
} |
} |
|
|
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__) || defined(__MINGW64__) |
HDC dc; |
HDC dc; |
COLORREF oldcolor; |
COLORREF oldcolor; |
|
|
Line 573 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__) && !defined(__MINGW64__) |
xadj = TEXTWIDTH(sffs,buf,strlen(buf)); |
xadj = TEXTWIDTH(sffs,buf,strlen(buf)); |
#else |
#else |
SIZE size; |
SIZE size; |
Line 601 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__) || defined(__MINGW64__) |
can->real_can->percentage = 0; |
can->real_can->percentage = 0; |
can->real_can->prefix = message; |
can->real_can->prefix = message; |
#else |
#else |
Line 612 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__) || defined(__MINGW64__) |
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 634 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__) && !defined(__MINGW64__) |
XDefineCursor(display,w,cur); flush(); |
XDefineCursor(display,w,cur); flush(); |
#endif |
#endif |
} |
} |
Line 647 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__) && !defined(__MINGW64__) |
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__) && !defined(__MINGW64__) |
flush_count = 0; |
flush_count = 0; |
XFlush(display); |
XFlush(display); |
#endif |
#endif |