Sun フレームバッファー使用の手引き

ハードウェアのウィンドウ ID

ピクセルの内容を表示するために、ハードウェアのウィンドウ ID (WID) が必要となります。


注 -

ここで説明するウィンドウ ID と X プロトコルのウィンドウ ID とは異なります。X プロトコルのウィンドウ ID は、ウィンドウを識別する XID です。ハードウェアのウィンドウ ID とは、ウィンドウの外観を操作するフレームバッファーに取り込まれる値です。


オーバーレイのピクセルコードには、可視的な色を表示する不透明なピクセルとして使用されるものがあります。それ以外のオーバーレイのピクセルコードは、アンダーレイのウィンドウの表示属性を制御するために使用されます。このコードは、ハードウェアのウィンドウ ID (WID) と見なされます。カラーマップの上位のコード (255 に近いコード) のいくつかは、WID として使用されます。WID の実際の数は、ffbconfig -maxwids オプションによって設定することができます。WID として使用されるオーバーレイコード 1 つにつき、オーバーレイのカラーマップのエントリ数が 1 つ減少します。maxwids のデフォルト値は 32 のため、オーバーレイには 224 の不透明なピクセルの値が存在します。

ハードウェア WID のうちの 1 つは、常にデフォルトの画像表示形式のウィンドウ用に確保されます。それ以外の WID は、以下のウィンドウに優先度に基づいて割り当てられます。

デフォルト以外の画像表示形式のウィンドウは、同一の画像表示形式の他のウィンドウとWID を共有することができます。ただし、ダブルバッファーのウィンドウは、固有の WID を持つウィンドウのように、常に固有の WID を要求します。

上記のようなウィンドウを作成した場合には、作成可能な別の種類のウィンドウの数が減少してしまいます。使用可能なすべての WID が割り当てられてしまうと、XCreateWindow の呼び出しは失敗し、BadAlloc のエラーメッセージが表示されます。

maxwids には、2n (1、2、4、8、16、32) を指定してください。デフォルトの値は 32 です。

maxwids の値を小さくすることにより、オーバーレイの不透明なカラーピクセルの数が増加しますが、ユーザーが作成可能な XGL、ダブルバッファー、デフォルト以外の画像表示形式のウィンドウの数は減少することになります。