XReparentWindow(3X11)

名前
XReparentWindow - ウィンドウの親を変更する

書式
XReparentWindow(display, w, parent, x, y)
      Display *display;
      Window w;
      Window parent;
      int x, y;

引き数

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

parent
    親ウィンドウを指定する。

w   ウィンドウを指定。

x

y   新しい親ウィンドウ内での位置の x, y 座標を指定する。

説明
指定したウィンドウがマップされている場合、 はこのウィンドウに対して自動的に を実行してから、このウィンドウをウィンドウ階層内の現在位置より取り除き、 そして指定した親ウィンドウの子として挿入する。 このウィンドウは兄弟ウィンドウに対するスタック順が一番上となるように 配置される。

指定したウィンドウの親を変えた後、 は X サーバに イベントを生成させる。 このイベントで返される override_redirect メンバには、ウィンドウの override_redirect 属性が設定される。 このメンバに が設定されている場合、ウィンドウマネージャは普通はこのウィンドウを無視 すべきである。 最後に、もし指定したウィンドウが最初からマップされていれば、X サーバは このウィンドウに対して自動的に リクエストを実行する。

以前に他のウィンドウに隠されていたウィンドウに対しては、X サーバは通常 の露出(exposure)の処理を実行する。 直前の リクエストによって隠蔽された、最初の リクエストが示す領域に対しては X サーバは イベントを生成しない。 エラー は以下の場合に起こる。

•   新しい親ウィンドウが古い親ウィンドウと同じスクリーン上にない。

•   新しい親ウィンドウが指定したウィンドウ自身かその下位ウィンドウである。

•   新しい親ウィンドウが であり、かつ移動するウィンドウが でない。

•   指定したウィンドウが の背景を持つが、新しい親ウィンドウと指定したウィンドウの深さが異なる。

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

返り値

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

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