obj method canvaseditor shearHmode {{mode parallel}} { set canvas [my canvas] $self selected dots storeXY $self selected calcCenter $self selected blink off $self snapMode on # set nDot [$self nearestDot -selected] $self pointerToDot $nDot $self memory currentDot $nDot $self memory transformation "shear horizontal $mode" # set UppY [[$self uppermostDot -gravity] cget -y] set BotY [[$self lowermostDot -gravity] cget -y] set MidY [expr {($UppY + $BotY) / 2}] if {[$nDot cget -y] < $MidY} then { set BaseY $BotY } else { set BaseY $UppY } # set x0 [$nDot cget -x] set y0 [$nDot cget -y] # $self memory before [$self undoRedoCode] # $self basicBindings off $self statusLine Shear objects horizontal $mode after idle [list bind $canvas <Motion> [subst -nocommand { $self shearHselection\ [$self canvasx %x] [$self canvasy %y]\ $x0 $y0 $BaseY $mode }]] bind $canvas <<Click>> " $self finishTransform " }
© Wolf-Dieter Busch | Home | Sitemap | Urheber | A-Z