[PD-cvs] pd/src desire.tk, 1.1.2.524, 1.1.2.525 desire.c, 1.1.2.185, 1.1.2.186

chunlee chunlee at users.sourceforge.net
Tue Oct 24 18:09:02 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26222

Modified Files:
      Tag: devel_0_39
	desire.tk desire.c 
Log Message:
some more work on gop and [pd]


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.524
retrieving revision 1.1.2.525
diff -C2 -d -r1.1.2.524 -r1.1.2.525
*** desire.tk	23 Oct 2006 19:24:37 -0000	1.1.2.524
--- desire.tk	24 Oct 2006 16:08:57 -0000	1.1.2.525
***************
*** 1101,1106 ****
--- 1101,1109 ----
  def View canvas= {c} {set @canvas $c}
  
+ def View visible {} {if {[info exists @inside_box]} {return $@inside_box} {return -1}}
+ 
  # this returns the canvas actually exists/drawn
  def View get_canvas {} {
+ 	if {[winfo exists .$self.c]} {return $self}
  	if {[winfo exists .$@canvas.c]} {
  		return $@canvas
***************
*** 1141,1144 ****
--- 1144,1148 ----
  		} else {
  			set @inside_box 0
+ 			$@canvas visible_children-= $self
  		}
  	} else {
***************
*** 1158,1161 ****
--- 1162,1166 ----
  		} else {
  			puts "skipping $self, don't draw it...."
+ 			$self delete
  		}
  	}
***************
*** 1173,1176 ****
--- 1178,1186 ----
  		return
  	}
+ 	if {$@gop} {
+ 		foreach x $@children {$x outside_of_the_box}
+ 		pd .$self close
+ 		return
+ 	}
  	switch [tk_messageBox -message [say save_changes?] -icon question -type yesnocancel -default cancel] {
  		yes    {$self save; pd .$self close}
***************
*** 1438,1441 ****
--- 1448,1459 ----
  }
  
+ 
+ def Canvas gop_rect {} {
+ 	# 0 -1 1 1 90 95 10 20
+ 	set rect [list $@xmargin $@ymargin [expr $@xmargin+$@pixwidth] [expr $@ymargin+$@pixheight]]
+ 	$self item GOPRECT rectangle $rect -outline [$self look fg]
+ 
+ }
+ 
  def Canvas getscroll {} {}
  
***************
*** 1488,1491 ****
--- 1506,1510 ----
  	super
  	destroy .$self
+ 	if {$@gop} {foreach x $@children {$x changed}; $self changed}
  }
  
