[PD-cvs] pd/src desire.tk,1.1.2.446,1.1.2.447

Mathieu Bouchard matju at users.sourceforge.net
Fri Sep 1 21:32:35 CEST 2006


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

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
class_new Crosshair {View}


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.446
retrieving revision 1.1.2.447
diff -C2 -d -r1.1.2.446 -r1.1.2.447
*** desire.tk	1 Sep 2006 18:42:46 -0000	1.1.2.446
--- desire.tk	1 Sep 2006 19:32:32 -0000	1.1.2.447
***************
*** 1279,1283 ****
      $self subscribe $manager
      $self changed
!     $self canvas= $self ;#!@#$ EEVIL
      #not sure if init should be calling pd, but it fixes the editmode bug for now -chun
      pd .$self editmode $@editmode
--- 1279,1283 ----
      $self subscribe $manager
      $self changed
!     #$self canvas= $self ;#!@#$ EEVIL
      #not sure if init should be calling pd, but it fixes the editmode bug for now -chun
      pd .$self editmode $@editmode
***************
*** 1292,1295 ****
--- 1292,1296 ----
      set @keynav_tab_sel "wire"
      set @copy_count 0
+     set @crosshair [Crosshair new $self]
  }
  
***************
*** 1456,1462 ****
  		set y [expr [$c canvasy [expr [winfo pointery $c] - [winfo rooty $c]]]/$@zoom]
  		set target [$self identify_target $x $y 0]
! 		$self show_crosshair $x $y $target
  	} else {
! 		$self hide_crosshair
  	}
  }
--- 1457,1464 ----
  		set y [expr [$c canvasy [expr [winfo pointery $c] - [winfo rooty $c]]]/$@zoom]
  		set target [$self identify_target $x $y 0]
! 		$@crosshair data= $x $y $target
! 		$@crosshair draw
  	} else {
! 		$@crosshair erase
  	}
  }
***************
*** 2023,2027 ****
      set canvas(current) $self
      set c [$self widget]
