0

Mac用の古い画像表示プラグインを書き直そうとしています。古いバージョンはQuickDraw(古いと言った)とリソース(本当に本当に古い)を使用しているため、Firefox 3.6では機能しません(これが私が書き直している理由です)

私はいくつかのObjectiveCを知っているので、新しいMacルーチンやペン先などを使用して、これを共同で書き直すつもりだと思います。しかし、開始方法がわかりません。mozillaソースに付属しているBasicPluginの例があるので、エントリポイントなどを使用してプラグインを作成する方法を知っています。ただし、nibを作成する方法、およびObj-Cをエントリポイントとインターフェイスする方法がわかりません。等

BasicPlugin.bundleよりも高度なMac用サンプルを知っている人はいますか?(できれば、それを見て理解できるほど単純なものが望ましいです...)

ありがとう。

4

1 に答える 1

2

悲しいことに、私は良い「中級」の例を本当に知りません。ただし、Obj-Cの統合はそれほど難しくありません。したがって、以下は、実行する必要があることの簡単な概要です。

同じプロジェクトでObj-CソースとC/C ++ソースを使用できますが、ある程度分離しておくことをお勧めします。これは、たとえば、エントリポイントおよびその他のNPAPIインターフェイスを含むソースファイルをプレーンなCまたはC ++ファイルのままにし、そこからプラグインへの呼び出しを転送することで実行できます。
不透明なポインタは、きれいな分離を維持するのに役立ちます。たとえば、ここを参照してください。

プラグインの主な変更点には、さまざまな描画モデルとイベントモデルへの切り替えが含まれます。NPP_New()これらはでネゴシエートする必要がありますこれが図面モデルの例です。Cocoaを使用し、64ビット環境をサポートするには、 Cocoaイベントモデルを使用する必要があります。

NSGraphicsContext UI要素を描画するには、からを使用してからCGContextRefNSView 、コンテキストでを描画できる必要があります。この投稿とそのフォローアップで提供される詳細も参照してください。

于 2010-02-19T02:04:01.687 に答える