Other Alias
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
- XWindowAttributes 構造体の指定したウィンドウ属性値が返される。
- x_return
-
- y_return
- ドロウアブルの位置を定義する x, y 座標が返される。 ウィンドウの場合、この座標は親ウィンドウの原点に対する相対座標であり、 左上外側の隅を示す。 ピックスマップの場合は、x, y 座標は常に 0 である。
説明
関数 XGetWindowAttributes は指定したウィンドウの現在の属性値を XWindowAttributes 構造体に返す。XGetWindowAttributes はエラー BadDrawable, BadWindow を起こすことがある。
関数 XGetGeometry はドロウアブルの現在のジオメトリとルートウィンドウを返す。 ドロウアブルのジオメトリは、x, y 座標、幅と高さ、境界の幅、深さを持つ。 これらは引き数リストに記述される。 この関数にクラスが InputOnly であるウィンドウを渡すことは正しい指定である。
構造体
XWindowAttributes 構造体の内容を示す。
typedef struct { int x, y; int width, height; int border_width; int depth; Visual *visual; Window root; int class; int bit_gravity; int win_gravity; int backing_store; unsigned long backing_planes; unsigned long backing_pixel; Bool save_under; Colormap colormap; Bool map_installed; int map_state; long all_event_masks; long your_event_mask; long do_not_propagate_mask; Bool override_redirect; Screen *screen; } XWindowAttributes;
x, y メンバには、ウィンドウの左上外側の隅の座標が、原点に対する 相対座標で設定される。 width, height メンバには、境界を含まないウィンドウ内部のサイズが設定 される。 border_width メンバには、ウィンドウの幅のピクセル数が設定される。 depth メンバにはウィンドウの深さ(つまり、オブジェクトのピクセルごとの ビット数)が設定される。 visual メンバはスクリーンの対応する Visual 構造体へのポインタである。 root メンバには、このウィンドウがあるスクリーンのルートウィンドウがセッ トされる。 class メンバにはウィンドウのクラスが設定される。 これは InputOutput と InputOnly のいずれかである。
bit_gravity メンバにはウィンドウの bit gravity 値が設定される。 これは以下のいずれかである:
ForgetGravity |
EastGravity
|
NorthWestGravity |
SouthWestGravity
|
NorthGravity |
SouthGravity
|
NorthEastGravity |
SouthEastGravity
|
WestGravity |
StaticGravity
|
win_gravity メンバにはウィンドウの window gravity 値が設定される。 これは以下のいずれかである:
UnmapGravity |
EastGravity
|
NorthWestGravity |
SouthWestGravity
|
NorthGravity |
SouthGravity
|
NorthEastGravity |
SouthEastGravity
|
WestGravity |
StaticGravity
|
For additional information on gravity, see section 3.3.
backing_store メンバは、ウィンドウの内容をどのように保持すべきか指定す る。この値は、 WhenMapped, Always, NotUseful のいずれかである。 backing_planes メンバは、バッキングストアやセーブアンダーで保存しなけ ればならない動的なデータを、ウィンドウのどのビットプレーンが保持するの かを指示する(ビットに 1 が設定される)。 backing_pixel メンバは、backing_planes に設定されていないプレーンに 対して、どの値を使用するのかを示す。
save_under メンバには True か False が設定される。 colormap メンバには指定したウィンドウのカラーマップが設定される。 このメンバの取る値はカラーマップの ID か None である。 map_installed メンバはカラーマップが現在インストールされているかどうか を示す。このメンバの取る値は、 True か False である。 map_state メンバはウィンドウの状態を示し、 IsUnmapped, IsUnviewable, IsViewable のいずれかの値を取る。 IsUnviewable は、そのウィンドウ自体はマップされているが祖先ウィンドウにマップされて いないものがある場合に使用される。
all_event_masks メンバは、そのウィンドウ上で選択しているイベントマスク を全てのクライアントについてビットごとの論理和を取ったものである。 your_event_mask メンバは問い合わせをしたクライアントが選択している全て のイベントマスクの論理和を取ったものである。 do_not_propagate_mask メンバは、伝播してはならないイベントの集合につい てビットごとの論理和を取ったものである。
override_redirect メンバは、このウィンドウがウィンドウ構成の制御を無視 するかどうかを指定する。このメンバの取る値は True か False である。 このメンバが True ならば、ウィンドウマネージャはそのウィンドウを無視すべきである。
screen メンバには、正しいスクリーンを指すバックポインタを与える スクリーンへのポインタが設定される。 これにより、ルートウィンドウのフィールドを使ったループでマッチする フィールドを探すことなく、容易にスクリーン情報を取得することができる。
返り値
- BadDrawable
- 引き数 Drawable の値が、定義されている Window か Pixmap を指していない。
- BadWindow
- 引き数 Window の値が、定義されている Window を指していない。