version 1.31, 2014/07/05 03:55:42 |
version 1.35, 2017/09/01 01:48:40 |
|
|
* 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.30 2014/06/27 07:58:29 saito Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/plot/if.c,v 1.34 2015/08/14 13:51:56 fujimoto 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 283 int plotover(NODE arg){ |
|
Line 288 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; |
Line 294 int plotover(NODE arg){ |
|
Line 299 int plotover(NODE arg){ |
|
} 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 382 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 415 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 570 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 579 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 786 int ifplotOP(NODE arg,int func){ |
|
Line 791 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 800 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 913 void ifplotmainNG(struct canvas *can){ |
|
define_cursor(can->window,normalcur); |
define_cursor(can->window,normalcur); |
} |
} |
|
|
|
#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; |
Line 1005 void obj_op(struct canvas *cansrc, struct canvas *cant |
|
Line 1011 void obj_op(struct canvas *cansrc, struct canvas *cant |
|
count_and_flush(); |
count_and_flush(); |
flush(); |
flush(); |
} |
} |
|
#endif |
|
|
int polarplotNG(NODE arg){ |
int polarplotNG(NODE arg){ |
int i,id,width,height; |
int i,id,width,height; |