XDestroySubwindows(3) ウィンドウの破棄

Other Alias

XDestroyWindow

書式

XDestroyWindow(display, w)

      Display *display;

      Window w;

XDestroySubwindows(display, w)

      Display *display;

      Window w;

引き数

display
X サーバへの接続を指定。
w
ウィンドウを指定。

説明

関数 XDestroyWindow は指定したウィンドウとその全てのサブウィンドウを破棄する。 これにより、X サーバは各ウィンドウに対して DestroyNotify イベントを生成する。 このウィンドウは二度と参照してはならない。 引き数 w で指定したウィンドウがマップされている場合、このウィンドウは自 動的にアンマップされる。 DestroyNotify イベントの順序は、与えられた任意のウィンドウを破棄できるようなものであ り、 DestroyNotify は自分自身のウィンドウの前に下位ウィンドウに対して生成される。 それ以外の兄弟ウィンドウやサブヒエラルキーの間の順序には制約はない。 指定したウィンドウがルートウィンドウの場合には、(下位ウィンドウも含め て)破棄されるウィンドウはない。 ウィンドウがマップされている場合、破棄される前に隠していた他のウィンド ウで Expose イベントが起きる。

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

関数 XDestroySubwindows は、指定したウィンドウの下位ウィンドウ全てをスタックの底から上に向かう 順で破棄する。 これにより、X サーバは各ウィンドウに対して DestroyNotify イベントを生成する。 マップされているサブウィンドウが実際に破棄された場合、 XDestroySubwindows は指定したウィンドウ上での Expose イベントを X サーバに生成させる。 これは、多くのウィンドウを1つずつ消すよりもずっと効率的である。 処理の多くは各ウィンドウに対して行わなくても、ウィンドウ全てに対して1 度だけ行えばよいからである。 破棄されたサブウィンドウは、二度と参照してはならない。

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

返り値

BadWindow
引き数 Window が、定義された Window を指していない。