« Gecko Plugin API Reference « Plug-in Side Plug-in API
概要
インスタンスにプラットフォーム固有のウィンドウイベントを引き渡します。
- ウィンドウを持つプラグインに対して: 現在 Mac OS でのみ使われています。
- ウィンドウを持たないプラグインに対して: Windows と Mac OS。
文法
#include <npapi.h> int16 NPP_HandleEvent(NPP instance, void* event);
パラメータ
この関数は以下のパラメータを取ります:
- instance
- 現在のプラグインのインスタンスへのポインタ。
- event
- この関数によるイベント処理を表すプラットフォーム特有の値。値:
- MS Windows: NPEvent 構造体へのポインタ
- Mac OS: 標準 Mac OS EventRecord へのポインタ
- MS Windows や Mac OS に対して起こりうるイベントのリストについては、NPEvent を参照してください。
戻り値
- プラグインがイベントを処理するならば、この関数は真を返すべきです。
- プラグインがイベントを無視するならば、この関数は偽を返します。
説明
いつイベントがプラグインウィンドウや描画可能領域で起こったのかをプラグインに告知するために、ブラウザは NPP_HandleEvent
を呼びます。この関数のイベントパラメータで与えられた値によって、プラグインはイベントを処理するか無視します。アプリケーションがプラグインへ引きわたす責任があるイベントの型のリストについては、NPEvent 構造体を参照してください。
MS Windows
ブラウザは個々のウィンドウを持つプラグインに対して、描画するためのネイティブなウィンドウ、しばしばブラウザウィンドウの子ウィンドウを与えます。 プラグインはそのウィンドウ内で描画やイベント処理を完全にコントロールします。
Mac OS
Mac OS プラットフォームは子ウィンドウをサポートしていないので、ブラウザはウィンドウを持つプラグインにネイティブなウィンドウを与えません。変わりに、ウィンドウを持つプラグインは、ブラウザの指定したオフセットで、ブラウザウィンドウに結びつけられたグラフィック部分を描画します。 このため、NPP_HandleEvent
はプラグインが MacOS でホストアプリケーションからイベントを受け取る唯一の方法です。NPP_HandleEvent
が呼ばれたとき、現在のポートはもとのポートがプラグインの左上の角に一致するように設定されます。プラグインはマウスの座標変換のために現在のポートを設定する必要はありません。