| ||
procedure(square()
cv = geGetEditCellView()
objs =geGetSelSet()
Enc1=objs~>layer1Enc
Enc2=objs~>layer2Enc
Offset1=objs~>layer1Offset
Offset2=objs~>layer2Offset
L1left=caar(Enc1)-caar(Offset1)
L1right=caar(Enc1)+caar(Offset1)
L1top=cadar(Enc1)+cadar(Offset1)
L1button=cadar(Enc1)-cadar(Offset1)
L2left=caar(Enc2)-caar(Offset2)
L2right=caar(Enc2)+caar(Offset2)
L2top=cadar(Enc2)+cadar(Offset2)
L2button=cadar(Enc2)-cadar(Offset2)
ll=list(L1left L1right L1top L1button L2left L2right L2top L2button)
declare(a[8])
i=0
foreach(j ll a[i]=j
i++
);foreach
center=0
for(x 0 length(ll)-1
for(y 0 length(ll)-x-2
if(a[y]>a[y+1]
then center=a[y]
a[y]=a[y+1]
a[y+1]=center
);if
);for
);for
Offset=list(0 0)
objs~>layer1Offset=Offset
objs~>layer2Offset=Offset
Enc=list(a[7] a[7])
objs~>layer1Enc=Enc
objs~>layer2Enc=Enc
);proc
hiSetBindKey("Layout" "<Key>Z" "square()")