***************
*** 1774,1778 ****
  
  def Canvas draw {} {
! 	if {$@subpatch && $@canvas != "" && !$@gop} {super} ;# is for the [pd] box if applicable
  	if {[info exists @gop]} {
  		if {$@gop && ![winfo exists [$self widget]]} {super; $self draw_gop; return}
--- 1793,1797 ----
  
  def Canvas draw {} {
! 	if {$@subpatch && $@canvas != "" && !$@gop} {if {![winfo exists [$self widget]]} {super}} ;# is for the [pd] box if applicable
  	if {[info exists @gop]} {
  		if {$@gop && ![winfo exists [$self widget]]} {super; $self draw_gop; return}
***************
*** 1782,1785 ****
--- 1801,1806 ----
  	[$self widget] configure -background $bg
  	$self adjust_scrollbars
+ 	if {$@gop} {$self gop_rect}
+ 
  }
  
***************
*** 2131,2134 ****
--- 2152,2161 ----
  }
  
+ def Canvas visible_children-= {children} {
+ 	if {[lsearch $@visible_children $children] >= 0} {
+ 		set @visible_children [lwithout $@visible_children $children]
+ 	} else {return}
+ }
+ 
  def Canvas visible_children {} {return $@visible_children}
  
***************
*** 4077,4080 ****
--- 4104,4108 ----
  	set @width [lindex $mess 4]
  	set @height [lindex $mess 5]
+ 	if {!$@width} {set @width 85}; if {!$@height} {set @height 60}
  	if {[llength $mess] == 8} {
  		set @xmargin [lindex $mess 6]; set @ymargin [lindex $mess 7]
***************
*** 4106,4110 ****
  def CanvasPropertiesDialog apply {} {
  	#pd .$@of donecanvasdialog $@xscale $@yscale $@graphme
! 	pd .$@of coords $@xfrom $@yfrom $@xto $@yto $@width $@height $@gop
  	#donecanvasdialogy sends back weird scientific notation values....
  }
--- 4134,4139 ----
  def CanvasPropertiesDialog apply {} {
  	#pd .$@of donecanvasdialog $@xscale $@yscale $@graphme
! 	pd .$@of coords $@xfrom $@yfrom $@xto $@yto $@width $@height $@gop $@xmargin $@ymargin
! 	$@of changed
  	#donecanvasdialogy sends back weird scientific notation values....
  }

Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.185
retrieving revision 1.1.2.186
diff -C2 -d -r1.1.2.185 -r1.1.2.186
*** desire.c	14 Oct 2006 11:07:17 -0000	1.1.2.185
--- desire.c	24 Oct 2006 16:08:58 -0000	1.1.2.186
***************
*** 642,648 ****
--- 642,650 ----
  
  void canvas_drawredrect(t_canvas *x, int doit) {
+   /*
      if (doit) sys_mgui(canvas_getcanvas(x),"gop_rectangle","iiii",
  	x->xmargin, x->ymargin, x->pixwidth, x->pixheight);
      else sys_mgui(canvas_getcanvas(x),"gop_rectangle_delete","");
+   */
  }
  
***************
*** 2601,2607 ****
          just show the bounding rectangle */
      if (x->havewindow) {
!         if (vis) sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -tags %s -fill #c0c0c0\n",
!                 (long)c, x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
!         else sys_vgui(".x%lx.c delete %s\n", (long)c, tag);
          return;
      }
--- 2603,2609 ----
          just show the bounding rectangle */
      if (x->havewindow) {
!       //if (vis) sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -tags %s -fill #c0c0c0\n",
!       //        (long)c, x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
!       //   else sys_vgui(".x%lx.c delete %s\n", (long)c, tag);
          return;
      }
***************
*** 4722,4726 ****
              if (flags & CLOSED) {
                  numbertocolor(slot_getfloat(&x->fillcolor, template, data, 1), fill);
!                 sys_vgui(".x%lx.c create polygon\\\n", (long)canvas_getcanvas(canvas));
              } else sys_vgui(".x%lx.c create line\\\n", (long)canvas_getcanvas(canvas));
              for (i = 0; i < n; i++) sys_vgui("%d %d\\\n", pix[2*i], pix[2*i+1]);
--- 4724,4728 ----
              if (flags & CLOSED) {
                  numbertocolor(slot_getfloat(&x->fillcolor, template, data, 1), fill);
!                 //sys_vgui(".x%lx.c create polygon\\\n", (long)canvas_getcanvas(canvas));
              } else sys_vgui(".x%lx.c create line\\\n", (long)canvas_getcanvas(canvas));
              for (i = 0; i < n; i++) sys_vgui("%d %d\\\n", pix[2*i], pix[2*i+1]);
***************
*** 5047,5051 ****
              if (wonset >= 0) {
  	        /* found "w" field which controls linewidth.  The trace is a filled polygon with 2n points. */
!                 sys_vgui(".x%lx.c create polygon \\\n", (long)canvas_getcanvas(canvas));
                  for (i = 0, xsum = xloc; i < nelem; i++) {
                      if (xonset >= 0) usexloc = xloc + *(float *)(elem+elemsize*i+xonset);
--- 5049,5053 ----
              if (wonset >= 0) {
  	        /* found "w" field which controls linewidth.  The trace is a filled polygon with 2n points. */
!                 //sys_vgui(".x%lx.c create polygon \\\n", (long)canvas_getcanvas(canvas));
                  for (i = 0, xsum = xloc; i < nelem; i++) {
                      if (xonset >= 0) usexloc = xloc + *(float *)(elem+elemsize*i+xonset);





More information about the Pd-cvs mailing list