XChangeWindowAttributes(3X11)

名前
XChangeWindowAttributes, XSetWindowBackground, XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap, XSetWindowColormap - ウィンドウ属性を変更

書式
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;

XSetWindowColormap(display, w, colormap)
      Display *display;
      Window w;
      Colormap colormap;

引き数

attributes
    XSetWindowAttributes 構造体を指定。valuemasuk の指定に従って、この構造 体から値が取り出される。 マスク値は、構造体にセットされているどの値を取り出すかを示す適切なビッ トを持っていなければならない。

background_pixel
    背景色のピクセルを指定。

background_pixmap
    背景のピックスマップ、 のいずれかを指定。

border_pixel
    カラーマップ内のエントリーを指定。

border_pixmap
    境界のピックスマップか を指定。

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

valuemask
    引き数 attribute のどのウィンドウ属性が定義されているかを指定。 マスクは正しいマスクビット値のビットごとの論理和を取ったものである。 valuemask がゼロならば属性は無視され、参照されない。

w   ウィンドウを指定。

colormap
    カラーマップを指定。

説明
関数 は、引き数 valuemask に従って 構造体のウィンドウ属性を使って、指定したウィンドウの属性を変更する。 背景色を変更しても、ウィンドウの表示内容は変更されない。 ウィンドウとその背景を再描画するには を使用すること。 境界のタイリングの原点が変わるような境界の設定や背景色の設定をすると、 境界は再描画される。 ルートウィンドウの背景を か に設定すると、背景はデフォルトの背景ピックスマップに戻る。 ルートウィンドウの境界を に変更すると、境界はデフォルトの境界ピックスマップに戻る。 win-gravity 値の変更は、ウィンドウの現在位置には影響を与えない。 他のウィンドウに隠されているウィンドウの backing-store 値の や への変更や、マップされているウィンドウの backing-planes 値、 backing-pixel 値, save-under 値の変更の影響はすぐには現れない。 ウィンドウのカラーマップの変更(つまり新しいカラーマップの定義であり、 既に存在するカラーマップの内容の変更ではない)は イベントを起こす。 可視のウィンドウのカラーマップの変更の効果はすぐには現れない。これは、 カラーマップがインストールされていないからである( を参照すること)。 ルートウィンドウのカーソルを に設定した場合、カーソルはデフォルトのものに戻る。 クライアントは可能な限りカラーマップを共有することが望ましい。

複数のクライアントが、同じウィンドウで入力を選択することができる。 この場合のイベントマスクは別個に管理される。 あるイベントが生成されたとき、これはそのイベントに関係する全てのクライ アントに送られる。 しかし、 は同時に1つのクライアントだけしか選択できない。 あるクライアントがこれらのイベントマスクを選択しようとしたときに、他の クライアントがすでにこれを選択していた場合は、エラー となる。 1つのウィンドウに対して、伝播させないイベントを指定するマスクが1つだけ 存在する。これはクライアントごとに1つではない。

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

関数 は、指定したピクセル値をウィンドウの背景にセットする。 背景の変更によりウィンドウの内容が変化することはない。 は指定したピクセル値で塗りつぶされた未定義サイズのピックスマップを使用 する。 のウィンドウの背景を変更しようとした場合は、エラー となる。

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

関数 はウィンドウの背景ピックスマップに、指定したピックスマップをセットする。 背景ピックスマップは、明示的な参照がそれ以上なされないことがわかった時 点で、すぐに解放してよい。 が指定された場合、親ウィンドウの背景ピックスマップか使われる。ルートウィ ンドウの場合には、背景ピックスマップはデフォルトのものに戻る。 のウィンドウの背景を変更しようとした場合は、エラー となる。 背景に がセットされている場合、ウィンドウの背景は定義されていない。

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

関数 は、ウィンドウの境界に指定したピクセル値をセットする。 のウィンドウに対してこの操作を行った場合は、エラー となる。

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

関数 はウィンドウの境界ピックスマップに指定したピックスマップをセットする。 境界ピックスマップへの明示的な参照がなくなれば、すぐにこのピックスマッ プを解放することができる。 を指定した場合、親ウィンドウの境界ピックスマップのコピーが使われる。 この操作を に対して行った場合はエラー となる。

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

関数 は指定したウィンドウに指定したカラーマップをセットする。 カラーマップはウィンドウと同じビジュアルタイプでなければならない。 そうでない場合には、エラー となる。

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

返り値

クライアントがアロケートされていないカラーマップを解放しようとした。

クライアントがリードオンリーのカラーマップのエントリーに値を入れようとし
    た。

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

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

引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する
    他の条件に適合できなかった。

のウィンドウがこの属性をロックしている。

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

指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対
    して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。

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

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