Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > cursesライブラリ > Curses::MouseEventクラス

class Curses::MouseEvent

クラスの継承リスト: Curses::MouseEvent < Object < Kernel

要約

マウスの位置や状態などの情報を取得するためのクラスです。 ncurses を利用して curses ライブラリをインストールした場合にだけ、 本クラスが定義されています。

本クラスのインスタンスを直接生成することはできません。 Curses.#getmouse で生成します。

なお、ncurses でマウスのイベントを取得できるようにするには、 いくつかの条件が必要なようです。 詳しくは man ページの curs_mouse(3X) の BUGS を参照ください。

例: クリックした位置などを取得する。

require "curses"

Curses.init_screen
begin
  Curses.cbreak
  Curses.stdscr.keypad(true)
  Curses.mousemask(Curses::BUTTON1_CLICKED | Curses::BUTTON2_CLICKED |
                   Curses::BUTTON3_CLICKED | Curses::BUTTON4_CLICKED)
  s = "Click"
  Curses.setpos(Curses.lines / 2, Curses.cols / 2 - (s.length / 2))
  Curses.addstr(s)
  Curses.refresh
  if Curses.getch == Curses::KEY_MOUSE
    m = Curses.getmouse
    if m
      s = "mouse event = #{'0x%x' % m.bstate}, axis = (#{m.x},#{m.y},#{m.z})"
      Curses.setpos(Curses.lines / 2 + 1, Curses.cols / 2 - (s.length / 2))
      Curses.addstr(s)
      Curses.refresh
    end
  end
ensure
  Curses.close_screen
end

インスタンスメソッド

定義 説明
bstate -> Integer

マウスのボタンがクリックされたとか、押しっぱなしといった状態を返します。

eid -> Integer

マウスを識別するための ID を返します。 複数のマウスを使用している場合に、それらを識別するために使用します。

x -> Integer

マウスのイベントが発生した文字の位置の X 座標を返します。

y -> Integer

マウスのイベントが発生した文字の位置の Y 座標を返します。

z -> Integer

マウスのイベントが発生した文字の位置の Z 座標を返します。

継承したメソッド

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new