24 ビット透過モードでプログラミングを行ってください。デフォルトの画像表示形式が 24 ビットトゥルーカラーの場合は、プログラムは正常に実行されます。
24 ビット透過モードのプログラムが正常に動作しない場合には、いくつかの理由が考えられます。以下に、プログラムを正常に実行するための注意点を示します。
デフォルトの画像表示形式が常に 8 ビット疑似カラーであることを前提にしない。
プログラムによっては、プログラムが 8 ビットだけに対応したシステムから移植され、アップグレードされないために、8 ビットの深さでのみ実行可能なものがあります。また、256 要素の配列でピクセルを格納するプログラムや、カラーマップのダブルバッファリングのために、カラーマップの変更を要求するプログラムもあります。
プログラムが 8 ビット疑似カラーを条件とする場合は、デフォルトの画像表示形式の深さとクラスを確認してください。デフォルトの画像表示形式が 8 ビット疑似カラーでない場合には、画像表示形式のリストを検索するようにしてください。
親ウィンドウのボーダーのピクセルを継承しない。
Creator アクセラレータのような複数のプレーングループを持つ装置では、プログラム中で作成するウィンドウの深さが、親ウィンドウ (通常はルートウィンドウ) の深さに合致しない場合があります。ボーダーのピクセル値を明示的に指定しない場合は、ウィンドウのボーダーのピクセル値には、親ウィンドウの値が継承されます。深さが異なる場合には、XCreateWindow は実行に失敗して BadMatch エラーを表示します。プログラムを実行する場合は、XCreateSimpleWindow ではなく、常に XCreateWindow を使用して、ボーダーのピクセル値を明示的に指定してください。
ウィンドウシステムの "defdepth 8" および "defdepth 24" の両方のモードで、アプリケーションプログラムをテストしてください。