⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 npapi.h

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * The drawing model for a Mac OS X plugin.  These are the possible values for the NPNVpluginDrawingModel variable. */ typedef enum {#ifndef NP_NO_QUICKDRAW    NPDrawingModelQuickDraw = 0,#endif    NPDrawingModelCoreGraphics = 1,    NPDrawingModelOpenGL = 2,    NPDrawingModelCoreAnimation = 3} NPDrawingModel;/* * The event model for a Mac OS X plugin. These are the possible values for the NPNVpluginEventModel variable. */typedef enum {#ifndef NP_NO_CARBON    NPEventModelCarbon = 0,#endif    NPEventModelCocoa = 1,} NPEventModel;typedef enum {    NPCocoaEventDrawRect = 1,    NPCocoaEventMouseDown,    NPCocoaEventMouseUp,    NPCocoaEventMouseMoved,    NPCocoaEventMouseEntered,    NPCocoaEventMouseExited,    NPCocoaEventMouseDragged,    NPCocoaEventKeyDown,    NPCocoaEventKeyUp,    NPCocoaEventFlagsChanged,    NPCocoaEventFocusChanged,    NPCocoaEventWindowFocusChanged,    NPCocoaEventScrollWheel,} NPCocoaEventType;typedef struct _NPNSString NPNSString;typedef struct _NPNSWindow NPNSWindow;typedef struct _NPNSMenu NPNSMenu;typedef struct _NPCocoaEvent {    NPCocoaEventType type;    uint32 version;        union {        struct {            uint32 modifierFlags;            double pluginX;            double pluginY;                        int32 buttonNumber;            int32 clickCount;            double deltaX;            double deltaY;            double deltaZ;        } mouse;        struct {            uint32 modifierFlags;            NPNSString *characters;            NPNSString *charactersIgnoringModifiers;            NPBool isARepeat;            uint16 keyCode;        } key;        struct {            double x;            double y;            double width;            double height;        } draw;        struct {            NPBool hasFocus;        } focus;            } data;} NPCocoaEvent;#endiftypedef struct _NPWindow{    void*    window;     /* Platform specific window handle */    int32    x;            /* Position of top left corner relative */    int32    y;            /*    to a netscape page.                    */    uint32    width;        /* Maximum window size */    uint32    height;    NPRect    clipRect;    /* Clipping rectangle in port coordinates */                        /* Used by MAC only.              */#ifdef XP_UNIX    void *    ws_info;    /* Platform-dependent additonal data */#endif /* XP_UNIX */    NPWindowType type;    /* Is this a window or a drawable? */} NPWindow;typedef struct _NPFullPrint{    NPBool    pluginPrinted;    /* Set TRUE if plugin handled fullscreen */                            /*    printing                             */    NPBool    printOne;        /* TRUE if plugin should print one copy  */                            /*    to default printer                     */    void*    platformPrint;    /* Platform-specific printing info */} NPFullPrint;typedef struct _NPEmbedPrint{    NPWindow    window;    void*    platformPrint;    /* Platform-specific printing info */} NPEmbedPrint;typedef struct _NPPrint{    uint16    mode;                        /* NP_FULL or NP_EMBED */    union    {        NPFullPrint     fullPrint;        /* if mode is NP_FULL */        NPEmbedPrint    embedPrint;        /* if mode is NP_EMBED */    } print;} NPPrint;#ifdef XP_MACOSXtypedef NPNSMenu NPMenu;#elsetypedef void * NPMenu;#endif#if defined(XP_MAC) || defined(XP_MACOSX)#ifndef NP_NO_CARBONtypedef EventRecord    NPEvent;#endif#elif defined(XP_WIN)typedef struct _NPEvent{    uint16   event;    uint32   wParam;    uint32   lParam;} NPEvent;#elif defined (XP_UNIX)typedef XEvent NPEvent;#elsetypedef void*            NPEvent;#endif /* XP_MAC */#if defined(XP_MAC)typedef RgnHandle NPRegion;#elif defined(XP_MACOSX)/*  * NPRegion's type depends on the drawing model specified by the plugin (see NPNVpluginDrawingModel). * NPQDRegion represents a QuickDraw RgnHandle and is used with the QuickDraw drawing model. * NPCGRegion repesents a graphical region when using any other drawing model. */typedef void *NPRegion;#ifndef NP_NO_QUICKDRAWtypedef RgnHandle NPQDRegion;#endiftypedef CGPathRef NPCGRegion;#elif defined(XP_WIN)typedef HRGN NPRegion;#elif defined(XP_UNIX)typedef Region NPRegion;#elsetypedef void *NPRegion;#endif /* XP_MAC */#ifdef XP_MACOSX/*  * NP_CGContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelCoreGraphics * as its drawing model. */typedef struct NP_CGContext{    CGContextRef context;#ifdef NP_NO_CARBON    NPNSWindow *window;#else    void *window; // Can be either an NSWindow or a WindowRef depending on the event model#endif} NP_CGContext;/*  * NP_GLContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelOpenGL as its * drawing model. */typedef struct NP_GLContext{    CGLContextObj context;#ifdef NP_NO_CARBON    NPNSWindow *window;#else    void *window; // Can be either an NSWindow or a WindowRef depending on the event model#endif} NP_GLContext;#endif /* XP_MACOSX */#if defined(XP_MAC) || defined(XP_MACOSX)/* *  Mac-specific structures and definitions. */#ifndef NP_NO_QUICKDRAW/*  * NP_Port is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelQuickDraw as its * drawing model, or the plugin does not specify a drawing model. * * It is not recommended that new plugins use NPDrawingModelQuickDraw or NP_Port, as QuickDraw has been * deprecated in Mac OS X 10.5.  CoreGraphics is the preferred drawing API. * * NP_Port is not available in 64-bit. */ typedef struct NP_Port{    CGrafPtr     port;        /* Grafport */    int32        portx;        /* position inside the topmost window */    int32        porty;} NP_Port;#endif /* NP_NO_QUICKDRAW *//* *  Non-standard event types that can be passed to HandleEvent */#define getFocusEvent        (osEvt + 16)#define loseFocusEvent        (osEvt + 17)#define adjustCursorEvent   (osEvt + 18)#endif /* XP_MAC *//* * Values for mode passed to NPP_New: */#define NP_EMBED        1#define NP_FULL         2/* * Values for stream type passed to NPP_NewStream: */#define NP_NORMAL        1#define NP_SEEK         2#define NP_ASFILE        3#define NP_ASFILEONLY        4#define NP_MAXREADY    (((unsigned)(~0)<<1)>>1)#if !defined(__LP64__)#if defined(XP_MAC) || defined(XP_MACOSX)#pragma options align=reset#endif#endif /* __LP64__ *//*----------------------------------------------------------------------*//*             Error and Reason Code definitions            *//*----------------------------------------------------------------------*//* *    Values of type NPError: */#define NPERR_BASE                            0#define NPERR_NO_ERROR                        (NPERR_BASE + 0)#define NPERR_GENERIC_ERROR                    (NPERR_BASE + 1)#define NPERR_INVALID_INSTANCE_ERROR        (NPERR_BASE + 2)#define NPERR_INVALID_FUNCTABLE_ERROR        (NPERR_BASE + 3)#define NPERR_MODULE_LOAD_FAILED_ERROR        (NPERR_BASE + 4)#define NPERR_OUT_OF_MEMORY_ERROR            (NPERR_BASE + 5)#define NPERR_INVALID_PLUGIN_ERROR            (NPERR_BASE + 6)#define NPERR_INVALID_PLUGIN_DIR_ERROR        (NPERR_BASE + 7)#define NPERR_INCOMPATIBLE_VERSION_ERROR    (NPERR_BASE + 8)#define NPERR_INVALID_PARAM                (NPERR_BASE + 9)#define NPERR_INVALID_URL                    (NPERR_BASE + 10)#define NPERR_FILE_NOT_FOUND                (NPERR_BASE + 11)#define NPERR_NO_DATA                        (NPERR_BASE + 12)#define NPERR_STREAM_NOT_SEEKABLE            (NPERR_BASE + 13)/* *    Values of type NPReason: */#define NPRES_BASE                0#define NPRES_DONE                    (NPRES_BASE + 0)#define NPRES_NETWORK_ERR            (NPRES_BASE + 1)#define NPRES_USER_BREAK            (NPRES_BASE + 2)/* *      Don't use these obsolete error codes any more. */#define NP_NOERR  NP_NOERR_is_obsolete_use_NPERR_NO_ERROR#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK/* * Version feature information */#define NPVERS_HAS_STREAMOUTPUT     8#define NPVERS_HAS_NOTIFICATION     9#define NPVERS_HAS_LIVECONNECT        9#define NPVERS_WIN16_HAS_LIVECONNECT    9#define NPVERS_68K_HAS_LIVECONNECT    11#define NPVERS_HAS_WINDOWLESS       11#define NPVERS_HAS_XPCONNECT_SCRIPTING    13  /* Not implemented in WebKit */#define NPVERS_HAS_NPRUNTIME_SCRIPTING    14#define NPVERS_HAS_FORM_VALUES            15  /* Not implemented in WebKit; see bug 13061 */#define NPVERS_HAS_POPUPS_ENABLED_STATE   16  /* Not implemented in WebKit */#define NPVERS_HAS_RESPONSE_HEADERS       17#define NPVERS_HAS_NPOBJECT_ENUM          18#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19#define NPVERS_HAS_ALL_NETWORK_STREAMS    20#define NPVERS_HAS_URL_AND_AUTH_INFO      21#define NPVERS_HAS_PRIVATE_MODE           22#define NPVERS_MACOSX_HAS_EVENT_MODELS    23#define NPVERS_HAS_CANCEL_SRC_STREAM      24/*----------------------------------------------------------------------*//*             Function Prototypes                *//*----------------------------------------------------------------------*/#if defined(_WINDOWS) && !defined(WIN32)#define NP_LOADDS  _loadds#else#define NP_LOADDS#endif#ifdef __cplusplusextern "C" {#endif/* * NPP_* functions are provided by the plugin and called by the navigator. */#ifdef XP_UNIXchar*                    NPP_GetMIMEDescription(void);#endif /* XP_UNIX */NPError     NPP_Initialize(void);void        NPP_Shutdown(void);NPError     NP_LOADDS    NPP_New(NPMIMEType pluginType, NPP instance,                                uint16 mode, int16 argc, char* argn[],                                char* argv[], NPSavedData* saved);NPError     NP_LOADDS    NPP_Destroy(NPP instance, NPSavedData** save);NPError     NP_LOADDS    NPP_SetWindow(NPP instance, NPWindow* window);NPError     NP_LOADDS    NPP_NewStream(NPP instance, NPMIMEType type,                                      NPStream* stream, NPBool seekable,                                      uint16* stype);NPError     NP_LOADDS    NPP_DestroyStream(NPP instance, NPStream* stream,                                          NPReason reason);int32        NP_LOADDS    NPP_WriteReady(NPP instance, NPStream* stream);int32        NP_LOADDS    NPP_Write(NPP instance, NPStream* stream, int32 offset,                                  int32 len, void* buffer);void        NP_LOADDS    NPP_StreamAsFile(NPP instance, NPStream* stream,                                         const char* fname);void        NP_LOADDS    NPP_Print(NPP instance, NPPrint* platformPrint);int16            NPP_HandleEvent(NPP instance, void* event);void        NP_LOADDS    NPP_URLNotify(NPP instance, const char* url,                                      NPReason reason, void* notifyData);jref        NP_LOADDS            NPP_GetJavaClass(void);NPError     NPP_GetValue(NPP instance, NPPVariable variable,                                     void *value);NPError     NPP_SetValue(NPP instance, NPNVariable variable,                                     void *value);/* * NPN_* functions are provided by the navigator and called by the plugin. */void        NPN_Version(int* plugin_major, int* plugin_minor,                            int* netscape_major, int* netscape_minor);NPError     NPN_GetURLNotify(NPP instance, const char* url,                                 const char* target, void* notifyData);NPError     NPN_GetURL(NPP instance, const char* url,                           const char* target);NPError     NPN_PostURLNotify(NPP instance, const char* url,                                  const char* target, uint32 len,                                  const char* buf, NPBool file,                                  void* notifyData);NPError     NPN_PostURL(NPP instance, const char* url,                            const char* target, uint32 len,                            const char* buf, NPBool file);NPError     NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);NPError     NPN_NewStream(NPP instance, NPMIMEType type,                              const char* target, NPStream** stream);int32        NPN_Write(NPP instance, NPStream* stream, int32 len,                          void* buffer);NPError     NPN_DestroyStream(NPP instance, NPStream* stream,                                  NPReason reason);void        NPN_Status(NPP instance, const char* message);const char*    NPN_UserAgent(NPP instance);void*        NPN_MemAlloc(uint32 size);void        NPN_MemFree(void* ptr);uint32        NPN_MemFlush(uint32 size);void        NPN_ReloadPlugins(NPBool reloadPages);JRIEnv*     NPN_GetJavaEnv(void);jref        NPN_GetJavaPeer(NPP instance);NPError     NPN_GetValue(NPP instance, NPNVariable variable,                             void *value);NPError     NPN_SetValue(NPP instance, NPPVariable variable,                             void *value);void        NPN_InvalidateRect(NPP instance, NPRect *invalidRect);void        NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);void        NPN_ForceRedraw(NPP instance);void        NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);void        NPN_PopPopupsEnabledState(NPP instance);void        NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData);uint32      NPN_ScheduleTimer(NPP instance, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID));void        NPN_UnscheduleTimer(NPP instance, uint32 timerID);NPError     NPN_PopUpContextMenu(NPP instance, NPMenu* menu);#ifdef __cplusplus}  /* end extern "C" */#endif#endif /* _NPAPI_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -