いものやま。

雑多な知識の寄せ集め

Curses for Ruby。(その2)

昨日はcursesライブラリの動作確認まで行った。

今日はcursesライブラリの基本的な内容について。

cursesライブラリの初期化・終了処理

cursesライブラリを使う場合、まず初期化が必要となる。
cursesライブラリを初期化するには、次のモジュール関数を呼び出す:

Curses.#init_screen()
cursesライブラリを初期化する。

そして、cursesライブラリを使い終わったら、以下のモジュール関数を呼んで終了処理を行う:

Curses.#close_screen()
cursesライブラリの終了処理を行う。

画面サイズの取得

cursesライブラリを使うと、画面のサイズを知ることが出来る。
画面のサイズを知るには、以下のモジュール関数を使う:

Curses.#lines()
画面の行数を返す。

Curses.#cols()
画面の列数を返す。

Cursesの構成要素

Cursesは以下の要素から構成されている:

  • ウィンドウ
  • 仮想画面
  • 画面
  • カラーパレット
  • カラーペアパレット

なお、いくつかの概念は、分かりやすくするために自分が追加しているので注意。
(ドキュメントには出てこない)

ウィンドウ

ウィンドウとは、画面に出力する文字情報を持った矩形の領域。
領域のサイズと画面に対する位置を持っていて、Curses::Window#noutrefreshメソッドやCurses::Window#refreshメソッドによって、ウィンドウの内容は仮想画面(と画面)に出力される。

仮想画面

仮想画面とは、画面への出力を効率よく行うための仮想的な画面のこと。
ちょっと前のGUIプログラミングをやったことがある人なら、ダブルバッファリングという言葉になじみがあるはず。
そのバッファに相当するものが、仮想画面。

画面

画面とは、実際に文字情報が出力される画面のこと。
ターミナルの画面そのもの。

カラーパレット

カラーパレットとは、画面に文字を出力するときに使える色を指定するためのパレット。
0は黒、1は赤、2は緑、・・・といったふうに、何番が何色という対応付けを行う。

カラーペアパレット

カラーペアパレットとは、画面に文字を出力するときの前景色と背景色のペアを指定するためのパレット。
前景色と背景色は、カラーパレットの番号で指定することになる。
例えば、カラーパレットの0が黒、カラーパレットの1が赤の場合に、カラーペアパレットの1を[0, 1]にし、カラーペアパレットの1を使って文字列を出力すると、その文字列は、前景色が黒、背景色が赤で表示されることになる。

それぞれの要素の詳細は、明日以降で。

今日はここまで!