movpos-button-setdisplay $mid
}
-proc movpos-bindkey-1 {cpage key seg feat} {
+proc movpos-bindkey-1 {cpage key adjx adjy seg feat} {
global posdeviation picturepadx picturepady
manyset [subseg-end-get-centroid $cpage $seg $feat {}] mx my
set mid $seg/$feat
+ addexpr mx $adjx
+ addexpr my $adjy
foreach posn {0 1} {
manyset [subseg-end-get-centroid $cpage $seg $feat $posn] x y
set dx [expr {$x-$mx}]; set dy [expr {$y-$my}]
return
}
foreach binding $bindings {
- if {[regexp {^([A-Z])\=(\w+)/([A-Z]+)$} $binding dummy key seg feat]} {
- movpos-bindkey-1 $cpage $key $seg $feat
+ if {[regexp {^([A-Z])([-+]\d*)?([-+]\d+)?\=(\w+)/([A-Z]+)$} \
+ $binding dummy key adjx adjy seg feat]} {
+ movpos-bindkey-1 $cpage $key $adjx.0 $adjy.0 $seg $feat
} elseif {[regexp {^[A-Z]$} $binding] || [regexp {~} $binding]} {
} else {
error "incomprehensible binding $binding on page $cpage"