shearVobject

$fill shearVobject x y x0 y0 LeftX mode
interactively shears object vertical

obj method fill shearVobject {x y x0 y0 LeftX {mode parallel}} {
  if {[$self constraint shear]} then {
    set centerDot [my centerDot]
    lassign [$centerDot storeXY info] centerX centerY
    $centerDot shearVobject $x $y $x0 $y0 $LeftX $mode
    set dx [- [$centerDot cget -x] $centerX]
    set dy [- [$centerDot cget -y] $centerY]
    lappend transformL moveHorizontal $dx moveVertical $dy
    $self dots transform {*}$transformL
  } else {
    $self lines shearVobject $x $y $x0 $y0 $LeftX $mode no
  }
  $self draw
}

© Wolf-Dieter Busch | Home | Sitemap | Urheber | A-Z