ソフトウェア設計及び演習2013

GDK2013::イベント

GDKイベント

イベント

  • マウスやキーボードからの入力は、イベントとしてプログラムに通知される
    • xev を使えば、発生しているイベントを確認できる
  • プログラムにはイベントに対応したコールバックを登録する
expose_eventの例
  • ウィンドウの移動によるウィジェットの前面表示や、アプリケーションが発行する再描画メッセージによって送られる
  • GDK2013::exposeイベント
入力系イベント
  • ドラッグ&ドロップイベント
    • 通常はGTK+側で処理できるので、GDKのイベントとして扱う必要はない

サンプル

ソースプログラムの所在
実行手順
 #svnから持ってくる(実行した直下にinput_eventディレクトリができる)
 svn export https://svn.cis.iwate-u.ac.jp/svn/csd/nakaya/input_event
 
 #持ってきたディレクトリに移動
 cd input_event
 
 #make
 make
 
 #実行
 ./input_event
マニュアル
  • マウスを動かせばライトが短時間点く
  • 左クリックで点きっぱなし
  • shift + 左クリックで消える
  • 右クリックを離すと全てのライトが消え
    • さらに全てのライトがカーソル下のライトの色に変わる
  • ホイールを回すと色が変わる
  • ctrl + ホイールを回すと全てのライトの色が変わる
  • カーソルキーを押すとスクロールする
ファイルリスト
  • input_event.c
    • メインプログラム&サーバプログラム
  • input_event_c.c
    • クライアントプログラム
  • input_event_lib.[ch]
    • 入力イベントのサンプルウィジェットライブラリ
  • cb_event.[ch]
    • マウス・キーイベントのコールバックライブラリ
  • channel_lib.[ch]
    • IOチャネル関係のライブラリ
  • light.[ch]
    • ライト関係のライブラリ
    • 今回説明した入力イベントの関数とは無関係
  • gtk_lib.[ch]
    • gtkの基本関係のライブラリ
    • 鈴木先生が作ったものを、ちょっとだけ変更
  • udp_socket.[ch]
    • UDPソケット関係のライブラリ
    • 鈴木先生が作ったものを、少し変更


最終更新日:2013/10/30 19:24:48