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 構造体を指定する。 マスク値 valuemask の指定に従って、この構造体から値が取り出される。 マスク値は、構造体に設定されているどの値を取り出すかを示す適切な ビットを持っていなければならない。

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

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

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

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

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

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

w   ウィンドウを指定する。

colormap
    カラーマップを指定する。

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

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

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

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

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

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

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

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

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

関数 は、指定したピックスマップをウィンドウの境界ピックスマップ に設定する。 境界ピックスマップは、もう明示的に参照されることがなければ、すぐに解放 してよい。 を指定した場合は、親ウィンドウの境界ピックスマップのコピーが使われる。 ウィンドウに対してこの操作を行うと、エラー となる。

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

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

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

返り値

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

クライアントが読み取り専用のカラーマップのエントリーに値を格納しようと
    した。

引き数 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