Solaris X Window System 開発ガイド

親子モデル

すべての透過性およびオーバーレイの設計において、アンダーレイ (下層) が親、オーバーレイが子という単純なモデルを使用することをお勧めします。アンダーレイウィンドウを最初に作成した後、アンダーレイの子としてオーバーレイを作成します。オーバーレイはアンダーレイの唯一の子です。これにより、X サーバーの多くの奇妙な状況が回避され、アンダーレイとオーバーレイの間に誤ってウィンドウが挿入されることがなくなります。

Xlib を使用したり、これらの呼び出しについて独自の XCreateWindow をプログラミングしたりする場合、親と異なるビジュアルを持つウィンドウを作成するときにはクライアントはより多くの情報を提供しなければなりません。ビジュアルがデフォルトのビジュアルでない場合、カラーマップを指定するか、カラーマップが同じ場合は親のビジュアルのカラーマップを子に割り当てなければなりません。デプスが異なる場合は、BorderPixel または BorderPixmap を指定しなければなりません。そうしないと、ウィンドウ作成の結果として BadMatch が返されることがあります。

カラーマップの等価性については、『X Server Device Developer's Guide』を参照してください。