m17n ライブラリ 1.8.4
読み取り中…
検索中…
一致する文字列を見つけられません
データ構造 | 型定義 | 関数
フェース

フェースとは、M-text の見栄えを制御するオブジェクトである. [詳解]

データ構造

struct  MFaceHLineProp
 フェースの水平線指定用型宣言. [詳解]
 
struct  MFaceBoxProp
 フェースの囲み枠指定用型宣言. [詳解]
 

型定義

typedef void(* MFaceHookFunc) (MFace *face, void *arg, void *info)
 フェースのフック関数の型宣言.
 

関数

MFacemface ()
 新しいフェースをつくる.
 
MFacemface_copy (MFace *face)
 フェースのコピーを作る.
 
int mface_equal (MFace *face1, MFace *face2)
 
MFacemface_merge (MFace *dst, MFace *src)
 フェースを統合する.
 
MFacemface_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)
 フェースを更新する.
 

変数: フェースプロパティのキー

MSymbol Mforeground
 前景色を指定するフェースプロパティーのキー.
 
MSymbol Mbackground
 背景色を指定するためのフェースプロパティーのキー.
 
MSymbol Mvideomode
 ビデオモードを指定するためのフェースプロパティーのキー.
 
MSymbol Mratio
 フォントのサイズの比率を指定するためのフェースプロパティーのキー.
 
MSymbol Mhline
 水平線を指定するためのフェースプロパティーのキー.
 
MSymbol Mbox
 囲み枠を指定するためのフェースプロパティーのキー.
 
MSymbol Mfontset
 フォントセットを指定するためのフェースプロパティーのキー.
 
MSymbol Mhook_func
 フックを指定するためのフェースプロパティーのキー.
 
MSymbol Mhook_arg
 フックの引数を指定するためのフェースプロパティーのキー.
 

変数: フェースの #Mvideomode プロパティの可能な値

変数 Mvideomode の説明を参照のこと。

MSymbol Mnormal
 
MSymbol Mreverse
 

変数: 定義済みフェース

MFacemface_normal_video
 標準ビデオフェース.
 
MFacemface_reverse_video
 リバースビデオフェース.
 
MFacemface_underline
 
MFacemface_medium
 ミディアムフェース.
 
MFacemface_bold
 ボールドフェース.
 
MFacemface_italic
 イタリックフェース.
 
MFacemface_bold_italic
 ボールドイタリックフェース.
 
MFacemface_xx_small
 最小のフェース.
 
MFacemface_x_small
 より小さいフェース.
 
MFacemface_small
 小さいフェース.
 
MFacemface_normalsize
 標準の大きさのフェース.
 
MFacemface_large
 大きいフェース.
 
MFacemface_x_large
 もっと大きいフェース.
 
MFacemface_xx_large
 最大のフェース.
 
MFacemface_black
 黒フェース.
 
MFacemface_white
 白フェース.
 
MFacemface_red
 赤フェース.
 
MFacemface_green
 緑フェース.
 
MFacemface_blue
 青フェース.
 
MFacemface_cyan
 シアンフェース.
 
MFacemface_yellow
 黄フェース.
 
MFacemface_magenta
 マゼンタフェース.
 

変数: フェースを取り扱うためのその他のシンボル

MSymbol Mface
 フェースを指定するテキストプロパティのキー.
 

詳解

フェースとは、M-text の見栄えを制御するオブジェクトである.

フェースMFace 型のオブジェクトであり、M-text の表示方法を制御する。フェースは固定個の フェースプロパティ を持つ。 他のプロパティ同様フェースプロパティはキーと値からなり、キーは以下のシンボルのいずれかである。

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 をキーとするテキストプロパティを複数持っており、かつそれらの値が衝突しないならば、フェース情報は組み合わされて用いられる。

あるテキスト属性がどのフェースによっても指定されていない場合は、デフォルトフェースの値が用いられる。

型定義詳解

◆ MFaceHookFunc

typedef void(* MFaceHookFunc) (MFace *face, void *arg, void *info)

フェースのフック関数の型宣言.

MFaceHookFunc はフェースのフック関数の型である。

関数詳解

◆ mface()

MFace * mface ( )

新しいフェースをつくる.

関数 mface() はプロパティを一切持たない新しいフェースオブジェクトを作る。

戻り値:
この関数は作ったフェースへのポインタを返す。

◆ mface_copy()

MFace * mface_copy ( MFace face)

フェースのコピーを作る.

関数 mface_copy() はフェース face のコピーを作り、そのコピーへのポインタを返す。

◆ mface_equal()

int mface_equal ( MFace face1,
MFace face2 
)

◆ mface_merge()

MFace * mface_merge ( MFace dst,
MFace src 
)

フェースを統合する.

関数 mface_merge() は、フェース src のプロパティをフェース dst に統合する。

戻り値:
この関数は dst を返す。

◆ mface_from_font()

MFace * mface_from_font ( MFont font)

フォントからフェースを作る.

関数 mface_from_font() はフォント font のプロパティをプロパティとして持つ新しいフェースを作り、それを返す。

