Mozilla 開発者のドキュメントには次のように書かれています。
ウィンドウズ
プラグインは WM_PAINT メッセージを受け取ります。WM_PAINT の lParam パラメーターは、更新領域の境界ボックスを指定するRECT 構造体へのポインターを保持します。ただし、一部のプラグインは、このペイント矩形を無視し、代わりに常にプラグイン ウィンドウ全体を更新することを選択します。また、プラグインとブラウザーは同じ HDC を共有するため、プラグインは現在の設定を HDC に保存し、独自の環境をセットアップして描画し、HDC を以前の設定に復元する必要があります。NPP_HandleEvent から戻る前、または描画関連のブラウザー側メソッドを呼び出す前に、コントロールがブラウザーに戻るたびに、HDC 設定を復元する必要があります。
これはクライアント RECT である必要がありますか?
RECT r;
GetClientRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);
またはウィンドウのRECT?
RECT r;
GetWindowRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);