Solaris X Window System 開発ガイド

サーバーオーバーレイと透明オーバーレイ

オーバーレイウィンドウに透明なピクセルを描画する場合、2 つの API を使用できます。透明オーバーレイ拡張機能は Sun 独自の方法で X Window System にオーバーレイ機能を提供します。透明オーバーレイは、ハードウェアのオーバーレイサポートがない場合でもオーバーレイ機能を提供できます。ハードウェアがサポートしている場合には、サーバーオーバーレイというもう 1 つの方法を使用できます。

透明オーバーレイ拡張機能は完全な X 拡張機能で、透過性の効果を得るために拡張機能を呼び出す必要があります。この方法は確実であり、ハードウェアが実際にオーバーレイをサポートしていない場合でも、ほとんどのシステムで透過性をエミュレートできます。しかし、ハードウェアでサポートされていない場合には、透明なウィンドウの操作は非常に遅くなります。

サーバーオーバーレイは X 拡張機能ではなく、代わりに API が X クライアントに対して、オーバーレイであるビジュアルと、透過性のために使用するピクセル値を判断するための方法を提供します。この API はハードウェアサポートを必要とします。

透明オーバーレイ拡張機能およびサーバーオーバーレイは同じスクリーン上で使用できますが、同じウィンドウ内で使用しないでください。結果は未定義となります。サーバーオーバーレイ専用に設計されたビジュアル内で透明オーバーレイウィンドウを作成しようとすると、BadMatch が発生します。透明オーバーレイでは、適切な手順に従ってパートナオーバーレイビジュアルを特定することによりこれを回避できます。第 6 章「透明オーバーレイウィンドウ」を参照してください。