◆ mface_get_prop()

void * mface_get_prop ( MFace face,
MSymbol  key 
)

フェースのプロパティの値を得る.

関数 mface_get_prop() は、フェース face が持つフェースプロパティの内、キーが key であるものの値を返す。 key は下記のいずれかでなければならない。

#Mforeground, #Mbackground, #Mvideomode, #Mhline, #Mbox,
#Mfoundry, #Mfamily, #Mweight, #Mstyle, #Mstretch, #Madstyle,
#Msize, #Mfontset, #Mratio, #Mhook_arg
戻り値:
戻り値の型は key に依存する。上記のキーの説明を参照すること。 エラーが検出された場合は NULL を返し、外部変数 merror_code にエラーコードを設定する。
参照:
mface_put_prop(), mface_put_hook()
エラー:
MERROR_FACE

◆ mface_get_hook()

MFaceHookFunc mface_get_hook ( MFace face)

フェースのフック関数を得る.

関数 mface_get_hook() はフェース face のフック関数を返す。

◆ mface_put_prop()

int mface_put_prop ( MFace face,
MSymbol  key,
void *  val 
)

フェースプロパティの値を設定する.

関数 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 に依存する。上記のキーの説明を参照すること。

戻り値:
処理が成功した場合、mface_put_prop() は 0 を返す。失敗した場合は -1 を返し、外部変数 merror_code にエラーコードを設定する。
参照:
mface_get_prop()
エラー:
MERROR_FACE

◆ mface_put_hook()

int mface_put_hook ( MFace face,
MFaceHookFunc  func 
)

フェースのフック関数を設定する.

関数 mface_set_hook() は、フェース face のフック関数をfunc に設 定する。

◆ mface_update()

void mface_update ( MFrame frame,
MFace face 
)

フェースを更新する.

関数 mface_update() はフレーム frame のフェース faceface のフック関数を(あれば)呼んで更新する。

変数詳解

◆ Mforeground

MSymbol Mforeground

前景色を指定するフェースプロパティーのキー.

変数 Mforeground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。

Mnil の場合、前景色は指定されない。そうでなければ M-text の前景は指定された色で表示される。

◆ Mbackground

MSymbol Mbackground

背景色を指定するためのフェースプロパティーのキー.

変数 Mbackground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。

Mnil の場合、背景色は指定されない。そうでなければ M-text の背景は指定された色で表示される。

◆ Mvideomode

MSymbol Mvideomode

ビデオモードを指定するためのフェースプロパティーのキー.

変数 Mvideomode はフェースプロパティのキーとして用いられる。プロパティの値は、 Mnormal, Mreverse, Mnil のいずれかでなくてはならない。

Mnormal の場合は、M-text を標準のビデオモード(前景を前景色で、背景を背景色で)で表示する。

Mreverse の場合はリバースビデオモードで(前景を背景色で、背景を前景色で)表示する。

Mnil の場合はビデオモードは指定されない。

◆ Mratio

MSymbol Mratio

フォントのサイズの比率を指定するためのフェースプロパティーのキー.

変数 Mratio はフェースプロパティのキーとして用いられる。値 RATIO は整数値でなくてはならない。

値が0ならば、フォントサイズは指定されない。そうでなければ、M-text は(FONTSIZE * RATIO / 100) というサイズのフォントで表示される。 FONTSIZE はフェースプロパティー::Msize で指定されたサイズである。

◆ Mhline

MSymbol Mhline

水平線を指定するためのフェースプロパティーのキー.

変数 Mhline はフェースプロパティのキーとして用いられる。値は MFaceHLineProp 型オブジェクトへのポインタか NULL でなくてはならない。

値が NULL ならば、このプロパティは指定されない。 そうでなければ値が指すオブジェクトに指定されたように水平線を付加して M-text を表示する。

◆ Mbox

MSymbol Mbox

囲み枠を指定するためのフェースプロパティーのキー.

変数 Mbox はフェースプロパティのキーとして用いられる。値は MFaceBoxProp 型オブジェクトへのポインタか NULL でなくてはならない。

値が NULL ならば、このフェースは囲み枠を指定していない。 そうでなければ値が指すオブジェクトに指定されたように囲み枠を付加して M-text を表示する。

◆ Mfontset

MSymbol Mfontset

フォントセットを指定するためのフェースプロパティーのキー.

変数 Mfontset はフェースプロパティのキーとして用いられる。値は Mfontset 型オブジェクトへのポインタか NULL でなくてはならない。

値が NULL ならば、フォントセットは指定されていない。 そうでなければ値が指すオブジェクトに指定されたフォントセットから選んだフォントで M-text を表示する。

◆ Mhook_func

MSymbol Mhook_func

フックを指定するためのフェースプロパティーのキー.

変数 Mhook_func はフェースプロパティのキーとして用いられる。値は MFaceHookFunc 型の関数か NULL でなくてはならない。

値が NULL ならば、フックは指定されていない。 そうでなければフェースを実現する前に指定された関数が呼ばれる。

◆ Mhook_arg

