0

私は軽量の GUI ツールキットに取り組んでいます。X11 (xlib)、Win32、および非常に初歩的な GUI サポートを備えたその他のシステムで簡単に移植できるように設計されています。

私の知る限り、主に 2 つのアーキテクチャが考えられます。

  1. OS が提供する Windows サービス (Linux では X11、Win32 では通常の Windows) を使用します。このアプローチでは、すべてのコントロールがその親と同じウィンドウ オブジェクトです。OSからイベントを受け取って処理したり、独自の描画面などを持っています。

  2. トップ レベル ウィンドウ (メイン アプリケーション ウィンドウ、ダイアログ ボックスなど) にのみ OS 提供のウィンドウを使用する。すべての子ウィンドウは、親ウィンドウの表面に単純に描画されます。この場合、ツールキットは親子関係を管理する必要があり、イベントはメイン ウィンドウによってのみ受信され、コントロールにディスパッチされる必要があります。

広く普及している GUI ツールキットを使用する亜種は? Q?wxウィジェット? FLTK? その他?なぜ彼らはこのアプローチを選択するのでしょうか?

結果の GUI ツールキットのサイズと速度に、両方のバリアントがどのように関連していますか?

4

1 に答える 1

1

まだコメントはできませんが、今すぐ X に移行しないことを強くお勧めします。2 年以内に Wayland (または Mir かもしれません) が Linux のメイン レンダリング マネージャーになるでしょう。

そして、最初のアプローチの主な問題は次のとおりだと思います。

  • 両方のシステム (X と Win32 (そして、OS X 用の Cocoa ではないのはなぜですか?)) の完全な知識を得る必要があります。
  • X がどこかで実装の詳細を少し変更した場合、これを考慮してコードを変更する必要がありますが、トップレベルのもののみを使用する場合、変更される可能性は低くなります。
  • 大量のコード重複が存在する可能性があります (例: Win32 および X のチェックボックスの処理...)
于 2013-07-21T04:45:03.133 に答える