diff options
Diffstat (limited to 'third_party/npapi/bindings/npapi.h')
-rw-r--r-- | third_party/npapi/bindings/npapi.h | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/third_party/npapi/bindings/npapi.h b/third_party/npapi/bindings/npapi.h index 628f00d..aac35e3 100644 --- a/third_party/npapi/bindings/npapi.h +++ b/third_party/npapi/bindings/npapi.h @@ -437,6 +437,15 @@ typedef enum { #endif , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */ #endif +#ifdef PEPPER_APIS_ENABLED + /* + * Note: these APIs have not been ratified by Mozilla, et al. + * Until they are, they need to be distinct values from other enum + * elements here. + */ + , NPNVInitializeRenderContextFunc = 4000 /* A pointer to the InitializeRenderContext function */ + , NPNVFlushRenderContextFunc = 4001 /* A pointer to the FlushRenderContext function */ +#endif } NPNVariable; typedef enum { @@ -607,6 +616,7 @@ typedef enum { NPCoordinateSpaceFlippedScreen } NPCoordinateSpace; +#if !defined(PEPPER_APIS_ENABLED) #if defined(XP_MAC) || defined(XP_MACOSX) #ifndef NP_NO_CARBON @@ -737,6 +747,140 @@ enum NPEventType { #endif /* XP_MACOSX */ +#else // defined(PEPPER_APIS_ENABLED) +typedef enum { + NPMouseButton_None = -1, + NPMouseButton_Left = 0, + NPMouseButton_Middle = 1, + NPMouseButton_Right = 2, +} NPMouseButtons; + +typedef enum { + NPEventType_Undefined = -1, + NPEventType_MouseDown = 0, + NPEventType_MouseUp = 1, + NPEventType_MouseMove = 2, + NPEventType_MouseEnter = 3, + NPEventType_MouseLeave = 4, + NPEventType_MouseWheel = 5, + NPEventType_RawKeyDown = 6, + NPEventType_KeyDown = 7, + NPEventType_KeyUp = 8, + NPEventType_Char = 9, + NPEventType_Minimize = 10, + NPEventType_Focus = 11, + NPEventType_Device = 12 +} NPEventTypes; + +typedef enum { + NPEventModifier_ShiftKey = 1 << 0, + NPEventModifier_ControlKey = 1 << 1, + NPEventModifier_AltKey = 1 << 2, + NPEventModifier_MetaKey = 1 << 3, + NPEventModifier_IsKeyPad = 1 << 4, + NPEventModifier_IsAutoRepeat = 1 << 5, + NPEventModifier_LeftButtonDown = 1 << 6, + NPEventModifier_MiddleButtonDown = 1 << 7, + NPEventModifier_RightButtonDown = 1 << 8 +} NPEventModifiers; + +typedef struct _NPKeyEvent +{ + uint32 modifier; + uint32 normalizedKeyCode; +} NPKeyEvent; + +typedef struct _NPCharacterEvent +{ + uint32 modifier; + uint32 text; + uint32 unmodifiedText; +} NPCharacterEvent; + +typedef struct _NPMouseEvent +{ + uint32 modifier; + int32 button; + int32 x; + int32 y; + int32 clickCount; +} NPMouseEvent; + +typedef struct _NPMouseWheelEvent +{ + uint32 modifier; + float deltaX; + float deltaY; + float wheelTicksX; + float wheelTicksY; + uint32 scrollByPage; +} NPMouseWheelEvent; + +typedef struct _NPDeviceEvent { + uint32 device_uid; + uint32 subtype; + // uint8 generic[0]; +} NPDeviceEvent; + +typedef struct _NPMinimizeEvent { + int32 value; +} NPMinimizeEvent; + +typedef struct _NPFocusEvent { + int32 value; +} NPFocusEvent; + +typedef struct _NPEvent +{ + uint32 size; + int32 type; + double timeStampSeconds; + union { + NPKeyEvent key; + NPCharacterEvent character; + NPMouseEvent mouse; + NPMouseWheelEvent wheel; + NPMinimizeEvent minimize; + NPFocusEvent focus; + NPDeviceEvent device; + } u; +} NPEvent; + +typedef struct _NPRegion +{ + int32 x; + int32 y; + int32 w; + int32 h; +} NPRegion; + +typedef enum _NPRenderType +{ + NPRenderGraphicsRGBA +} NPRenderType; + +typedef struct _NPRenderContext +{ + union { + struct { + void* region; + int32 stride; + } graphicsRgba; + } u; +} NPRenderContext; + +typedef void (*NPFlushRenderContextCallbackPtr)(NPRenderContext* context, + NPError err, + void* userData); +typedef NPError (*NPInitializeRenderContextPtr)(NPP instance, + NPRenderType type, + NPRenderContext* context); +typedef NPError (*NPFlushRenderContextPtr)(NPP instance, + NPRenderContext* context, + NPFlushRenderContextCallbackPtr callback, + void* userData); +#endif // defined(PEPPER_APIS_ENABLED) + /* * Values for mode passed to NPP_New: */ |