データ構造 | |
struct | MFaceHLineProp |
フェースの水平線指定用型宣言. [詳細] | |
struct | MFaceBoxProp |
フェースの囲み枠指定用型宣言. [詳細] | |
変数: フェースプロパティのキー | |
MSymbol | Mforeground |
前景色を指定するフェースプロパティーのキー. | |
MSymbol | Mbackground |
背景色を指定するためのフェースプロパティーのキー. | |
MSymbol | Mvideomode |
ビデオモードを指定するためのフェースプロパティーのキー. | |
MSymbol | Mratio |
フォントのサイズの比率を指定するためのフェースプロパティーのキー. | |
MSymbol | Mhline |
水平線を指定するためのフェースプロパティーのキー. | |
MSymbol | Mbox |
囲み枠を指定するためのフェースプロパティーのキー. | |
MSymbol | Mfontset |
フォントセットを指定するためのフェースプロパティーのキー. | |
MSymbol | Mhook_func |
フックを指定するためのフェースプロパティーのキー. | |
MSymbol | Mhook_arg |
フックの引数を指定するためのフェースプロパティーのキー. | |
変数: フェースの #Mvideomode プロパティの可能な値 | |
MSymbol | Mnormal |
MSymbol | Mreverse |
変数: 定義済みフェース | |
MFace * | mface_normal_video |
標準ビデオフェース. | |
MFace * | mface_reverse_video |
リバースビデオフェース. | |
MFace * | mface_underline |
下線フェース. | |
MFace * | mface_medium |
ミディアムフェース. | |
MFace * | mface_bold |
ボールドフェース. | |
MFace * | mface_italic |
イタリックフェース. | |
MFace * | mface_bold_italic |
ボールドイタリックフェース. | |
MFace * | mface_xx_small |
最小のフェース. | |
MFace * | mface_x_small |
より小さいフェース. | |
MFace * | mface_small |
小さいフェース. | |
MFace * | mface_normalsize |
標準の大きさのフェース. | |
MFace * | mface_large |
大きいフェース. | |
MFace * | mface_x_large |
もっと大きいフェース. | |
MFace * | mface_xx_large |
最大のフェース. | |
MFace * | mface_black |
黒フェース. | |
MFace * | mface_white |
白フェース. | |
MFace * | mface_red |
赤フェース. | |
MFace * | mface_green |
緑フェース. | |
MFace * | mface_blue |
青フェース. | |
MFace * | mface_cyan |
シアンフェース. | |
MFace * | mface_yellow |
黄フェース. | |
MFace * | mface_magenta |
マゼンタフェース. | |
変数: フェースを取り扱うためのその他のシンボル | |
MSymbol | Mface |
フェースを指定するテキストプロパティのキー. | |
型定義 | |
typedef MFace | MFace |
フェースの型宣言. | |
typedef void(*) | MFaceHookFunc (MFace *face, void *arg, void *info) |
フェースのフック関数の型宣言. | |
関数 | |
MFace * | mface () |
新しいフェースをつくる. | |
MFace * | mface_copy (MFace *face) |
フェースのコピーを作る. | |
int | mface_equal (MFace *face1, MFace *face2) |
MFace * | mface_merge (MFace *dst, MFace *src) |
フェースを統合する. | |
MFace * | mface_from_font (MFont *font) |
フォントからフェースを作る. | |
void * | mface_get_prop (MFace *face, MSymbol key) |
フェースのプロパティの値を得る. | |
MFaceHookFunc | mface_get_hook (MFace *face) |
フェースのフック関数を得る. | |
int | mface_put_prop (MFace *face, MSymbol key, void *val) |
フェースプロパティの値を設定する. | |
int | mface_put_hook (MFace *face, MFaceHookFunc func) |
フェースのフック関数を設定する. | |
void | mface_update (MFrame *frame, MFace *face) |
フェースを更新する. |
Mforeground, Mbackground, Mvideomode, Mhline, Mbox, Mfoundry, Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize, Mfontset, Mratio, Mhook_func, Mhook_arg
「フェース F のフェースプロパティのうちキーが Mxxx
であるもの」のことを簡単に「F の xxx プロパティ」と呼ぶことがある。
M-text の表示関数は、まず最初にその M-text からキーがシンボル Mface であるようなテキストプロパティを探し、次にその値に従って M-text を表示する。この値はフェースオブジェクトへのポインタでなければならない。
M-text が、Mface をキーとするテキストプロパティを複数持っており、かつそれらの値が衝突しないならば、フェース情報は組み合わされて用いられる。
あるテキスト属性がどのフェースによっても指定されていない場合は、デフォルトフェースの値が用いられる。
typedef void(*) MFaceHookFunc(MFace *face, void *arg, void *info) |
MFaceHookFunc はフェースのフック関数の型である。
関数 mface_copy() はフェース face のコピーを作り、そのコピーへのポインタを返す。
関数 mface_from_font() はフォント font のプロパティをプロパティとして持つ新しいフェースを作り、それを返す。
関数 mface_get_prop() は、フェース face が持つフェースプロパティの内、キーが key であるものの値を返す。 key は下記のいずれかでなければならない。
Mforeground, Mbackground, Mvideomode, Mhline, Mbox, Mfoundry, Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize, Mfontset, Mratio, Mhook_arg
NULL
を返し、外部変数 merror_code にエラーコードを設定する。MERROR_FACE
MFaceHookFunc mface_get_hook | ( | MFace * | face | ) |
関数 mface_get_hook() はフェース face のフック関数を返す。
関数 mface_put_prop() は、フェース face 内でキーが key であるプロパティの値を val に設定する。key は以下のいずれかでなくてはならない。
Mforeground, Mbackground, Mvideomode, Mhline, Mbox, Mfoundry, Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize, Mfontset, Mratio, Mhook_func, Mhook_arg.
これらのうちの、フォント関連のプロパティ (Mfamily から Msize まで) は、フェースのフォントセット中のフォントに関するデフォルト値となり、個々のフォントが値を指定しなかった場合に用いられる。
戻り値の型は key に依存する。上記のキーの説明を参照すること。
MERROR_FACE
int mface_put_hook | ( | MFace * | face, | |
MFaceHookFunc | func | |||
) |
関数 mface_set_hook() は、フェース face のフック関数をfunc に設 定する。
関数 mface_update() はフレーム frame のフェース face を face のフック関数を(あれば)呼んで更新する。
変数 Mforeground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。
Mnil の場合、前景色は指定されない。そうでなければ M-text の前景は指定された色で表示される。
変数 Mbackground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。
Mnil の場合、背景色は指定されない。そうでなければ M-text の背景は指定された色で表示される。
変数 Mhline はフェースプロパティのキーとして用いられる。値は MFaceHLineProp 型オブジェクトへのポインタか NULL
でなくてはならない。
値が NULL
ならば、このプロパティは指定されない。 そうでなければ値が指すオブジェクトに指定されたように水平線を付加して M-text を表示する。
変数 Mbox はフェースプロパティのキーとして用いられる。値は MFaceBoxProp 型オブジェクトへのポインタか NULL
でなくてはならない。
値が NULL
ならば、このフェースは囲み枠を指定していない。 そうでなければ値が指すオブジェクトに指定されたように囲み枠を付加して M-text を表示する。
変数 Mhook_func はフェースプロパティのキーとして用いられる。値は MFaceHookFunc 型の関数か NULL
でなくてはならない。
値が NULL
ならば、フックは指定されていない。 そうでなければフェースを実現する前に指定された関数が呼ばれる。
変数 Mhook_arg はフェースプロパティのキーとして用いられる。 値は何でもよく、フェースプロパティ Mhook_func で指定される関数に渡される。
変数 Mvideomode の説明を参照のこと。
変数 Mvideomode の説明を参照のこと。
変数 mface_normal_video は Mvideomode プロパティの値が Mnormal であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は標準の色 (すなわち前景は前景色、背景は背景色)で描かれる。
変数 mface_reverse_video は Mvideomode プロパティの値が Mreverse であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は前景色と背景色が入れ替わって (すなわち前景は背景色、背景は前景色)描かれる。
変数 mface_underline は Mhline プロパテイの値が MFaceHLineProp 型オブジェクトへのポインタであるフェースを指すポインタである。オブジェクトのメンバは以下の通り。
メンバ 値 ----- ----- type MFACE_HLINE_UNDER width 1 color Mnil
他のプロパティは指定されない。このフェースを持つ M-text は下線付きで表示される。
変数 mface_medium は Mweight プロパテイの値が "medium" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ミディアムウェイトのフォントで表示される。
変数 mface_bold は Mweight プロパテイの値が "bold" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドフォントで表示される。
変数 mface_italic は Mstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、イタリック体で表示される。
変数 mface_bold_italic は、Mweight プロパテイの値が "bold" という名前をもつシンボルであり、かつ Mstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドイタリック体で表示される。
変数 mface_xx_small は、Mratio プロパティの値が 50 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 50% の大きさのフォントを用いて表示される。
変数 mface_x_small は、Mratio プロパティの値が 66 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 66% の大きさのフォントを用いて表示される。
変数 mface_small は、Mratio プロパティの値が 75 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 75% の大きさのフォントを用いて表示される。
変数 mface_normalsize は、Mratio プロパティの値が 100 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントと同じ大きさのフォントを用いて表示される。
変数 mface_large は、Mratio プロパティの値が 120 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 120% の大きさのフォントを用いて表示される。
変数 mface_x_large は、Mratio プロパティの値が 150 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 150% の大きさのフォントを用いて表示される。
変数 mface_xx_large は、Mratio プロパティの値が 200 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 200% の大きさのフォントを用いて表示される。
変数 mface_black は、Mforeground プロパティの値として "black" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黒を用いて表示される。
変数 mface_white は、Mforeground プロパティの値として "white" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として白を用いて表示される。
変数 mface_red は、Mforeground プロパティの値として "red" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として赤を用いて表示される。
変数 mface_green は、Mforeground プロパティの値として "green" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として緑を用いて表示される。
変数 mface_blue は、Mforeground プロパティの値として "blue" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として青を用いて表示される。
変数 mface_cyan は、Mforeground プロパティの値として "cyan" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてシアンを用いて表示される。
変数 mface_yellow は、Mforeground プロパティの値として "yellow" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黄色を用いて表示される。
変数 mface_magenta は、Mforeground プロパティの値として "magenta" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてマゼンタを用いて表示される。