XConfigureWindow

Section: XLIB FUNCTIONS (3X11)
Updated: Release 6.3
Index xjman/web INDEX
 

名前

XConfigureWindow, XMoveWindow, XResizeWindow, XMoveResizeWindow, XSetWindowBorderWidth, XWindowChanges - ウィンドウの設定、ウィンドウ変更を表す構造体  

書式

XConfigureWindow(display, w, value_mask, values)

      Display *display;

      Window w;

      unsigned int value_mask;

      XWindowChanges *values;

XMoveWindow(display, w, x, y)

      Display *display;

      Window w;

      int xy;

XResizeWindow(display, w, width, height)

      Display *display;

      Window w;

      unsigned int widthheight;

XMoveResizeWindow(display, w, x, y, width, height)

      Display *display;

      Window w;

      int xy;

      unsigned int widthheight;

XSetWindowBorderWidth(display, w, width)

      Display *display;

      Window w;

      unsigned int width;  

引き数

display
X サーバへの接続を指定。
value_mask
構造体の値を使ってセットする対象の値を指定。 このマスクは有効なウィンドウ設定値ビットの論理和である。
values
XWindowChanges 構造体を指定。
w
再設定、移動、サイズ変更するウィンドウを指定。
width
ウィンドウ境界の幅を指定。
width

height
ウィンドウの幅と高さを指定。これはウィンドウの内側のディメンジョンであ る。
x

y
x, y 座標を指定。これはウィンドウの境界の左上の新しい位置を定義するが、 境界を持たないウィンドウの場合はウィンドウ自身の左上の位置を示す。新し い値は親ウィンドウに対する相対座標で表される。
 

説明

関数 XConfigureWindowXWindowChanges 構造体で指定された値を用いて、ウィンドウの大きさ、位置、境界、スタック 順を再設定する。 指定されていない値は、そのウィンドウの現在の現在のジオメトリから求める。

stack_mode 無しで siblng が指定されているか、そのウィンドウが実際には 兄弟ウィンドウでない場合には、エラー BadMatch となる。 BottomIf, TopIf, Opposite の計算は、ウィンドウの最初のジオメトリではなく、( XConfigureWindow に渡された他の引き数に制御された)最終的なジオメトリに関して実行される。 ウィンドウ、下位ウィンドウ、新しく可視状態になったウィンドウのバッキン グストアの内容やは破棄されるか、スクリーンの最新の内容を反映するように 変更される(これは実装による)。

XConfigureWindow はエラー BadMatch, BadValue, BadWindow を起こすことがある。

関数 XMoveWindow は指定したウィンドウを指定した x, y 座標へ移動させる。ただし、ウィンド ウの大きさやマッピングの状態を変更したり、ウィンドウを前面に移動させた りはしない。 マップされたウィンドウを動かすと、ウィンドウが子でないウィンドウに隠さ れているかどうか、バッキングストアが存在するかどうかによってウィンドウ の表示内容が失われることがある。 ウィンドウの表示内容が失われた場合、X サーバは Expose イベントを生成する。 マップされているウィンドウを動かすと、それまでそのウィンドウに隠されて いたウィンドウで Expose イベントが生じる。

ウィンドウの override-redirect フラグが False であり、親ウィンドウで SubstructureRedirectMask を選択している他のウィンドウがある場合、X サーバは ConfigureRequest を生成し、それ以上の処理は行わない。 それ以外の場合は、ウィンドウの移動が起こる。

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

関数 XResizeWindow は指定したウィンドウの、境界を含まない内部のディメンジョンを変更する。 この関数は、ウィンドウの左上の座標や原点を変更しないし、ウィンドウの再 スタックも行わない。 マップされているウィンドウのサイズを変えると表示内容が失われて Expose イベントが生成されることがある。 マップされているウィンドウのサイズを小さくすると、それ以前にこのウィン ドウに隠されていた他のウィンドウで Expose イベントが生成される。

ウィンドウの override-redirect ウィンドウが False であり、親ウィンドウ上で SubstructureRedirectMask を選択している他のクライアントがある場合、X サーバは ConfigureRequest を生成し、それ以上の処理は行わない。 幅と高さのいずれかが 0 の場合、エラー BadValue となる。

XResizeWindow はエラー BadValue, BadWindow を起こすことがある。

関数 XMoveResizeWindow は指定したウィンドウの大きさと位置を変える。 ウィンドウの前面への移動は行わない。 マップされているウィンドウの移動やサイズ変更を行った場合、そのウィンド ウで Expose イベントが起こることがある。 ウィンドウの移動の際のサイズと位置のパラメータによっては、そのウィンド ウに隠されていたウィンドウで Expose が起こることがある。

ウィンドウの override-redirect ウィンドウが False であり、親ウィンドウ上で SubstructureRedirectMask を選択している他のクライアントがある場合、X サーバは ConfigureRequest を生成し、それ以上の処理は行わない。 そうでない場合、ウィンドウのサイズや位置は変化しない。

XMoveResizeWindow はエラー BadValue, BadWindow を起こすことがある。

関数 XSetWindowBorderWidth は指定したウィンドウの境界の幅を指定したサイズにする。

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

構造体

XWindowChanges 構造体の内容を示す。

/* ウィンドウ設定のマスクビット値 */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)


/* Values */

typedef struct {
     int x, y;
     int width, height;
     int border_width;
     Window sibling;
     int stack_mode;
} XWindowChanges;


x, y メンバはウィンドウの x, y 座標をセットするために用いる。 これは親ウィンドウの原点に対する相対座標で、ウィンドウの左上外側の隅の 位置を示す。 width, height メンバはウィンドウの内側の大きさをセットするために用いる。 これは境界は含まない 0 以外の値でなければならず、そうでない場合にはエ ラー BadValue となる。 ルートウィンドウを設定しようとしても何も起こらない。

border_width メンバでは、ウィンドウ境界の幅をピクセル単位で指定する。 境界幅だけをセットすると、ウィンドウ左上外側の隅の位置は変わらないが、 ウィンドウの原点の絶対位置が移動する。 InputOnly のウィンドウの border-width 属性値に 0 でない値をセットしようとした場 合には、エラー BadMatch となる。

sibling メンバには、スタック操作につかう兄弟ウィンドウをセットする。 stack_mode メンバでは、ウィンドウがどのように再スタックされるかを指定 する。指定できる値は Above, Below, TopIf, BottomIf, Opposite. のいずれかである。  

返り値

BadMatch
InputOnly のウィンドウをドロウアブルとして用いた。
BadMatch
引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する 他の条件に適合できなかった。
BadValue
指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。
BadWindow
引き数 Window の値が、定義されている Window を指していない。
 

関連項目

XChangeWindowAttributes(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XMapWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11)
Xlib - C Language X Interface


 

Index

名前
書式
引き数
説明
構造体
返り値
関連項目

This document was created by man2html, using the manual pages.
Time: 15:55:31 GMT, February 12, 2001