ITerm
ターミナル用文字バッファ管理クラス
ターミナル(コンソール)の基底クラスで、画面上の文字列を管理する。このクラスは、実際の画面描画についての手続きは含まれず、このクラスを継承したサブクラスによって画面描画を実装します。
ITerm() - コンストラクタ
カラム数u8cと行数u8lを指定して、ターミナルを構築する。カラム数と行数はターミナルで管理できる最大の値を指定する。ターミナルのサイズ変更を行った場合でも各々の最大の値を超える変更は行われない。
pAryLinesとpBuffを指定する場合は、ITerm内でのメモリ確保は行われず、外部で確保済みの配列を利用する。
~ITrem() - デストラクタ
動的にメモリを確保した場合は、そのメモリ領域を破棄します。
clear(), home(), clear_screen()
clear()は画面バッファのクリア、home()はカーソル位置をホームポジションに移動、clear_screen()は両者を実行します。
指定行をクリアする。fill_blankをtrueにすると指定行を空白で埋める。
refresh(), force_refresh()
サブクラスにより実装される画面更新描画のためのメソッドです。描画方法は2種類あり、メンバー変数u32Dirtyに定義されるビットマスクに対応した行のみを再描画するものと、force_refresh()メソッドによる画面全体を再描画するものがあります。
画面全体の再描画では、いったん背景を背景色で塗りつぶしてから再描画します。初回の描画ではforce_refresh()を行うようにしてください。
ターミナルに1文字書き出します。カーソル位置に文字を書き出します。16bit wchar_t型のUnicodeを渡します。
char_t (char) 型のパラメータを渡した場合は、入力をUTF-8として取り扱います。例えば0x7F までのASCII文字はそのままwrite(wchar_t)が呼び出され、3バイトのUTF-8エンコードされた日本語文字は、連続して3バイトを投入した時点でwrite(wchar_t)が呼び出されます。
get_height(), get_width()
ターミナルの行数、カラム数を返す。
カーソル位置を指定場所に移動する。
戻り値はITerm&(自身)で続けて出力メソッドなどを記述できる。
<<演算子を用いてターミナルに文字列を書き出します。
メソッド (サブクラス実装用)