xgetmouse
マウスのイベントおよびカレントの位置を取得する
呼び出し手順
[rep [,win]]=xgetmouse([sel])
パラメータ
- sel
論理値ベクトル
[getmotion, getrelease]
. デフォルト値は[%t, %f]
です- rep
大きさ 3のベクトル, [x,y,ibutton].
- win
イベントが発生した図の番号.
説明
マウスポインタがカレントの図のウインドウ内に位置する場合,
xgetmouse
はrep
に
カレントのポインタの位置(x,y)と値ibutton
を返します.
ibutton
の値は以下のイベントの種類を示します:
- ibutton==0
マウスの左ボタンが押されました
- ibutton==1
マウスの中ボタンが押されました
- ibutton==2
マウスの右ボタンが押されました
- ibutton==3
マウスの左ボタンがクリックされました
- ibutton==4
マウスの中ボタンがクリックされました
- ibutton==5
マウスの右ボタンがクリックされました
- ibutton==10
マウスの左ボタンがダブルクリックされました
- ibutton==11
マウスの中ボタンがダブルクリックされました
- ibutton==12
マウスの右ボタンがダブルクリックされました
- ibutton==-5
マウスの左ボタンが放されました
- ibutton==-4
マウスの中ボタンが放されました
- ibutton==-3
マウスの右ボタンが放されました
- ibutton==-1
ポインタが移動されました
- ibutton > =32
ASCIIコードascii(ibutton)を有するキーが押されました
- ibutton < =-32
ASCIIコードascii(-ibutton)を有するキーが放されました
- ibutton > =1000+32
ASCIIコードascii(ibutton-1000)を有するキーがCTRLキーが押されている間に 押されました
- ibutton==-1000
グラフィックウインドが閉じられました
警告: 前のバージョンの Scilab (<5.0)では, xgetmouseが入力された時点で マウスクリックのイベントキューをクリアするかどうかを設定するフラグを ユーザが設定できました. このオプションは, Scilab 5.1 で削除されています.
例
// 矩形選択 clf(); // ウインドウを消去/作成 a=gca();a.data_bounds=[0 0;100 100];//ユーザ座標を設定 xtitle(" drawing a rectangle ") //タイトルを追加 show_window(); //ウインドウを最前面に配置 [b,xc,yc]=xclick(); //ポイントを取得 xrect(xc,yc,0,0) //矩形エンティティを描画 r=gce();// 矩形のハンドル rep=[xc,yc,-1];first=%f; while rep(3)==-1 do // マウスを移動 ... rep=xgetmouse(); xc1=rep(1);yc1=rep(2); ox=min(xc,xc1); oy=max(yc,yc1); w=abs(xc-xc1);h=abs(yc-yc1); r.data=[ox,oy,w,h]; //矩形の原点,幅と高さを変更 first=%f; end
参照
- locate — mouse selection of a set of points in a 2D axes
- xclick — マウスクリップを待つ.
- seteventhandler — カレントのグラフィックウインドウのイベントハンドルを設定
Report an issue | ||
<< xclick | interaction | lighting >> |