XGetWindowAttributes(3X11)

名前
XGetWindowAttributes, XGetGeometry, XWindowAttributes - ウィンドウの現在の属性とジオメトリの取得、現在のウィンドウ属性の構造体

書式
Status XGetWindowAttributes(display, w, window_attributes_return)
      Display *display;
      Window w;
      XWindowAttributes *window_attributes_return;

Status XGetGeometry(display, d, root_return, x_return, y_return, width_return,
                      height_return, border_width_return, depth_return)
        Display *display;
        Drawable d;
        Window *root_return;
        int *x_return, *y_return;
        unsigned int *width_return, *height_return;
        unsigned int *border_width_return;
        unsigned int *depth_return;

引き数

border_width_return
    境界の幅のピクセル数が返される。

d   ドロウアブルを指定。 これはウィンドウかピックスマップである。

depth_return
    ドロウアブルの深さが返される(オブジェクトのピクセルごとのビット数)。

display
    X サーバへの接続を指定。

root_return
    ルートウィンドウを指定。

w   現在の属性値を取得する対象のウィンドウを指定。

width_return

height_return
    ドロウアブルのディメンジョン(幅と高さ)が返される。

window_attributes_return
    構造体の指定したウィンドウ属性値が返される。

x_return

y_return
    ドロウアブルの位置を定義する x, y 座標が返される。 ウィンドウの場合、この座標は親ウィンドウの原点に対する相対座標であり、 左上外側の隅を示す。 ピックスマップの場合は、x, y 座標は常にゼロである。

説明
関数 は指定したウィンドウの現在の属性値を 構造体に返す。

はエラー を起こすことがある。

関数 はドロウアブルの現在のジオメトリとルートウィンドウを返す。 ドロウアブルのジオメトリは、x, y 座標、幅と高さ、境界の幅、深さを持つ。 これらは引き数リストに記述される。 この関数にクラスが であるウィンドウを渡すことは正しい指定である。

構造体
構造体の内容を示す。

typedef struct {
     int x, y;    /* ウィンドウの位置 */
     int width, height;    /* ウィンドウの幅と高さ */
     int border_width;    /* ウィンドウの境界幅 */
     int depth;    /* ウィンドウの深さ */
     Visual *visual;    /* 対応するビジュアル構造体 */
     Window root;    /* ウィンドウがあるスクリーンのルートウィンドウ */
    int class;    /* InputOutput, InputOnly*/
     int bit_gravity;    /* ビットの gravity 値のうちの1つ */
     int win_gravity;    /* ウィンドウの gravity 値のうちの1つ */
    int backing_store;    /* NotUseful, WhenMapped, Always */
     unsigned long backing_planes;    /* 可能ならば保存されるプレーン */
    unsigned long backing_pixel;    /* プレーンの復元に使われる値 */
    Bool save_under;    /* 真偽値。ビットを保存するかどうか */
    Colormap colormap;    /* ウィンドウに対応するカラーマップ */
    Bool map_installed;    /* 真偽値。現在カラーマップはインストールされているかどうか */
    int map_state;    /* IsUnmapped, IsUnviewable, IsViewable */
    long all_event_masks;    /* クライアント全てが注目しているイベントの集合 */
    long your_event_mask;    /* 自分自身のイベントマスク */
    long do_not_propagate_mask;    /* 伝播させないイベントの集合 */
    Bool override_redirect;    /* override-redirect を示す真偽値 */
    Screen *screen;    /* 正しいスクリーンへのバックポインタ */
} XWindowAttributes;

x, y メンバには、ウィンドウの左上外側の隅の座標が、原点に対する相対座 標でセットされる。 width, height メンバには、境界を含まないウィンドウ内部のサイズがセット される。 border_width メンバには、ウィンドウの幅のピクセル数がセットされる。 depth メンバにはウィンドウの深さ(つまり、オブジェクトのピクセルごとの ビット数)がセットされる。 visual メンバはスクリーンの対応する 構造体へのポインタである。 root メンバには、このウィンドウがあるスクリーンのルートウィンドウがセッ トされる。 class メンバにはウィンドウのクラスがセットされる。 これは と のいずれかである。

bit_gravity メンバにはウィンドウの bit gravity 値がセットされる。 これは以下のいずれかである:

win_gravity メンバにはウィンドウの window gravity 値がセットされる。 これは以下のいずれかである:

For additional information on gravity, see section 3.3.

backing_store メンバは、ウィンドウの内容をどのように保持すべきか指定す る。この値は、 のいずれかである。 backing_planes メンバは、バッキングストアやセーブアンダーで保存しなけ ればならない動的なデータを、ウィンドウのどのビットプレーンが保持するの か指示する(ビットに1をセットする)。 backing_pixel メンバは、backing_planes にセットされていないプレーンで どの値を使用するかを示す。

save_under メンバには か がセットされる。 colormap メンバには指定したウィンドウのカラーマップがセットされる。 このメンバの取る値はカラーマップの ID か である。 map_installed メンバはカラーマップが現在インストールされているかどうか を示す。このメンバの取る値は、 か である。 map_state メンバはウィンドウの状態を示し、 のいずれかの値を取る。 は、そのウィンドウ自体はマップされているが祖先ウィンドウにマップされて いないものがある場合に使用される。

all_event_masks メンバは、そのウィンドウ上で選択しているイベントマスク を全てのクライアントについてビットごとの論理和を取ったものである。 your_event_mask メンバは問い合わせをしたクライアントが選択している全て のイベントマスクの論理和を取ったものである。 do_not_propagate_mask メンバは、伝播してはならないイベントの集合につい てビットごとの論理和を取ったものである。

override_redirect メンバは、このウィンドウがウィンドウ構成の制御を無視 するかどうかを指定する。このメンバの取る値は か である。 このメンバが ならば、ウィンドウマネージャはそのウィンドウを無視すべきである。

screen メンバには、正しいスクリーンを指すバックポインタを与えるスクリー ンへのポインタがセットされる。 これにより、ルートウィンドウのフィールドを使ったループでマッチするフィー ルドを探すことなく、容易にスクリーン情報を取得することができる。

返り値

引き数 Drawable の値が、定義されている Window か Pixmap を指していない。

引き数 Window の値が、定義されている Window を指していない。

関連項目
XQueryPointer(3X11), XQueryTree(3X11)
Xlib - C Language X Interface