17.2 マウス用の変数 (Mouse variables)

mousing (マウス機能) が有効な場合、現在のウィンドウ上でのマウスクリ ックによって gnuplot のコマンドライン上で使うことができる色々なユーザ 変数が設定されます。クリック時のマウスの座標は変数 MOUSE_X, MOUSE_Y, MOUSE_X2, MOUSE_Y2 に代入されます。クリックされたボタンや、そのときの メタキーの状態は MOUSE_BUTTON, MOUSE_SHIFT, MOUSE_ALT, MOUSE_CTRL に代 入されます。これらの変数は任意の描画の開始時には未定義で、有効な描画ウ ィンドウ中でのマウスクリックイベントによって初めて定義されます。有効な 描画ウィンドウ中でマウスが既にクリックされたかどうかをスクリプトから調 べるには、これらの変数のうちのどれか一つが定義されているかどうかをチェ ックすれば十分です。


     plot 'something'
     pause mouse
     if (defined(MOUSE_BUTTON)) call 'something_else'; \
     else print "No mouse click."

描画ウィンドウ上での一連のキー入力を追跡することも、マウスコードを使う ことで可能となります。


     plot 'something'
     pause mouse keypress
     print "Keystroke ", MOUSE_KEY, " at ", MOUSE_X, " ", MOUSE_Y

pause mouse keypress が、キー入力で終了した場合は MOUSE_KEY には押さ れたキーの ascii コードが保存されます。MOUSE_CHAR にはその文字自身が文 字列値として保存されます。pause コマンドが (例えば ctrl-C や描画ウィン ドウが外部から閉じられるなどして) 異常終了した場合は MOUSE_KEY は -1 になります。

マウスによる拡大の後の新しい描画範囲は、GPVAL_X_MIN, GPVAL_X_MAX, GPVAL_Y_MIN, GPVAL_Y_MAX で参照できることに注意してください。 以下参照: gnuplot-defined variables (p. [*])

竹野茂治@新潟工科大学
2010年9月13日