[BACK]Return to glib CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / lib

Diff for /OpenXM_contrib2/asir2000/lib/glib between version 1.2 and 1.4

version 1.2, 2002/01/04 01:35:24 version 1.4, 2002/07/10 08:40:58
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/lib/glib,v 1.1 2001/12/10 05:02:46 takayama Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/lib/glib,v 1.3 2002/06/07 06:00:28 noro Exp $ */
 /* $Id$ */  /* $Id$ */
   
 /* Todo:  /* Todo:
Line 150  def glib_putpixel(X,Y) {
Line 150  def glib_putpixel(X,Y) {
   if (Glib_canvas < 0) glib_open();    if (Glib_canvas < 0) glib_open();
   glib_check();    glib_check();
   glib_check_arg(X,Y);    glib_check_arg(X,Y);
   draw_obj(Glib_process,Glib_canvas,    C = getopt(color);
     if ( type(C) != -1 )
       draw_obj(Glib_process,Glib_canvas,
            [floor(Glib_xmag*(X+Glib_xoffset)),             [floor(Glib_xmag*(X+Glib_xoffset)),
               floor(Glib_ymag*(Y+Glib_yoffset))],C);
     else
       draw_obj(Glib_process,Glib_canvas,
              [floor(Glib_xmag*(X+Glib_xoffset)),
             floor(Glib_ymag*(Y+Glib_yoffset))]);              floor(Glib_ymag*(Y+Glib_yoffset))]);
 }  }
   
 def glib_line(X0,Y0,X1,Y1) {  def glib_line(X0,Y0,X1,Y1) {
   extern Glib_xmag, Glib_ymag, Glib_xoffset, Glib_yoffset;    extern Glib_xmag, Glib_ymag, Glib_xoffset, Glib_yoffset;
     C = getopt(color);
   glib_check_arg(X0,Y0);    glib_check_arg(X0,Y0);
   glib_check_arg(X1,Y1);    glib_check_arg(X1,Y1);
   glib_clip_line(floor(Glib_xmag*(X0+Glib_xoffset)),    glib_clip_line(floor(Glib_xmag*(X0+Glib_xoffset)),
                  floor(Glib_ymag*(Y0+Glib_yoffset)),                   floor(Glib_ymag*(Y0+Glib_yoffset)),
                  floor(Glib_xmag*(X1+Glib_xoffset)),                   floor(Glib_xmag*(X1+Glib_xoffset)),
                  floor(Glib_ymag*(Y1+Glib_yoffset)));                   floor(Glib_ymag*(Y1+Glib_yoffset)),C);
 }  }
   
 def glib_clip_line(X0,Y0,X1,Y1) {  def glib_clip_line(X0,Y0,X1,Y1,Color) {
   /* X0, Y0, X1, Y1 should be integers.    /* X0, Y0, X1, Y1 should be integers.
      Coordinates are already translated. */       Coordinates are already translated. */
   extern Glib_process, Glib_canvas, Glib_canvas_x, Glib_canvas_y;    extern Glib_process, Glib_canvas, Glib_canvas_x, Glib_canvas_y;
Line 209  def glib_clip_line(X0,Y0,X1,Y1) {
Line 216  def glib_clip_line(X0,Y0,X1,Y1) {
 #endif  #endif
 #endif  #endif
   glib_check();    glib_check();
   draw_obj(Glib_process,Glib_canvas,    if ( type(Color) != -1 )
       draw_obj(Glib_process,Glib_canvas,
              [floor(X0),floor(Y0),floor(X1),floor(Y1)],Color);
     else
       draw_obj(Glib_process,Glib_canvas,
            [floor(X0),floor(Y0),floor(X1),floor(Y1)]);             [floor(X0),floor(Y0),floor(X1),floor(Y1)]);
   
 }  }
   
 def glib_clip0_x(X0,Y0,X1,Y1,Clip) {  def glib_clip0_x(X0,Y0,X1,Y1,Clip) {
Line 253  def glib_clip1_y(X0,Y0,X1,Y1,Clip) {
Line 263  def glib_clip1_y(X0,Y0,X1,Y1,Clip) {
      return([X0,Y0,X1+(Clip-Y1)*(X0-X1)/(Y0-Y1),Clip]);       return([X0,Y0,X1+(Clip-Y1)*(X0-X1)/(Y0-Y1),Clip]);
    }     }
    return([X0,Y0,X1,Y1]);     return([X0,Y0,X1,Y1]);
   }
   
   /*&usage begin:glib_print(X,Y,Text|color)
     It put a string {Text} at [{X},{Y}] on the glib canvas.
     example: glib_print(100,100,"Hello Worlds" | color=0xff0000);
   end: */
   def glib_print(X,Y,Text) {
     extern Glib_process, Glib_canvas,
            Glib_xoffset, Glib_yoffset, Glib_xmag, Glib_ymag;
     if (Glib_canvas < 0) glib_open();
     glib_check();
     glib_check_arg(X,Y);
     if (type(Text) != 7) error("glib_print(X,Y,Text): Text must be a string.");
     C = getopt(color);
     if ( type(C) != -1 )
       draw_string(Glib_process,Glib_canvas,
                   [X,Y],Text,C);
     else
       draw_string(Glib_process,Glib_canvas,
                   [X,Y],Text);
 }  }
 end$  end$
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

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