XMapWindow(3X11)

名前
XMapWindow, XMapRaised, XMapSubwindows - ウィンドウをマップする

書式
XMapWindow(display, w)
      Display *display;
      Window w;

XMapRaised(display, w)
      Display *display;
      Window w;

XMapSubwindows(display, w)
      Display *display;
      Window w;

引き数

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

w   ウィンドウを指定。

説明
関数 は指定したウィンドウをマップする。同時に、そのウィンドウのサブウィンド ウで既にマップリクエストを受けているものも全てマップする。 アンマップされている祖先を持つウィンドウをマップしても表示されない。し かし、その祖先がマップされた時に表示される資格を持つものと印がつけられ る。 このようなウィンドウを表示不可能(unviewable)であると言う。 全ての祖先がマップされている時、そのウィンドウは表示可能になり、他のウィ ンドウに隠されていなければスクリーン上で見えるようになる。 ウィンドウが既にマップされている場合、この関数は何もしない。

指定したウィンドウの override-redirect 属性が で、かつその親ウィンドウで他のクライアントが を選択している場合には、X サーバは イベントを生成し、 関数 はウィンドウをマップしない。 それ以外の場合には、ウィンドウはマップされ、X サーバは イベントを生成する。

そのウィンドウが表示可能になり、以前の表示内容が記憶されていない場合に は、 X サーバはその部分を背景色で塗りつぶす。 ウィンドウの背景色が定義されていない場合、スクリーンに表示されている内 容は変化せず、X サーバは0個以上の イベントを生成する。 ウィンドウがアンマップされている間もバッキングストアが保持されていれば、 イベントは生成されない。 これ以降バッキングストアが保持されるならば、ウィンドウ全体の露出イベン トは必ず生成される。 そうでない場合には、可視領域だけが通知される。 同様の塗りつぶしと露出は新しく表示可能になった下位ウィンドウの全てにつ いて行われる。

ウィンドウが のウィンドウであれば、 は表示される ウィウドウのそれぞれに対して イベントを発生させる。 クライアントがマップ動作とウィンドウの描画を行い、イベントの処理も始め ると、ウィンドウは2度描画される。 これを避けるためには、最初に イベントの問い合わせをしてからウィンドウをマップすればよい。そうすれば クライアントは入力イベントを普通に処理する。 イベントリストはスクリーンにあらわれた各ウィンドウに対する を持つ。 クラアントは イベントを受け取った場合、通常はウィンドウの再描画を行うべきである。 通常はこうすることでプログラムが簡単になり、ウィンドウマネージャとも適 切なやりとりができる。

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

関数 は、指定したウィンドウと全てのサブウィンドウ(既にマップリクエストを受 け取っているもの)をマップする点において と本質的に同じである。 ただし、この関数は指定したウィンドウをウィンドウスタックの先頭に上昇さ せる。

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

関数 は、指定したウィンドウのサブウィンドウ全部を上から下のスタック順にマップする。 X サーバは新しく表示されたウィンドウのそれぞれに イベントを発生させる。 これは多くのウィンドウを1つずつマップするよりもずっと効率的である。な ぜなら X サーバは、全てのウィンドウを相手に処理を一度だけ行うだけで済 み、各々のウィンドウひとつひとつに対応しなくてよいからである。

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

返り値

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

関連項目
XChangeWindowAttributes(3X11), XConfigureWindow(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11)
Xlib - C Language X Interface