関数 mframe() は plist 中のパラメータを持つ新しいフレームを作る。 plist は NULL でも良い。
plist に現われるキーのうちどれが認識されるかはウィンドウシステムに依存する。
以下のキーは常に認識される。
-
Mdevice. 値は Mx, Mgd, Mnil のいずれかでなくてはならない。
値が Mx ならば、新しいフレームは X ウィンドウシステム用である。 このフレームと共に指定された引数 MDrawWindow は、 Window 型でなくてはならない。フレームは読み書きともに可能であり、すべてのGUI 関数が使用できる。
値が Mgd ならば、新しいフレームは GD ライブラリのイメージオブジェクト用である。このフレームと共に指定された引数 MDrawWindow は、 gdImagePtr 型でなくてはならない。フレームは書き出し専用であり、 minput_ で始まる名前の関数は使用できない。
値が Mnil ならば、新しいフレームは, null デバイス用である。このフレームは読み書きできないので、引数 MDrawWindow を必要とするmdraw_ で始まる名前の関数や、minput_ で始まる名前の関数は使用できない。
-
Mface. 値は MFace へのポインタでなくてはならない。
この値はフレームのデフォルトのフェースとして用いられる。
これらのキーに加え、Mdevice のキーが Mx である場合に限り以下のキーも認識される。以下のキーはルートウィンドウと、フレームで利用できる drawable の深さを指定する。
-
Mdrawable. 値は
Drawable 型でなくてはならない。
キー Mdisplay を持つパラメータも指定されている必要がある。 生成されたフレームは、指定されたディスプレイ上の指定された drawable と同じルートウィンドウと深さを持つ drawable に用いられる。
このパラメータがある場合には、Mscreen をキーとするパラメータは無視される。
-
Mwidget. 値は
Widget 型でなくてはならない。
生成されたフレームは、指定したウィジェットと同じルートウィンドウと深さを持つ drawable に用いられる。
キー Mface を持つパラメータがなければ、デフォルトのフェースはこの ウィジェットのリソースから作られる。
このパラメータがある場合には、Mdisplay, Mscreen, Mdrawable, Mdepth をキーとするパラメータは無視される。
-
Mdepth. 値は
unsigned 型でなくてはならない。
生成されたフレームは、指定した深さの drawable に用いられる。
-
Mscreen. 値は
(Screen *) 型でなくてはならない。
生成したフレームは、指定したスクリーンと同じルートウィンドウを持ち、スクリーンのデフォルトの深さと同じ深さを持つ drawable に用いられる。
このパラメータがある場合には、Mdisplay をキーとするパラメータは無視される。
-
Mdisplay. 値は
(Display *) 型でなくてはならない。
生成されたフレームは、指定したディスプレイのデフォルトスクリーンと同じルートウィンドウと同じ深さを持つdrawables に用いられる。
-
Mcolormap. 値は
(Colormap) 型でなくてはならない。
生成されたフレームは、指定したカラーマップを使用する。
-
Mfont. 値は、Mx, Mfreetype, Mxft のいずれか。
生成されたフレームは指定したフォントバックエンドを使用する。値が Mx であれば X のコアフォント、Mfreetype であれば FreeType でサポートされているローカルフォント、Mxft であれば Xft ライブラリ経由で用いるローカルフォントを使用する。 複数のフォントバックエンドを使用したい場合には、このパラメータを複数回、異なる値で指定することができる。 指定したバックエンドがサポートされていないデバイスでは、このパラメータは無視される。
このパラメータが無い場合には、デバイスでサポートされているすべてのフォントバックエンドを利用する。
- 戻り値:
- 成功すれば mframe() は新しいフレームへのポインタを返す。そうでなければ
NULL を返す。
|