0

NPAPI を使用して safari プラグインを作成しました。プラグインに NSView を追加したいと考えています。

NPWindow throw function NPP_SetWindow(NPP instance, NPWindow* window)を取得しようとすると、2 番目のパラメーターは nil です。

私のプラグインはウィンドウレスだと思いますが、ウィンドウ付きのプラグインを作成する方法がわかりません。

4

1 に答える 1

0

Mac上のNPAPIは、ウィンドウモードとしてNSViewをサポートしていません。サポートされているモードは2つあります。

以前はQuickDrawモードがありましたが、これは非推奨です。

詳細については、このテーマに関するStuartMorganの優れたブログ投稿を参照してください。

NSViewをCoreGraphicsコンテキストにレンダリングすることは可能ですが、すべてのイベントをプロキシする必要があり、完璧にはほど遠いです。

編集:あなたの質問への答えをさらに説明するために、ウィンドウパラメータがNULLである理由(ObjCではなくCapiであるため、nilではなくNULLです...同じものであるにもかかわらず=])はCocoaイベントモデルは、描画イベントの一部としてCGContextRefを取得します。これは、そのイベントのコンテキスト中にのみ有効です。

于 2012-09-19T15:17:27.337 に答える