1

それぞれが異なるテクノロジの GUI を持つ複数のアプリケーションがあります。

私はこれをする必要があります -

 1. Create n layers, one for each application, onto which applications draw.
 2. Have a layer manager which can perform operations on each of these layers
    (like re sizing, changing opacity etc. ) and then combine them to form a 
    single layer. 

誰かが私がこれをどのように進めるべきかについて考えを教えてもらえますか? これに役立つ可能性のある API は何ですか? Googleで何を検索すればよいのか本当にわかりません。

実装言語: C++

プラットフォーム: Linux

また、これらの要件をプラットフォームに依存しない方法で実装できるかどうかを知りたいですか?

4

1 に答える 1

1

私があなたの質問を正しく理解したなら、あなたはある種の単純なウィンドウマネージャーが欲しいでしょう。

その場合は、xlibの使用を避け、QX11EmbedContainerを使用してください。ウィンドウを埋め込んだり、特定のコンテナを表示/非表示にするだけでレイヤーを形成したりするのはかなり簡単ですか。

これはプラットフォームに依存しないソリューションである必要があります(異なるハードウェアで動作する必要がありますが、Linux以外のOSでは動作しません)。


すでにQX11EmbedContainerを使用していて、xlibのみ(c ++で)を使用するように要求されているため、XReparentWindowDisplay関数を使用する必要があります。これは、xlib標準の第9.1章で説明されています(ここで調べることができます)。使い方はかなり簡単なはずです。

于 2012-04-09T05:57:24.023 に答える