38#ifndef nsplugindefs_h___
39#define nsplugindefs_h___
41#if defined(XP_OS2) || defined(__OS2__)
53# include <Carbon/Carbon.h>
56#if defined(XP_UNIX) && defined(MOZ_X11)
58# include <X11/Xutil.h>
96#define NS_INFO_ProductVersion 1
97#define NS_INFO_MIMEType 2
98#define NS_INFO_FileOpenName 3
99#define NS_INFO_FileExtents 4
102#define NS_INFO_FileDescription 5
103#define NS_INFO_ProductName 6
106#define NS_INFO_CompanyName 7
107#define NS_INFO_FileVersion 8
108#define NS_INFO_InternalName 9
109#define NS_INFO_LegalCopyright 10
110#define NS_INFO_OriginalFilename 11
117#if !defined(__LP64__)
118#if defined(XP_MAC) || defined(XP_MACOSX)
119#pragma options align=mac68k
123typedef const char* nsMIMEType;
150enum nsPluginCallbackType {
151 nsPluginCallbackType_SetWindow = 1,
152 nsPluginCallbackType_Print
155struct nsPluginAnyCallbackStruct {
160struct nsPluginSetWindowCallbackStruct {
168struct nsPluginSetWindowCallbackStruct {
174struct nsPluginPrintCallbackStruct {
184enum nsPluginVariable {
185 nsPluginVariable_NameString = 1,
186 nsPluginVariable_DescriptionString = 2
189enum nsPluginManagerVariable {
190 nsPluginManagerVariable_XDisplay = 1,
191 nsPluginManagerVariable_XtAppContext = 2,
192 nsPluginManagerVariable_SupportsXEmbed = 14
195enum nsPluginInstanceVariable {
196 nsPluginInstanceVariable_WindowlessBool = 3,
197 nsPluginInstanceVariable_TransparentBool = 4,
198 nsPluginInstanceVariable_DoCacheBool = 5,
199 nsPluginInstanceVariable_CallSetWindowAfterDestroyBool = 6,
200 nsPluginInstanceVariable_ScriptableInstance = 10,
201 nsPluginInstanceVariable_ScriptableIID = 11,
202 nsPluginInstanceVariable_NeedsXEmbed = 14,
203 nsPluginInstanceVariable_WantsAllNetworkStreams = 18
205 , nsPluginInstanceVariable_DrawingModel = 20
207 , nsPluginInstanceVariable_WindowlessLocalBool = 21
211typedef nsPluginInstanceVariable nsPluginInstancePeerVariable;
217 nsPluginMode_Embedded = 1,
222enum nsPluginStreamType {
223 nsPluginStreamType_Normal = 1,
224 nsPluginStreamType_Seek,
225 nsPluginStreamType_AsFile,
226 nsPluginStreamType_AsFileOnly
233enum nsPluginWindowType {
234 nsPluginWindowType_Window = 1,
235 nsPluginWindowType_Drawable
240typedef WindowRef nsPluginPlatformWindowRef;
242#ifndef NP_NO_QUICKDRAW
243struct nsPluginPortQD {
249typedef RgnHandle nsPluginRegionQD;
252struct nsPluginPortCG {
253 CGContextRef context;
257typedef CGPathRef nsPluginRegionCG;
259typedef union nsPluginPort {
260#ifndef NP_NO_QUICKDRAW
261 nsPluginPortQD qdPort;
263 nsPluginPortCG cgPort;
266typedef void* nsPluginRegion;
268#elif defined(XP_WIN) || defined(XP_OS2)
271typedef HRGN nsPluginRegion;
272typedef HWND nsPluginPlatformWindowRef;
274#elif defined(XP_UNIX) && defined(MOZ_X11)
277typedef Region nsPluginRegion;
278typedef Drawable nsPluginPlatformWindowRef;
283typedef void* nsPluginRegion;
284typedef void* nsPluginPlatformWindowRef;
289 nsPluginPort* window;
298#if defined(XP_UNIX) && !defined(XP_MACOSX)
301 nsPluginWindowType type;
305 PRBool pluginPrinted;
330 nsPluginPlatformWindowRef window;
347#elif defined(XP_UNIX) && defined(MOZ_X11)
357 nsPluginReason_Base = 0,
358 nsPluginReason_Done = 0,
359 nsPluginReason_NetworkErr,
360 nsPluginReason_UserBreak,
361 nsPluginReason_NoReason
372#define nsMajorVersion(v) (((PRInt32)(v) >> 16) & 0xffff)
373#define nsMinorVersion(v) ((PRInt32)(v) & 0xffff)
375#define nsVersionOK(suppliedV, requiredV) \
376 (nsMajorVersion(suppliedV) == nsMajorVersion(requiredV) \
377 && nsMinorVersion(suppliedV) >= nsMinorVersion(requiredV))
379#define NP_POPUP_API_VERSION 16
393#if !defined(__LP64__)
394#if defined(XP_MAC) || defined(XP_MACOSX)
395#pragma options align=reset
Plugin Tag Info Interface This interface provides information about the HTML tag on the page.