MSymbol Mhook_arg

フックの引数を指定するためのフェースプロパティーのキー.

変数 Mhook_arg はフェースプロパティのキーとして用いられる。 値は何でもよく、フェースプロパティ Mhook_func で指定される関数に渡される。

◆ Mnormal

MSymbol Mnormal

◆ Mreverse

MSymbol Mreverse

◆ mface_normal_video

MFace* mface_normal_video

標準ビデオフェース.

変数 mface_normal_videoMvideomode プロパティの値が Mnormal であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は標準の色 (すなわち前景は前景色、背景は背景色)で描かれる。

◆ mface_reverse_video

MFace* mface_reverse_video

リバースビデオフェース.

変数 mface_reverse_videoMvideomode プロパティの値が Mreverse であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は前景色と背景色が入れ替わって (すなわち前景は背景色、背景は前景色)描かれる。

◆ mface_underline

MFace* mface_underline
@brief 下線フェース.

変数 #mface_underline は #Mhline プロパテイの値が #MFaceHLineProp 
型オブジェクトへのポインタであるフェースを指すポインタである。オブジェクトのメンバは以下の通り。
    メンバ  値
    -----   -----
    type    MFACE_HLINE_UNDER
    width   1
    color   Mnil
他のプロパティは指定されない。このフェースを持つ M-text は下線付きで表示される。 

◆ mface_medium

MFace* mface_medium

ミディアムフェース.

変数 mface_mediumMweight プロパテイの値が "medium" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ミディアムウェイトのフォントで表示される。

◆ mface_bold

MFace* mface_bold

ボールドフェース.

変数 mface_boldMweight プロパテイの値が "bold" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドフォントで表示される。

◆ mface_italic

MFace* mface_italic

イタリックフェース.

変数 mface_italicMstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、イタリック体で表示される。

◆ mface_bold_italic

MFace* mface_bold_italic

ボールドイタリックフェース.

変数 mface_bold_italic は、::Mweight プロパテイの値が "bold" という名前をもつシンボルであり、かつ Mstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドイタリック体で表示される。

◆ mface_xx_small

MFace* mface_xx_small

最小のフェース.

変数 mface_xx_small は、::Mratio プロパティの値が 50 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 50% の大きさのフォントを用いて表示される。

◆ mface_x_small

MFace* mface_x_small

より小さいフェース.

変数 mface_x_small は、::Mratio プロパティの値が 66 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 66% の大きさのフォントを用いて表示される。

◆ mface_small

MFace* mface_small

小さいフェース.

変数 mface_small は、::Mratio プロパティの値が 75 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 75% の大きさのフォントを用いて表示される。

◆ mface_normalsize

MFace* mface_normalsize

標準の大きさのフェース.

変数 mface_normalsize は、::Mratio プロパティの値が 100 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントと同じ大きさのフォントを用いて表示される。

◆ mface_large

MFace* mface_large

大きいフェース.

変数 mface_large は、::Mratio プロパティの値が 120 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 120% の大きさのフォントを用いて表示される。

◆ mface_x_large

MFace* mface_x_large

もっと大きいフェース.

変数 mface_x_large は、::Mratio プロパティの値が 150 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 150% の大きさのフォントを用いて表示される。

◆ mface_xx_large

MFace* mface_xx_large

最大のフェース.

変数 mface_xx_large は、::Mratio プロパティの値が 200 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 200% の大きさのフォントを用いて表示される。

◆ mface_black

MFace* mface_black

黒フェース.

変数 mface_black は、::Mforeground プロパティの値として "black" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黒を用いて表示される。

◆ mface_white

MFace* mface_white

白フェース.

変数 mface_white は、::Mforeground プロパティの値として "white" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として白を用いて表示される。

◆ mface_red

MFace* mface_red

赤フェース.

変数 mface_red は、::Mforeground プロパティの値として "red" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として赤を用いて表示される。

◆ mface_green

MFace* mface_green

緑フェース.

変数 mface_green は、::Mforeground プロパティの値として "green" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として緑を用いて表示される。

◆ mface_blue

MFace* mface_blue

青フェース.

変数 mface_blue は、::Mforeground プロパティの値として "blue" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として青を用いて表示される。

◆ mface_cyan

MFace* mface_cyan

シアンフェース.

変数 mface_cyan は、::Mforeground プロパティの値として "cyan" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてシアンを用いて表示される。

◆ mface_yellow

MFace* mface_yellow

黄フェース.

変数 mface_yellow は、::Mforeground プロパティの値として "yellow" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黄色を用いて表示される。

◆ mface_magenta

MFace* mface_magenta

マゼンタフェース.

変数 mface_magenta は、::Mforeground プロパティの値として "magenta" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてマゼンタを用いて表示される。

◆ Mface

MSymbol Mface

フェースを指定するテキストプロパティのキー.

変数 Mface"face" という名前を持つシンボルである。このシンボルをキーとするテキストプロパティは、 MFace 型のオブジェクトへのポインタを持たなければならない。 これは管理キーである。


m17n-lib Home