IT用語集 › インフラ › ドローアブル (Drawable, X11)

ドローアブル (Drawable, X11)

インフラ Svenska → 更新: 2026-10-22

Xプロトコルで「描画できるもの」を総称する名前。ウィンドウもピクスマップも、すべての描画リクエストで同じように扱われる。

X11は、見えるものと描く場所を分けている。ウィンドウは画面上の面で、位置、重ね順、イベントを持つ。ピクスマップはサーバー内のメモリのかたまりで、そのどれも持たない。それでも PolyLine、FillRectangle、PutImage、CopyArea などすべての描画リクエストは対象としてドローアブルだけを取り、プロトコルはどちらの種類が来ても気にしない。だからダブルバッファリングを手作業でできる。ピクスマップに描いてからウィンドウにコピーすればよい。条件は、ドローアブルとグラフィックスコンテキストの深さが一致し、両者が同じスクリーンに属し、ウィンドウがInputOutputクラスであることだ。イベントを拾うためだけに存在するInputOnlyウィンドウに描こうとすると、BadMatch が返る。

この仲間は時間とともに増えた。Composite拡張はリダイレクトされたウィンドウを裏でピクスマップにし、XCompositeNameWindowPixmap がそれを渡すので、コンポジットウィンドウマネージャはウィンドウをテクスチャとして描ける。XRenderは Picture をドローアブルの上に重ね、GLXはウィンドウ・ピクスマップ・pbufferのために GLXDrawable を持ち、CairoのXバックエンドは引数としてドローアブルを取る。Xlibでは型は単なるリソースIDなので、ドローアブルとは結局、送った番号がサーバーの描画できる何かを指しているという約束にすぎない。Waylandには相当物がない。そこではクライアントが完成したバッファを送り、サーバーは誰のためにも描かない。

← 用語集に戻る