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

オーバーレイとアンダーレイの構造

アンダーレイの 8 ビット疑似カラー画像は、ピクセルがフレームバッファーの赤のチャネルに格納されるため、8R 画像と呼ばれます。また、オーバーレイの 8 ビットの疑似カラーは X チャネルに格納されるため、8X 画像と呼ばれます。

オーバーレイ画像のウィンドウ上のピクセルは、アンダーレイ画像のウィンドウ上のピクセルに影響しません。ただし、アンダーレイ画像のウィンドウ上のピクセルは、オーバーレイ画像のウィンドウ上のピクセルに影響します。これは、アンダーレイウィンドウが BGR チャネル (あるいは R チャネルだけ) に依存するカラーデータであるのに、X チャネル上に WID 情報も持っているためです。x11 expose event (障害) の発生の原因となります。

オーバーレイウィンドウがアンダーレイウィンドウに遮断されている場合、アンダーレイデータの WID 部分によってオーバーレイウィンドウのカラーデータが破壊されてしまいます。アンダーレイウィンドウが再び取り除かれると、x11 expose event がオーバーレイウィンドウの破壊された部分に送り出されます。これは、互いに干渉しないアンダーレイとオーバーレイを備えた ZX アクセラレータとは異なります。Creator アクセラレータの 8 ビットのアンダーレイのウィンドウ上のピクセルは、24 ビットのアンダーレイのウィンドウ上のピクセルに影響します。

Creator アクセラレータは、X チャネルアーキテクチャーに従います。このアーキテクチャーでは、8X プレーングループ表示に使用されていない色のピクセル値とコードを、アンダーレイ画像のピクセル表示を操作するウィンドウ ID として使用します。

Creator 3D シリーズ 3 には、ZX アクセラレータと同様の非干渉型のオーバーレイとアンダーレイを持つ拡張オーバーレイモードが備えられています。このモードが有効になると、WID プレーングループは X またはオーバーレイチャネルを共有しなくなるため、x11 expose event (障害) は発生しなくなります。

maxwids とは、オーバーレイのピクセル値をハードウェアウィンドウ ID として、どの程度使用するかを特定する ffbconfig(1M) 設定オプションです。詳細は、「ハードウェアのウィンドウ ID」を参照してください。maxwids の最小値は 1、デフォルト値は 32 です。オーバーレイ画像は、通常のカラーマップのエントリ数が 256 より少ないため、部分画像となります。この画像のカラーマップに、クライアントが指定されたカラーマップエントリの数以上のピクセル値で描画すると、エラーは発生しませんが、表示された色の定義はされません。