1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #include "nsISupports.h" 7 #include "nsPoint.h" 8 9 #define NS_IPLUGINWIDGET_IID \ 10 { \ 11 0xEB9207E0, 0xD8F1, 0x44B9, { \ 12 0xB7, 0x52, 0xAF, 0x8E, 0x9F, 0x8E, 0xBD, 0xF7 \ 13 } \ 14 } 15 16 class nsIPluginInstanceOwner; 17 18 /** 19 * This is used by Mac only. 20 */ 21 class NS_NO_VTABLE nsIPluginWidget : public nsISupports { 22 public: 23 NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPLUGINWIDGET_IID) 24 25 NS_IMETHOD GetPluginClipRect(nsIntRect& outClipRect, nsIntPoint& outOrigin, 26 bool& outWidgetVisible) = 0; 27 28 NS_IMETHOD StartDrawPlugin(void) = 0; 29 30 NS_IMETHOD EndDrawPlugin(void) = 0; 31 32 NS_IMETHOD SetPluginInstanceOwner( 33 nsIPluginInstanceOwner* pluginInstanceOwner) = 0; 34 35 NS_IMETHOD SetPluginEventModel(int inEventModel) = 0; 36 37 NS_IMETHOD GetPluginEventModel(int* outEventModel) = 0; 38 39 NS_IMETHOD SetPluginDrawingModel(int inDrawingModel) = 0; 40 41 NS_IMETHOD StartComplexTextInputForCurrentEvent() = 0; 42 }; 43 44 NS_DEFINE_STATIC_IID_ACCESSOR(nsIPluginWidget, NS_IPLUGINWIDGET_IID) 45