フレーム
[GUI API]

フレーム とはグラフィックデバイスに対応するオブジェクトである. [詳細]

変数: フレームパラメータ用キー

フレームを生成する際のパラメータに用いるシンボル。詳しくは関数 mframe() の説明参照。

Mdevice、 Mdisplay、 Mscreen、 Mdrawable、 Mdepth、 Mcolormap はフレームプロパティのキーでもある。

MSymbol Mdevice
MSymbol Mdisplay
MSymbol Mscreen
MSymbol Mdrawable
MSymbol Mdepth
MSymbol Mcolormap
MSymbol Mwidget
MSymbol Mgd

変数: フレームプロパティのキー

関数 mframe_get_prop() の引数に用いられるシンボル。

MSymbol Mfont
MSymbol Mfont_width
MSymbol Mfont_ascent
MSymbol Mfont_descent

型定義

typedef struct MFrame MFrame
 フレームの型宣言.

関数

MFramemframe (MPlist *plist)
 新しいフレームを作る.
void * mframe_get_prop (MFrame *frame, MSymbol key)
 フレームのプロパティの値を返す.

変数

MFramemframe_default
 デフォルトのフレーム.

説明

フレーム とはグラフィックデバイスに対応するオブジェクトである.

フレーム とは MFrame 型のオブジェクトであり、個々の表示/入力デバイスの情報を格納するために用いられる。 ほとんどすべての m17n GUI関数は、引数としてフレームへのポインタを要求する。


型定義

typedef struct MFrame MFrame

フレームの型宣言.

MFrame は、フレーム オブジェクト用の型である。 個々のフレームは、それが対応する物理的な表示/入力デバイスの各種情報を保持する。

MFrame 型の内部構造は、アプリケーションプログラムからは見えない。 またその内容は使用するウィンドウシステムに依存する。また m17n-X ライブラリにおけるフレームは、X ウィンドウの displayscreen に関する情報を持つ。


関数

MFrame* mframe ( MPlist plist  ) 

新しいフレームを作る.

関数 mframe()plist 中のパラメータを持つ新しいフレームを作る。 plistNULL でも良い。

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 を返す。

void* mframe_get_prop ( MFrame frame,
MSymbol  key 
)

フレームのプロパティの値を返す.

関数 mframe_get_prop() はフレーム frame のキー key を持つプロパティの値を返す。有効なキーとその値は以下の通り。


        キー            値の型          値の意味
        ---             -------------   ----------------
        Mface           MFace *         デフォルトのフェース

        Mfont           MFont *         デフォルトのフォント

        Mfont_width     int             デフォルトのフォントの幅

        Mfont_ascent    int             デフォルトのフォントの ascent

        Mfont_descent   int             デフォルトのフォントの descent

m17n-X ライブラリでは、以下のキーも使用できる。


        キー            値の型          値の意味
        ---             -------------   ----------------
        Mdisplay        Display *       フレームと関連付けられたディスプレイ

        Mscreen         int             フレームと関連付けられたスクリーン
                                        のスクリーンナンバ

        Mcolormap       Colormap        フレームのカラーマップ

        Mdepth          unsigned        フレームの深さ


変数

デフォルトのフレーム.

外部変数 mframe_default は、デフォルトのフレームへのポインタを持つ。 デフォルトのフレームは、最初に mframe() が呼び出されたときに作られる。


m17n-lib Home