[PD-cvs] pd/src desire.tk,1.1.2.600.2.344,1.1.2.600.2.345

chunlee chunlee at users.sourceforge.net
Sun Aug 12 00:13:22 CEST 2007


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

Modified Files:
      Tag: desiredata
	desire.tk 
Log Message:
add Canvas save_geometry


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.344
retrieving revision 1.1.2.600.2.345
diff -C2 -d -r1.1.2.600.2.344 -r1.1.2.600.2.345
*** desire.tk	11 Aug 2007 18:12:32 -0000	1.1.2.600.2.344
--- desire.tk	11 Aug 2007 22:13:17 -0000	1.1.2.600.2.345
***************
*** 1505,1512 ****
--- 1505,1521 ----
  }
  
+ def Canvas save_geometry {} {
+ 	set geometry [wm geometry .$self]
+ 	puts "geometry $geometry"
+ 	foreach {size x y} [split $geometry "+"] {mset {w h} [split $size "x"]; set x1 $x; set y1 $y}
+ 	netsend [list .$self bounds $x1 $y1 [expr $x1+$w] [expr $y1+$h]]
+ }
+ 
  def Canvas save {} {
  	if {$@subpatch} {return [$@canvas save]}
  	$self checkgeometry
+ 	set c [$self widget]
  	if {![regexp {^Untitled-[0-9]} $@name]} {
+ 		$self save_geometry
  		netsend [list .$self savetofile $@name $@folder]
  	} else {
***************
*** 1521,1524 ****
--- 1530,1534 ----
  		set @file   [string range $filename [expr [string last / $filename]+1] end]
  		set @folder [string range $filename 0 [expr [string last / $filename]-1]]
+ 		$self save_geometry
  		puts "save $@file dir to $@folder"
  		netsend [list .$self savetofile $@file $@folder]
***************
*** 2489,2492 ****
--- 2499,2503 ----
  	# the text should be drawn before, so that update_size works at the right time.
  	mset {x1 y1} [$self xy]
+ 	set z [$@canvas zoom]
  	if {$@edit} {
  		$self draw_edit
***************
*** 2496,2501 ****
  		if {$::leet} {set text [string map -nocase {a 4 e 3 t 7 s 5 i 1 o 0 g 9} $text]}
  		$self item TEXT text [l+ $@textoffset [$self xy]] \
! 		    -font [View_look $self font] -text $text \
! 		    -fill [View_look $self fg] -anchor nw -width [expr ($fw*$@max_width)-1]
  		# set width with -1 because text item seem to be inclusive at wrap point
  		# where as the text widget is exclusive
--- 2507,2512 ----
  		if {$::leet} {set text [string map -nocase {a 4 e 3 t 7 s 5 i 1 o 0 g 9} $text]}
  		$self item TEXT text [l+ $@textoffset [$self xy]] \
! 		    -font [$self look  font] -text $text \
! 		    -fill [$self look fg] -anchor nw -width [expr ($fw*$@max_width)-1]
  		# set width with -1 because text item seem to be inclusive at wrap point
  		# where as the text widget is exclusive
***************
*** 2536,2545 ****
  	obj_hist histi= 0
  	set @selected? 1
! 	#set z [$@canvas zoom]
! 	set z 1
  	set font_height [font metrics [$self look font] -linespace]
  	if {[$c bbox ${self}TEXT] != ""} {
! 		mset {ix1 iy1 ix2 iy2} [$c bbox ${self}TEXT]
! 		if {$iy2-$iy1 > $font_height} {set @multi 1}
  	} else {
  		set ix1 0; set iy1 0
--- 2547,2555 ----
  	obj_hist histi= 0
  	set @selected? 1
! 	set z [$@canvas zoom]
  	set font_height [font metrics [$self look font] -linespace]
  	if {[$c bbox ${self}TEXT] != ""} {
! 		mset {ix1 iy1 ix2 iy2} [lmap / [$c bbox ${self}TEXT] $z]
! 		if {($iy2-$iy1)/$z > $font_height} {set @multi 1}
  	} else {
  		set ix1 0; set iy1 0
***************
*** 2570,2575 ****
  	set t $c.${self}text
  	#set z [$@canvas zoom]
- 	set z 1
- 	mset {x1 y1 x2 y2} [$c bbox ${self}text]
  	set pix_height [$t count -update -ypixels 1.0 end]
  	set pix_width [font measure [$self look font] [$t get 1.0 end]]
--- 2580,2583 ----
***************
*** 2671,2683 ****
  	set w2 0; set h2 0
  	set xpad 2; set ypad 3
! 	#set z [$@canvas zoom]
! 	set z 1
  	if {[winfo exists $t_widget]} {
! 		set textwidth [expr [winfo reqwidth $t_widget]+$xpad]
! 		set height [expr [winfo reqheight $t_widget]+$ypad]
  	} else {
  		mset {x1 y1 x2 y2} [[[$self canvas] widget] bbox ${self}TEXT]
! 		set textwidth [expr $x2-$x1+$xpad]
! 		set height [expr $y2-$y1+$ypad]
  	}
  	set iowidth [$self look iowidth]
--- 2679,2690 ----
  	set w2 0; set h2 0
  	set xpad 2; set ypad 3
! 	set z [$@canvas zoom]
  	if {[winfo exists $t_widget]} {
! 		set textwidth [expr ([winfo reqwidth $t_widget]+$xpad)/$z]
! 		set height [expr ([winfo reqheight $t_widget]+$ypad)/$z]
  	} else {
  		mset {x1 y1 x2 y2} [[[$self canvas] widget] bbox ${self}TEXT]
! 		set textwidth [expr ($x2-$x1+$xpad)/$z]
! 		set height [expr ($y2-$y1+$ypad)/$z]
  	}
  	set iowidth [$self look iowidth]





More information about the Pd-cvs mailing list