2

一種の Motif GUI デザイン ツールに取り組んでいます。プロパティの変更、ウィジェットの追加/削除、ウィジェットの移動などをプログラムで行った後、現在のウィンドウの状態を示す Motif ウィンドウのスクリーンショットをキャプチャします。参考までに、ウィンドウの Xlib サーフェスを png としてキャプチャするために cairo 2d を使用しています。

ほとんどの場合、これで問題なく動作しますが、UI の更新が完了する前にウィンドウ キャプチャが発生することがあります。特に、ウィジェットのフォントを変更したり、グラフィック ラベルのピックスマップを変更したりするときに、これに時々気付きました。

サーフェスをキャプチャする前に、ウィンドウが新しい状態の描画を完了するまで待ちたいと思います。

どうすれば確実にそれを行うことができますか? 再描画の前に Xlib 公開イベントが発生するようです。また、PropertyChange イベントがあることがわかりますが、ドキュメントには、描画に関していつ発生するかについては何も記載されていません。

4

0 に答える 0