0

gnustep 用のウィンドウサーバーを作成するにはどうすればよいですか? 数日、gnustep のソースを読んでいますが、これがどのように機能するのかわかりません。NSApplicationMain() からグラフィカル ユーザー インターフェイスまでの動作を誰か説明してもらえますか? 非常に基本的な WindowServer を実装するには何が必要ですか? 私はこれが非常に大きなトピックであることを知っています。

ありがとう、トミー

4

1 に答える 1

0

GNUstep は、GSDisplayServer と呼ばれる AppKit で独自の半抽象クラスを使用して、X11 や WIN32 などの既存のウィンドウ システムのラッパーを実装します。この WindowServer の設計次第ですが、主に 2 つのことを行う必要があります。最初に、必要な API を提供する独自の WindowServer を実装します (存在する場合、Quartz API ではないでしょうか?)。バックエンドの実装 (GSDisplayServer と NSGraphicsContext のサブクラス化)。しかし、OSX でウィンドウを取得する唯一の方法は、Objective-C を使用せずに OSX でウィンドウを作成するための API がサポートされていないため、NSWindow で Objective-C を使用する必要があることを知っています (私の知識が限られているため、ここで私を修正してくださいGNUstep 側)。したがって、システム上の既存のウィンドウシステムをラップするのではなく、GNUstep 用に WindowServer を実装することはあまり意味がないと思います。しかし、真剣に、X11 はそれほど悪くないので、使用することを強くお勧めします。少なくとも xcb で GNUstep の x11 バックエンドを書き直します。新しいウィンドウ システムを発明することは、時間の大きな無駄です。GNUstep は、あなたが他の分野で時間を割いてくれれば、より多くの恩恵を受けるでしょう。しかし、GNUstep をウィンドウ システムに移植したいだけなら、既存のバックエンドを調べてください。

于 2012-09-22T17:43:08.360 に答える