!     if {[$self look hairstate] && $@editmode} {$self show_crosshair $x $y $target} else {$self hide_crosshair}
      if {$tooltip(visible)} {
  	if {[expr [distance $tooltip(curpos) [list $x $y]] > 10]} {
--- 2025,2034 ----
      set canvas(current) $self
      set c [$self widget]
!     if {[$self look hairstate] && $@editmode} {
! 	$@crosshair data= $x $y $target
! 	$@crosshair draw
!     } else {
! 	$@crosshair erase
!     }
      if {$tooltip(visible)} {
  	if {[expr [distance $tooltip(curpos) [list $x $y]] > 10]} {
***************
*** 4519,4598 ****
  ############ crosshair
  
! def Canvas show_crosshair {x y target} {
! 	global crosshair
! 	set c [$self widget]
! 	set width  [expr [winfo  width $c]/$@zoom]
! 	set height [expr [winfo height $c]/$@zoom]
! 	mset {x1 y1 x2 y2} [$c cget -scrollregion]
! 	set x1 [expr $x1/$@zoom]
! 	set y1 [expr $y1/$@zoom]
! 	mset {vx1 vx2} [$c xview]
! 	mset {vy1 vy2} [$c yview]
! 	set xoff [expr ([winfo width $c] * $vx1)/$@zoom]
! 	set yoff [expr ([winfo height $c] * $vy1)/$@zoom]
! 	set vx1 [expr ($x1+($x2-$x1)*$vx1)/$@zoom]
! 	set vy1 [expr ($y1+($y2-$y1)*$vy1)/$@zoom]
! 	set vx2 [expr ($x1+($x2-$x1)*$vx2)/$@zoom]
! 	set vy2 [expr ($y1+($y2-$y1)*$vy2)/$@zoom]
! 	mset {type id detail} $target
! 	if {[$self look hairsnap]} {
! 		switch -regexp -- $type {
! 			^object|outlet|inlet$ {
! 				if {$id != $self} {
! 					mset {x y x3 y3} [$id bbox]
! 					set crosshair(follow) $id
! 				}
! 			}
! 			^move|edit$ {mset {x y x3 y3} [$crosshair(follow) bbox]}
! 		}
! 	}
! 	
! 	set v1 [list $x $y1 $x [expr $y + ($height +$yoff)]]
! 	set h1 [list $x1 $y [expr $x + ($width +$xoff)] $y]
! 	#set v1 [list $x $y1 $x $vy2]
! 	#set h1 [list $x1 $y $vx2 $y]
! 	$self item VHAIR1 line $v1 -fill [$self look crosshair] -width 0.5 -dash {4 4 4 4}
! 	$self item HHAIR1 line $h1 -fill [$self look crosshair] -width 0.5 -dash {4 4 4 4}
  }
  
  
! def Canvas show_crosshair2 {x y target} {
! 	global crosshair
! 	set c [$self widget]
! 	set width  [expr [winfo  width $c]/$@zoom]
! 	set height [expr [winfo height $c]/$@zoom]
  	mset {x1 y1 x2 y2} [$c cget -scrollregion]
! 	
  	mset {vx1 vx2} [$c xview]
  	mset {vy1 vy2} [$c yview]
! 	#set xoff [expr ([winfo width $c] * $vx1)/$@zoom]
! 	#set yoff [expr ([winfo height $c] * $vy1)/$@zoom]
! 	set vx1 [expr ($x1+($x2-$x1)*$vx1)/$@zoom]
! 	set vy1 [expr ($y1+($y2-$y1)*$vy1)/$@zoom]
! 	set vx2 [expr ($x1+($x2-$x1)*$vx2)/$@zoom]
! 	set vy2 [expr ($y1+($y2-$y1)*$vy2)/$@zoom]
! 	mset {type id detail} $target
! 	if {[$self look hairsnap])} {
  		switch -regexp -- $type {
  			^object|outlet|inlet$ {
  				if {$id != $self} {
  					mset {x y x3 y3} [$id bbox]
! 					set crosshair(follow) $id
  				}
  			}
! 			^move|edit$ {mset {x y x3 y3} [$crosshair(follow) bbox]}
  		}
  	}
! set v1 [list $x $vy1 $x $vy2]
! set h1 [list $vx1 $y $vx2 $y]
! #set v1 [list $x [expr $y - $y + $yoff] $x [expr $y + ($height +$yoff)]]
! #set h1 [list [expr $x - $x + $xoff] $y [expr $x + ($width +$xoff)] $y]
! #$self item BORDER rect [list $vx1 $vy1 $vx2 $vy2] -width 10
! $self item VHAIR1 line $v1 -fill [$self look selectframe] -width 0.5 -dash {4 4 4 4}
! $self item HHAIR1 line $h1 -fill [$self look selectframe] -width 0.5 -dash {4 4 4 4}
  }
  
! 
! def Canvas hide_crosshair {} {$self item_delete VHAIR1; $self item_delete HHAIR1}
  
  ############ tooltips
--- 4526,4591 ----
  ############ crosshair
  
! class_new Crosshair {View}
! 
! def Crosshair init {canvas} {
! 	super
! 	set @canvas $canvas
! 	set @x 0
! 	set @y 0
! 	set @target {none}
  }
  
+ def Crosshair data= {x y target} {
+ 	set @x $x
+ 	set @y $y
+ 	set @target $target
+ }
  
! def Crosshair draw {} {
! 	set c [$@canvas widget]
! 	set z [$@canvas zoom]
! 	set width  [expr [winfo  width $c]/$z]
! 	set height [expr [winfo height $c]/$z]
  	mset {x1 y1 x2 y2} [$c cget -scrollregion]
! 	set x1 [expr $x1/$z]
! 	set y1 [expr $y1/$z]
  	mset {vx1 vx2} [$c xview]
  	mset {vy1 vy2} [$c yview]
! 	set xoff [expr ([winfo width $c] * $vx1)/$z]
! 	set yoff [expr ([winfo height $c] * $vy1)/$z]
! 	set vx1 [expr ($x1+($x2-$x1)*$vx1)/$z]
! 	set vy1 [expr ($y1+($y2-$y1)*$vy1)/$z]
! 	set vx2 [expr ($x1+($x2-$x1)*$vx2)/$z]
! 	set vy2 [expr ($y1+($y2-$y1)*$vy2)/$z]
! 	mset {type id detail} $@target
! 
! 	set x $@x
! 	set y $@y
! 	if {[$@canvas look hairsnap]} {
  		switch -regexp -- $type {
  			^object|outlet|inlet$ {
  				if {$id != $self} {
  					mset {x y x3 y3} [$id bbox]
! 					set @follow $id
  				}
  			}
! 			^move|edit$ {mset {x y x3 y3} [$@follow bbox]}
  		}
  	}
! 	
! 	set v1 [list $x $y1 $x [expr $y+$height+$yoff]]
! 	set h1 [list $x1 $y [expr $x+$width+$xoff] $y]
! 	#set v1 [list $x $y1 $x $vy2]
! 	#set h1 [list $x1 $y $vx2 $y]
! 	#set v1 [list $x $vy1 $x $vy2]
! 	#set h1 [list $vx1 $y $vx2 $y]
! 	#set v1 [list $x [expr $y - $y + $yoff] $x [expr $y + ($height +$yoff)]]
! 	#set h1 [list [expr $x - $x + $xoff] $y [expr $x + ($width +$xoff)] $y]
! 	$self item VHAIR1 line $v1 -fill [$@canvas look crosshair] -width 0.5 -dash {4 4 4 4}
! 	$self item HHAIR1 line $h1 -fill [$@canvas look crosshair] -width 0.5 -dash {4 4 4 4}
! 	#$self item BORDER rect [list $vx1 $vy1 $vx2 $vy2] -width 10
  }
  
! #def Crosshair erase {} {$self item_delete VHAIR1; $self item_delete HHAIR1}
  
  ############ tooltips





More information about the Pd-cvs mailing list