Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XConfigureWindow(3X11)

XCreateWindow(3X11)

XDestroyWindow(3X11)

XInstallColormap(3X11)

XMapWindow(3X11)

XRaiseWindow(3X11)

XUnmapWindow(3X11)

XChangeWindowAttributes(3X11)  —  NEWS-OS Programmer’s Manual

名称

XChangeWindowAttributes, XSetWindowBackground, XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap − ウィンドウ属性を変更す る

形式

XChangeWindowAttributes(display, w, valuemask, attributes)
      Display ∗display;
      Window w;
      unsigned long valuemask;
      XSetWindowAttributes ∗attributes; XSetWindowBackground(display, w, background_pixel)
      Display ∗display;
      Window w;
      unsigned long background_pixel; XSetWindowBackgroundPixmap(display, w, background_pixmap)
      Display ∗display;
      Window w;
      Pixmap background_pixmap; XSetWindowBorder(display, w, border_pixel)
      Display ∗display;
      Window w;
      unsigned long border_pixel; XSetWindowBorderPixmap(display, w, border_pixmap)
      Display ∗display;
      Window w;
      Pixmap border_pixmap;

引数

attributes値(値マスクが指定した)がとられる構造体を指定します。この値マスク は、その構造体のどの属性がセットされたかを示すよう、設定された適切な ビットをもたなければなりません。

background_pixel
バックグラウンドのため使用されるピクセルを指定します。

background_pixmap
バックグラウンドピクスマップ、 ParentRelative または None を指定します。

border_pixelカラーマップにエントリを指定します。

border_pixmap
ボーダピクスマップ、または CopyFromParent を指定します。

displayX サーバへのコネクションを指定します。

valuemaskattributes 引数で、どの引数を定義するかを指定します。 このマスクは、値属性マスクビットの論理和です。値マスクが 0 であれば、 属性は無視され、参照されません。

wウィンドウを指定します。

解説

値マスクに応じて XChangeWindowAttributes 関数は、 XSetWindowAttributes 構造体の中のウィンドウ属性を使用し、指定されたウィンドウ属性を変更し ます。 バックグラウンドを変更しても、ウィンドウ内容は変更されません。 ウィンドウとそのバックグラウンドをペイントし直すには、 XClearWindow を使用します。ボーダタイル原点が変わるように境界を設定するか、または バックグラウンドを変更すると、境界はペイントし直されます。ルートウィ ンドウのバックグラウンドを None または ParentRelative に変更すると、デフォルトのバックグラウンドピクスマップが復元します。 ルートウィンドウのボーダを CopyFromParent に変更すると、デフォルトの境界ピクスマップが復元します。 win-gravity を変更しても、ウィンドウの現在の位置には影響はありません。 隠されたウィンドウのバッキングストアを WhenMapped または Always に変更するか、またはマッピングされたウィンドウの backing-planes, backing-pixel または save-under を変更しても、すぐには影響を与えない ことがあります。 ウィンドウのカラーマップを変更すると(すなわち、既存のマップの内容を変更せずに、新しいマップを定義する)、 ColormapNotify イベントが発生します。 ビジブルウィンドウのカラーマップを変更しても、スクリーンにすぐには影 響を与えないことがあります。 なぜなら、マップがインストールされないことがあるからです。( XInstallColormap 参照)。 ルートウィンドウのカーソルを None に変更すると、デフォルトのカーソルが復元します。 可能であれば、カラーマップを共用するようお勧めします。 複数のクライアントが、同じウィンドウで入力を選択することができます。 イベントマスクは、別々に維持されます。イベントが発生した場合、そのイ ベントは興味をもつすべてのクライアントに通知されます。 ただし、 SubstructureRedirectMask, ResizeRedirectMask および ButtonPressMask については、一度に 1 クライアントだけが選べます。 クライアントがこれらのイベントマスクのどれかを選ぼうとしたとき、他の あるクライアントがすでにこれを選んでいれば、 BadAccess エラーが生じます。 1 クライアントについてひとつではなく、 1 ウィンドウについてひとつの do-not-propagate- マスクしかありません。 XChangeWindowAttributes は、 BadAccess、 BadColor、 BadCursor、 BadMatch、 BadPixmap、 BadValue および BadWindow エラーを生じることがあります。 XSetWindowBackground 関数は、ウィンドウのバックグラウンドを指定されたピクセル値に設定しま す。バックグラウンドを変更しても、ウィンドウの内容は変更されません。 XSetWindowBackground は、渡されたピクセル値でフィルされた未定義のサイズのピクスマップを使 用します。 InputOnly ウィンドウのバックグラウンドを変更しようとすると、 BadMatch エラーが生じます。 XSetWindowBackground は、 BadMatch および BadWindow エラーを生じることがあります。 XSetWindowBackgroundPixmap 関数は、ウィンドウのバックグラウンドピクスマップを指定された、ピクス マップに設定します。その後バックグラウンドピクスマップに対する明示的 な参照が行われなければ、それは直ちに解放することができます。 ParentRelative が指定された場合、ウィンドウの親のバックグラウンドピクスマップを使用 するか、またはルートウィンドウの場合、デフォルトのバックグラウンドが 復元されます。 InputOnly ウィンドウのバックグラウンドを変更しようとすると、 BadMatch エラーが生じます。 バックグラウンドを None に設定した場合、ウィンドウのバックグラウンドは定義されません。 XSetWindowBackgroundPixmap は、 BadMatch、 BadPixmap および BadWindow エラーを生じることがあります。 XSetWindowBorder 関数は、ウィンドウのボーダを指定されたピクセル値に設定します。 InputOnly ウィンドウでこれを行おうとすると、 BadMatch エラーが生じます。 XSetWindowBorder は、 BadMatch および BadWindow エラーを生じることがあります。 XSetWindowBorderPixmap 関数は、ウィンドウのボーダピクスマップを指定されたピクスマップに設定 します。その後ポーダーピクスマップに対する明示的な参照が行われなけれ ば、それは直ちに解放することができます。 CopyFromParent を指定すると、親ウィンドウのボーダピクスマップのコピーが使用されま す。 InputOnly ウィンドウでこれを行おうとすると、 BadMatch エラーが生じます。 XSetWindowBorderPixmap は、 BadMatch、 BadPixmap および BadWindow エラーが生じることがあります。

診断

BadAccess
 
クライアントがまだ割り当てられていない、カラーマップエントリを解放しよ うとした。

BadAccess クライアントがリードオンリカラーマップエントリにストアしようとした。

BadColor Colormap 引数の値が、定義された Colormap を指さない。

BadCursor Cursor 引数の値が、定義された Cursor を指さない。

BadMatch ある引数、またはひと組の引数の型と範囲は正しいが、リクエストにより要 求されたその他のなにかが一致しない。

BadMatch InputOnly ウィンドウが、この属性をロックする。

BadPixmap
Pixmap 引数の値が、定義された Pixmap を指さない。

BadValue ある数値が許容範囲を超えた。引数の値の範囲が明示されない限り、引数の 型によって決まる最大の範囲まで指定可能です。オルタネイト選択形式の 引数も、このエラーを生じることがあります。

BadWindow
Window 引数の値が、定義された Window を指さない。

関連事項

XConfigureWindow(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XInstallColormap(3X11), XMapWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026