XParseGeometry(3X11)

名前
XParseGeometry, XWMGeometry - ウィンドウのジオメトリの展開

書式
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 のアプリケーションでは、ウィンドウのサイズや位置を指定する 標準の文字列が使われる。 を使うと標準のウィンドウのジオメトリを展開することができるので、アプリ ケーションをこの標準に準拠させることが簡単にできる。 具体的には、この関数は次の形式の文字列を展開する。

[=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]

各フィールドはこの関数の引き数に対応する。 (<> で囲んだものは整数、[] で囲んだものは省略可能、{} で囲んだも のは「どれか1つの選択」を意味する。 実際の文字列には括弧は現われてはならないので注意すること。) 文字列のエンコーディングが Host Portable Character Encoding でない場合、 結果は実装依存である。

関数 は、文字列中では 4つの値(width, height, xoffset, yoffset)のうち実際に セットされているものと、x, y の値が負でないかどうかを示すビットマスク を返す。 伝統的には、-0 と +0 は異なる値である。ユーザは「画面の右端あるいは下 端からの相対座標」を指定する必要があるからである。 見つかったそれぞれの値に対して、対応する引き数が更新される。 見つからなかった値については、引き数は変更されないままである。 ビットは で表現される。これは で定義されている。 値のうちの1つか符号のうちの1つが文字列中に現われていれば、このビットは 必ずセットされる。

この関数が フラグか フラグを返した場合、クライアントは要求された位置にウィンドウを配置すべ きである。

The 関数 は、ユーザやサイズのヒント(普通は WM_NORMAL_HINTS に格納されているヒン ト)を使ってこの関数を呼び出したプログラムが指定したジオメトリ情報( で使用されるフォーマット)を結びつけ、ウィンドウを記述する位置、サイズ、 gravity 値 のいずれか)を返す。 構造体に基本サイズがセットされていない場合には、最小サイズがセットされ ていればこれを使用する。 そうでない場合には、ベースサイズは0であるものとされる。 ヒント構造体に最小サイズがセットされていない場合は、基本サイズが使用さ れる。 この関数は( が返す形式の)マスク値を返す。 これは、どの値がユーザ指定であるか、ウィンドウの位置は画面右端や下端か らの相対座標であるかどうかを示す。 これらの座標は既に、x_return, y_return の値として処理されている点に注 意せよ。

また、不正なジオメトリを指定した場合、高さや幅にはゼロが返されることが ある点に注意せよ。 関数を呼ぶ時には、ヒントを直接更新するために、ヒントの win_gravity フィー ルドのアドレスを渡してもよい。

関連項目
XSetWMProperties(3X11)
Xlib - C Language X Interface