Window XCreateSimpleWindow(display, parent, x, y, width, height, border_width,
border, background)
Display *display;
Window parent;
int x, y;
unsigned int width, height;
unsigned int border_width;
unsigned long border;
unsigned long background;
座標系はX軸が水平方向、Y軸が垂直方向であり、左上隅が原点[0, 0]である。 座標は整数で、ピクセルが基準であり、ピクセルの中心と一致する。 各ウィンドウとピックスマップは自分自身の座標系を持つ。 ウィンドウについては、原点は左上隅の境界の内側である。
InputOnly のウィンドウの場合は border_width は 0 でなければならない。 そうでない場合、エラー BadMatch となる。 InputOutput クラスの場合、スクリーンに対してビジュアル型と深さの組み合わせが サポートされていなければならない。そうでない場合には、エラー BadMatch となる。 深さは親ウィンドウと同じである必要は無いが、親ウィンドウのクラスは InputOnly であってはならない。そうでない場合、エラー BadMatch となる。 InputOnly のウィンドウは深さが 0 でなければならず、スクリーンがサポートしている ビジュアルでなければならいない。 いずれかの条件が満たされない場合、エラー BadMatch となる。 しかし、親ウィンドウは任意の深さとクラスを持つことが考えられる。 ウィンドウに対して不正なウィンドウ属性を指定した場合、エラー BadMatch となる。
生成されたウィンドウは、その時点ではディスプレイに表示(マップ)されない。 ウィンドウを表示するには、 XMapWindow を呼び出す。 新しいウィンドウは初期状態では親ウィンドウと同じカーソルを使用する。 新しいウィンドウに新しいカーソルを定義する時は、 XDefineCursor を使う。 生成されたウィンドウは全ての祖先ウィンドウがマップされ、自身が祖先ウィ ンドウの陰に隠されないようになるまではスクリーンに表示されない。
XCreateWindow はエラー BadAlloc, BadColor, BadCursor, BadMatch, BadPixmap, BadValue, BadWindow を起こすことがある。
関数 XCreateSimpleWindow は指定した親ウィンドウに対して、マップされていない InputOutput のサブウィンドウを作り、そのウィンドウIDを返す。また、X サーバに CreateNotify イベントを生成させる。 生成されたウィンドウは兄弟ウィンドウに対してスタックの最も上に配置され る。 親ウィンドウの外にはみ出る部分は全てクリップされる。 InputOnly のウィンドウの border_width は 0 でなければならない。そうでない場合に は、エラー BadMatch となる。 XCreateSimpleWindow は親ウィンドウより深さ、クラス、ビジュアルを継承する。 これ以外のウィンドウ属性は、背景色を除いて全てデフォルト値になる。
XCreateSimpleWindow はエラー BadAlloc, BadMatch, BadValue, BadWindow を起こすことがある。
#define | CWBackPixmap |
(1L<<0)
|
#define | CWBackPixel |
(1L<<1)
|
#define | CWBorderPixmap |
(1L<<2)
|
#define | CWBorderPixel |
(1L<<3)
|
#define | CWBitGravity |
(1L<<4)
|
#define | CWWinGravity |
(1L<<5)
|
#define | CWBackingStore |
(1L<<6)
|
#define | CWBackingPlanes |
(1L<<7)
|
#define | CWBackingPixel |
(1L<<8)
|
#define | CWOverrideRedirect |
(1L<<9)
|
#define | CWSaveUnder |
(1L<<10)
|
#define | CWEventMask |
(1L<<11)
|
#define | CWDontPropagate |
(1L<<12)
|
#define | CWColormap |
(1L<<13)
|
#define | CWCursor |
(1L<<14)
|
typedef struct { Pixmap background_pixmap; unsigned long background_pixel; Pixmap border_pixmap; unsigned long border_pixel; int bit_gravity; int win_gravity; int backing_store; unsigned long backing_planes; unsigned long backing_pixel; Bool save_under; long event_mask; long do_not_propagate_mask; Bool override_redirect; Colormap colormap; Cursor cursor; } XSetWindowAttributes;
この構造体のメンバの詳しい説明については Xlib - C Language X Interface を参照すること。