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

Diff for /OpenXM_contrib2/asir2000/plot/plotf.c between version 1.1.1.1 and 1.7

version 1.1.1.1, 1999/12/03 07:39:13 version 1.7, 2000/11/09 01:51:13
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/asir99/plot/plotf.c,v 1.1.1.1 1999/11/10 08:12:34 noro Exp $ */  /*
    * Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
    * All rights reserved.
    *
    * FUJITSU LABORATORIES LIMITED ("FLL") hereby grants you a limited,
    * non-exclusive and royalty-free license to use, copy, modify and
    * redistribute, solely for non-commercial and non-profit purposes, the
    * computer program, "Risa/Asir" ("SOFTWARE"), subject to the terms and
    * conditions of this Agreement. For the avoidance of doubt, you acquire
    * only a limited right to use the SOFTWARE hereunder, and FLL or any
    * third party developer retains all rights, including but not limited to
    * copyrights, in and to the SOFTWARE.
    *
    * (1) FLL does not grant you a license in any way for commercial
    * purposes. You may use the SOFTWARE only for non-commercial and
    * non-profit purposes only, such as academic, research and internal
    * business use.
    * (2) The SOFTWARE is protected by the Copyright Law of Japan and
    * international copyright treaties. If you make copies of the SOFTWARE,
    * with or without modification, as permitted hereunder, you shall affix
    * to all such copies of the SOFTWARE the above copyright notice.
    * (3) An explicit reference to this SOFTWARE and its copyright owner
    * shall be made on your publication or presentation in any form of the
    * results obtained by use of the SOFTWARE.
    * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
    * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
    * for such modification or the source code of the modified part of the
    * SOFTWARE.
    *
    * THE SOFTWARE IS PROVIDED AS IS WITHOUT ANY WARRANTY OF ANY KIND. FLL
    * MAKES ABSOLUTELY NO WARRANTIES, EXPRESSED, IMPLIED OR STATUTORY, AND
    * EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS
    * FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF THIRD PARTIES'
    * RIGHTS. NO FLL DEALER, AGENT, EMPLOYEES IS AUTHORIZED TO MAKE ANY
    * MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY.
    * UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT,
    * OR OTHERWISE, SHALL FLL BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
    * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
    * DAMAGES OF ANY CHARACTER, INCLUDING, WITHOUT LIMITATION, DAMAGES
    * ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS AGREEMENT, DAMAGES
    * FOR LOSS OF GOODWILL, WORK STOPPAGE, OR LOSS OF DATA, OR FOR ANY
    * DAMAGES, EVEN IF FLL SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
    * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. EVEN IF A PART
    * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
    * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
    * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
    *
    * $OpenXM: OpenXM_contrib2/asir2000/plot/plotf.c,v 1.6 2000/11/07 06:06:40 noro Exp $
   */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
 #include "ox.h"  #include "ox.h"
 #include "ifplot.h"  #include "ifplot.h"
   
 void Pifplot(), Pconplot(), Pplotover(), Pplot(), Parrayplot(), Pdrawcircle();  void Pifplot(), Pconplot(), Pplotover(), Pplot(), Parrayplot(), Pdrawcircle();
   void Popen_canvas(), Pclear_canvas(), Pdraw_obj();
   
 struct ftab plot_tab[] = {  struct ftab plot_tab[] = {
         {"ifplot",Pifplot,-7},          {"ifplot",Pifplot,-7},
Line 12  struct ftab plot_tab[] = {
Line 61  struct ftab plot_tab[] = {
         {"plot",Pplot,-6},          {"plot",Pplot,-6},
         {"plotover",Pplotover,3},          {"plotover",Pplotover,3},
         {"drawcircle",Pdrawcircle,5},          {"drawcircle",Pdrawcircle,5},
           {"open_canvas",Popen_canvas,-3},
           {"clear_canvas",Pclear_canvas,2},
           {"draw_obj",Pdraw_obj,-4},
 /*  /*
         {"arrayplot",Parrayplot,2},          {"arrayplot",Parrayplot,2},
 */  */
Line 20  struct ftab plot_tab[] = {
Line 72  struct ftab plot_tab[] = {
   
 int current_s;  int current_s;
   
   void Popen_canvas(arg,rp)
   NODE arg;
   Obj *rp;
   {
           Q w300,sid;
           LIST geom;
           int stream,id,i;
           NODE n,n0;
           STRING fname,wname;
   
           geom = 0; wname = 0; stream = -1;
           for ( ; arg; arg = NEXT(arg) )
                   if ( !BDY(arg) )
                           stream = 0;
                   else
                   switch ( OID(BDY(arg)) ) {
                           case O_LIST:
                                   geom = (LIST)BDY(arg);
                                   break;
                           case O_N:
                                   stream = QTOS((Q)BDY(arg)); break;
                           case O_STR:
                                   wname = (STRING)BDY(arg); break;
                           default:
                                   error("open_canvas : invalid argument"); break;
                   }
           /* open_canvas in ox_plot requires
              [sid (Q),
                   geom=[xsize,ysize] (LIST),
                   wname=name (STRING)]
           */
   
           if ( stream < 0 )
                   stream = current_s;
           else
                   current_s = stream;
           STOQ(stream,sid);
           if ( !geom ) {
                   STOQ(300,w300);
                   MKNODE(n0,w300,0); MKNODE(n,w300,n0); MKLIST(geom,n);
           }
           MKSTR(fname,"open_canvas");
           arg = mknode(4,sid,fname,geom,wname);
           Pox_cmo_rpc(arg,rp);
   }
   
 void Pifplot(arg,rp)  void Pifplot(arg,rp)
 NODE arg;  NODE arg;
 Obj *rp;  Obj *rp;
Line 378  Obj *rp;
Line 476  Obj *rp;
         n = mknode(3,x,y,r); MKLIST(pos,n);          n = mknode(3,x,y,r); MKLIST(pos,n);
         arg = mknode(4,sid,fname,index,pos);          arg = mknode(4,sid,fname,index,pos);
         Pox_rpc(arg,rp);          Pox_rpc(arg,rp);
   }
   
   /* draw_obj(sid,cindex,point|line); point = [x,y], line = [xa,ya,xb,yb] */
   void Pdraw_obj(arg,rp)
   NODE arg;
   Obj *rp;
   {
           static STRING fname;
           Q sid,index;
           LIST obj;
   
           if ( !fname ) {
                   MKSTR(fname,"draw_obj");
           }
           sid = (Q)ARG0(arg);
           index = (Q)ARG1(arg);
           obj = (LIST)ARG2(arg);
           /* ARG3(arg) = color */
           if ( argc(arg) == 4 )
                   arg = mknode(5,sid,fname,index,obj,ARG3(arg));
           else
                   arg = mknode(4,sid,fname,index,obj);
           Pox_cmo_rpc(arg,rp);
   }
   
   void Pclear_canvas(arg,rp)
   NODE arg;
   Obj *rp;
   {
           static STRING fname;
           Q sid,index;
           LIST obj;
   
           if ( !fname ) {
                   MKSTR(fname,"clear_canvas");
           }
           sid = (Q)ARG0(arg);
           index = (Q)ARG1(arg);
           arg = mknode(3,sid,fname,index);
           Pox_cmo_rpc(arg,rp);
 }  }
   
 #if 0  #if 0

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.7

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