|
h-tom さん,
ありがとうございます。
あらかじめこちらを検索すればよかったです。
IKKI さんの一度貼ってみるというアイディアは巧妙ですね。
サンプルとして書いてもらっていたサブルーチンは
選択範囲を解除してしまい、本当の貼り付けの動作に
影響を及ぼしてしまうので、以下のように修正しました。
IsBox:
if (selecting) {
##selecting = true;
if (rectselecting) {
##rectselecting = true;
}
##seltopx = seltopx;
##seltopy = seltopy;
##selendx = selendx;
##selendy = selendy;
escape;
}
##orgx = x;
##orgy = y;
paste;
##box = (x == ##orgx && y == ##orgy);
undo;
if (##selecting) {
if (##orgx == ##seltopx) {
if (##orgy == ##seltopy) {
moveto ##selendx, ##selendy;
if (##rectselecting) {
beginrect;
} else {
beginsel;
}
moveto ##seltopx, ##seltopy;
if (!##rectselecting) {
endsel;
}
} else {
moveto ##selendx, ##seltopy;
if (##rectselecting) {
beginrect;
} else {
beginsel;
}
moveto ##seltopx, ##selendy;
if (!##rectselecting) {
endsel;
}
}
} else {
if (##orgy == ##seltopy) {
moveto ##seltopx, ##selendy;
if (##rectselecting) {
beginrect;
} else {
beginsel;
}
moveto ##selendx, ##seltopy;
if (!##rectselecting) {
endsel;
}
} else {
moveto ##seltopx, ##seltopy;
if (##rectselecting) {
beginrect;
} else {
beginsel;
}
moveto ##selendx, ##selendy;
if (!##rectselecting) {
endsel;
}
}
}
} else {
moveto ##orgx, ##orgy;
}
return ##box;
|
|