Other Alias
XParseGeometry書式
int XParseGeometry(parsestring, x_return, y_return, width_return, height_return)char *parsestring;
int *x_return, *y_return;
unsigned int *width_return, *height_return;
int XWMGeometry(display, screen, user_geom,
def_geom, bwidth, hints, x_return, y_return,
width_return, height_return, gravity_return)
Display *display;
int screen;
char *user_geom;
char *def_geom;
unsigned int bwidth;
XSizeHints *hints;
int *x_return, *y_return;
int *width_return;
int *height_return;
int *gravity_return;
引き数
- position
-
- default_position
- ジオメトリ指定を与える。
- display
- X サーバへの接続を指定する。
- fheight
-
- fwidth
- フォントの高さと幅をピクセル単位で指定する(増加サイズ量)。
- parsestring
- 解析する文字列を指定する。
- screen
- スクリーンを指定する。
- width_return
-
- height_return
- 決定された幅と高さが返される。
- xadder
-
- yadder
- ウィンドウに必要とされる追加的な内側のパディングを指定する。
- x_return
-
- y_return
- x, y のオフセットが返される。
- bwidth
- 境界幅を指定する。
- hints
- 通常の状態での、ウィンドウのサイズのヒントを指定する。
- def_geom
- アプリケーションのデフォルトのジオメトリか NULL を指定する。
- gravity_return
- ウィンドウの gravity 値が返される。
- user_geom
- ユーザ指定のジオメトリか NULL を指定する。
説明
伝統的に X のアプリケーションでは、標準の文字列を使って ウィンドウのサイズや位置を指定する。 XParseGeometry を使うと標準のウィンドウのジオメトリを解析することができるので、 アプリケーションをこの標準に準拠させることが簡単に行える。 具体的には、この関数は次の形式の文字列を解析する。
[=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]
各フィールドはこの関数の引き数に対応する。 (<> で囲んだものは整数、[] で囲んだものは省略可能、{} で囲んだも のは「どれか1つの選択」を意味する。 実際の文字列には括弧が現われてはならないので注意すること。) 文字列のエンコーディングがホストポータブル文字エンコーディングでない場合の 結果は実装依存である。
関数 XParseGeometry は、4 つの値(width, height, xoffset, yoffset)のうち実際に文字列中で 設定されているものと、x, y の値が負でないかどうかを示すビットマスク を返す。 伝統的には、-0 と +0 は異なる値である。ユーザは「画面の右端あるいは下 端からの相対座標」を指定する必要があるからである。 見つかったそれぞれの値に対して、対応する引き数が更新される。 見つからなかった値については、引き数は変更されないままである。 ビットは XValue, YValue, WidthValue, HeightValue, XNegative, YNegative で表現される。これは <X11/Xutil.h> で定義されている。 値のうちのいずれかか符号のうちのいずれかが文字列中に現われていれば、このビットは 必ず設定される。
この関数が XValue フラグか YValue フラグを返した場合、クライアントは要求された位置にウィンドウを配置すべ きである。
The 関数 XWMGeometry は、ユーザやこの関数を呼び出したプログラムが指定した何らかのジオメトリ 情報( XParseGeometry で使用されるフォーマット)をサイズヒント(普通は WM_NORMAL_HINTS に格納 されているヒント)と結びつけ、ウィンドウを記述する位置、サイズ、gravity 値 (NorthWestGravity, NorthEastGravity, SouthEastGravity, SouthWestGravity のいずれか)を返す。 XSizeHints 構造体に基本サイズが設定されていない場合には、最小サイズが設定されてい ればこれを使用する。 そうでない場合には、基本サイズは 0 とされる。 ヒント構造体に最小サイズが設定されていない場合は、基本サイズが使用され る。 この関数は( XParseGeometry が返す形式の)マスク値を返す。 この値は、どの値がユーザ指定であるか、ウィンドウの位置は画面右端や下端か らの相対座標であるかどうかを示す。 これらの座標は既に、x_return, y_return の値として処理されている点に注 意すること。
また、不正なジオメトリを指定すると高さや幅として 0 が返される場合が ある点に注意すること。 関数を呼ぶ時には、ヒントを直接更新するためにヒントの win_gravity フィールドのアドレスを渡してもよい。